The primary visual component of an application developed by the One Network SDK is the NEO Dashboard. The NEO Dashboard is a centralized user interface that provides services across all modules within your application. In other words, an application may be comprised of multiple modules. Those module's user interfaces are rendered within the NEO Dashboard. The NEO Dashboard provides a number of elements to make a set of modules behave as a single unified application:
Access to Single Sign-On (SSO). The SSO service is designed to allow you to manage user information across modules. SSO is accessed using NEO Dashboard's login screen. For more information on SSO, see the chapter in this Users Guide titled "Single-Sign-On".
Menus. NEO Dashboard displays a menu structure based on the user's access levels and the modules that comprise your solution. These menus are managed by NEO Dashboard using a single XML-based configuration file.
Tabbed View Manager. Module screens are rendered in a tabbed environment allowing users to easily switch between multiple module screens. The tabs are managed automatically by NEO Dashboard.
Access to Common Features. Items that are common across all modules are rendered at the top of the NEO Dashboard screen. Some examples include help, managing multiple user roles, favorites, etc.
Widgets. The SDK provides the ability to develop and display a dashboard-style widget that the user may configure limited by their permissions.
The development of a UI for a module can be broken down into two main topics. First is the UI Meta Model. As you'll see, it's a very powerful XML-based configuration system that lets you customize every aspect of your application's appearance beyond cosmetics. This is to say, the UI Metamodel determines which menu elements appear on the menu, the permissions required to see them, how widgets and dashboards may be rendered, and all other functional aspects of the UI. The UI Metamodel does not specify visual elements such as colors, layout, etc, which are handled using Cascading Style Sheets (CSS).
The second topic of discussion revolves generally around ExtJs, and specifically around the classes in One.Ext - One Network's extensions to ExtJs that allow specific interoperability with One Network services created in Studio.