Skip to main content
Skip table of contents


The basic building blocks of the interface are called portlets.  They may be declarative portlets (also known as MDA or Model Driven Architecture portlets), AFL portlets using AFL JavaScript libraries, or portlets built using any other platform that can produce HTML, CSS, and JavaScript.  Portlets get their data through the integration layer which in turn calls the logic of the business model, usually using model services.  They are usually hosted in the NexJ Portal but may also be surfaced in other portal servers.  Portals receive and communicate their context and events over the context bus.

All user interactions go through the integration layer and the security and business logic of the business model.

NexJ Portal

Using portals allows for easier integration with external systems and third-party portlets, and provide rich context sharing between portlets. They are responsive and can display configurable workspace layouts by role or by line of business.

Declarative portlets

Recurring UI patterns are found throughout business application design; for example, list, detail, banner, and pickers. The MODL platform declarative approach to design provides a consistent way to support these patterns. Declaring what you want the solution to do–and not how–frees the designer from low-level implementation complexity. The "what"–your design–is declared in design elements, properties, and script. Model Server provides the "how" in appropriately rendered HTML, CSS, and JavaScript for the target device and browser.

These portlets are declared at design time and deployed with the solution. They provide easy direct access and binding to the business model. Declarative portlets allow for fast development of common UI patterns, such as lists or queries. They include a rich set of built-in controls and also support custom control development.

Model Description Language UI elements

For more details on using these elements in combination, see the NexJ Style Guide document.  You may also find the UX fundamentals course valuable.

Application Structural Elements

Declares the structure of a portal application. Model Server serves the application at <serverRoot>/ui/portal/<portalName> .

Declares the UI content, layout, and behavior for an application workspace/feature.

Behavioral Structural Elements

Dialogs are similar to Portlets, but are specifically used for creating, editing, and presenting information in a transactional, rather than informational way.

Pickers provide a consistent user experience for selecting associated objects.

Portlet Definition Elements

Portlets are the basic UI building blocks of an application.

Layouts contain user interface controls which display data for viewing, editing, and querying.


Custom control definition.

Filter elements centralize the search configuration for a given class and are used by filter controls to present text search, filter tiles, and filter chips to end users. 

Behavioral Elements

UI Events
A UI event fires when a user performs an action such as pressing a button, selecting an item in a menu or list, or selecting a row in a grid. 

UI Actions
User interface handlers that respond to UI Events in portlets, dialogs, and layouts.

Data Actions
Handlers for changes that occur in an underlying model.

Deprecated elements

You may also see references to:

Used in the Presentation layer. Applications have been replaced with Portals in version 9.X.

Screens group forms together visually and functionally. A screen represents one piece of functionality within an application.

Same as above but uses different properties and content.

Stylesheets contain a set of styles to apply to user interface elements.


Colorsheets are collections of named colors for use by stylesheets. This provides a single place for consistent, system-wide modification of an application's color scheme.

External reports
Pixel-perfect reports built using the TIBCO Jaspersoft Reporting Engine.

These are elements of the "Classic" client framework and are deprecated.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.