]po[ Menu

A "menu" represents a menu tab and sub-menus in the ]po[ application. Also the [report list page] is built using menu items associated with reports.

The decision for a dynamic data-structure for menus was based on the need for extending the menu structure using add-on packages. For example, a human resources modules may want to add a new sub-menu "Employees" in the "Users" main menu to show information about this specific kind of user.

 

You can create new menu items and set permissions for existing menus in the menu maintenance screen.

 

 

Data-Model

We implement configurable menus similar to dynamic views and component plugins by storing all menu information in the database.
CREATE TABLE im_menus (
        menu_id                 integer
                                constraint im_menu_id_pk
                                primary key
                                constraint im_menu_id_fk
                                references acs_objects,
                                -- the name that should appear on the tab
        package_name            varchar(200) not null,
        name                    varchar(200) not null,
        url                     varchar(200) not null,
        sort_order              integer,
                                -- parent_id allows for tree view for navbars
        parent_menu_id          integer
                                constraint im_parent_menu_id_fk
                                references im_menus,
                                -- Make sure there are no two identical
                                -- menus on the same _level_.
                                constraint im_menus_name_un
                                unique(name, parent_menu_id)
);

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com