MinorMenu

The menus (MM) make up the backbone (Main Menu) of Effector`s menu system - the top-level menus. These elements make the distinction between functions that belong together according to a certain consideration or considerations. These considerations may be differences arising from organization structure or function. Each work method must contain at least one screen but typically we organize multiple screens under one MM.

For further information on screens, see the Screens chapter.

Location in the system

Menus may occur in different locations as a reference, generally along with a reference to the screen, creating a unique identifier for the display of the given screen. As seen in the Architecture chapter, one screen may belong to different menus just like in the life of the company sometimes it is necessary to display and manage the same data in different work areas.

The figure below shows its immediate connection to and its location within the system, that correspond to its main task – the formation of the menu system.

MM in the system

The following figure shows its location in the system through its connections with regard to its possible applications.

MM as a reference

Its connection where it is/may be present as a reference

Its location within the file system is in the MM directory inside the given XML package. Due to naming conventions concerning file names, the file`s name must match the name of the MM.

Available functions:

The structure of the menus is relatively simple, so the variety of available functions is also limited, however it plays an important role in the creation of the user interface of Effector.

In an MM XML the following settings are available:

  • Setting the screens of the menu
  • Setting the visibility of the screens of the menu

Example:

<MinorMenu xmlns="http://effector.hu/schema/ns/minormenu">  
    <Menu>
        <Item>
            <Caption>BaseData</Caption>
            <ResourceName>ScreenBaseData</ResourceName>
        </Item>
        <Item>
            <Caption>Admin</Caption>
            <ResourceName>ScreenAdmin</ResourceName>
            <Visible type="Simple" return="boolean">'[##Session.UserID##]'=='1'</Visible>
        </Item>
    </Menu>
</MinorMenu>

Setting the screens of the menu

The structure of the definition file is simple.

Within a MinorMenu, screens are defined by listing items in a <Menu> collection.

The caption to be displayed is entered in the <Caption> tag, while the screen's XML file name is inserted in the <ResourceName> tag.

    <Item>
        <Caption>BaseData</Caption>
        <ResourceName>ScreenBaseData</ResourceName>
    </Item>

Definition:

  • ResourceName: Contains the reference to the screen`s definition. Its value is the name of the screen definition file without extension.
  • Caption: The caption displayed for the screen in the menu system.
  • NewObjectCount: Using an arbitrary SQL statement, data can be displayed next to the name of the screen. It also appears summarized at the menu (so one level up in the menu system).

Regulating the visibility of the screens

It is possible to set a visibility rule for the screens individually in the menu, that will be evaluated upon the construction of the menu. This visibility rule can be defined in the MinorMenu\Menu\Item\Visible node (see the above example) by using a RuleValueType rule that is further discussed in the Rules chapter.

At this point we shall point out that the visibility rules applied on the menus and screens constitute the first step in the creation of user rights. Consequently, data visibility can be restricted on menu or screen level for users not having appropriate user rights due for example to not belonging to a certain group or division.

  • Last update: 19 weeks 3 days ago
  • Effector