create an OBEROn application
OBEROn discerns the user interface into two levels:
-
the rough level; it is a common interface and it doesn't depends on the final user presentation
-
the detailed level; it is strictly related to the visualization media and it is based on the transformation of the generic level made by a rendering engine.
The basic element of a generaic OBEROn application is the user menu because it defines most of the actions that a user can perform after the login. The menu structure is a tree where the root represents the application itself. For creating an application menu you have to define all nodes of the menu tree: each node in the tree can be represented with a menu element or a command elements.
Users enabled
to manage Menus (see user
access rights )
can create a new menu instance by clicking the "Add
new Menu" button in the "Context Design" console and compile the relative form.
The equivalent OOQL
command is:
menu
define 'SR_Application' |
|
description 'Main menu'
!hidden isapplication !isportfolio
label 'Support Request' ;' |
You can have three typologies of menus:
portfolio menu: it is the absolute root of a menu tree, it cannot have any parent menu and it represents a set of application-modules (or simply applications)
application menu: defines the application or an application module, it cannot have parent menu except a portfolio menu. This kind of menu is fundamental because it is the reference for all administrative elements of a specific application.
simple menu: is an intermediate node of a menu tree, it can be a child of another menu (simple/application or portfolio) and can have other simple menus or commands as childrens.
For portfolio menu and/or application menu you may define some parameters required for the detailed level of user interface.
In the Enterprise Context Design tool the application menus are displayed with different icons (the admin user can load specific images for them): they add new entries in the navigator panel and you can find under the tree structure only the administrative elements associated with them.
These associations can be created for each single administrative element in the related form or directly inside the application menu form for multiple elements.
The commands are the terminal nodes of the menu tree
and define the menu actions: in particular a command generates a request to perform the action defined in the href parameter.
Users enabled
to manage commands (see user
access rights )
can define a command instance by clicking the "Add
new Command" and compile the relative form.
For example you can may a LogOut command:
The equivalent OOQL
command is:
command define 'SR_LogOut' |
|
description 'Exit application'
label 'LogOut' href 'index.jsp'
!hidden !executable
application 'SR_Application' ; |
If a command is executable, the Href value must include a program name as follow:
<ProgramName>?param1=value1¶m2=value2&.....
For connecting a command or a sub-menu to a parent menu, you have to: open the menu form (double click on the menu object from the working tab or from the administration object tree on the left), go to the "SubMenus / Commands" tab, searching and add them in the order to you want in the user interface.
The same steps can be repeated for the
sub-menu to add a child menu or a command and generate the entire
hierarchy.
After completed the menu structure, you
have to define the user access rights for each command, in other
words, you have to indicate the users that can access to the command
and so execute it. This association can be done by opening the command
form and adding the enabled users / teams / assignments in the "Execute Rights"
tab.
If the user roles are not sufficient to define the correct access for a specific command, it is possble to extend the control by adding an Access program. The java code can perform any check; if it raises an exception the command will not be visible in the user menu tree. At the same time, a sub-menu is not visible if no one of its childrens is visible: the final tree will include only the branches that have at least a valid command.
|