What is it for? Where is it stored?
This file creates the connection between the selected database and the XML file defined for the operation of the system.
In this file users can define
- the menu content (specifically, the items of the first menu bar should be listed here)
- the opening screen after log-in
- settings pertaining to the menu
More than one profile may be defined within a single XML package, however, since a DBConnection can refer to only one Profile, a DBConnection should also be generated for each Profile.
Its location in the file system is in the
First level of the menu bar
The items of the first menu bar (Minormenu) should be listed as follows:
Certain menu items should be defined in the
/Profile/Menu collection using the
Item nodes. The menu’s name should be defined in the
ResourceName node, while the value of the
Caption tag will be the label belonging to the menu item.
In the example above, an
Example (MMExample) and a
Dummy (MMDummy) menu item is defined.
A multilingual menu item can be generated as described in the [Multilingualism chapter.
The accessibility of menu items and the parameters of their appearance
It is a recurring request that certain menus should not be accessible by all users. This can be configured with a visibility rule in the given Item node.
Modifying the appearance (background color, font type, font size…) of the menu item is also possibility. It can be done in the MM XML file via the
/Item/CssClass path. Its value must be CSS class describing the formatting rules.
For further information please see Menus.
How do I specify which screen appears after logging in?
The home screen that appears following a successful log-in can be set via the
/Profile/DefaultScreen path. Its value is the relative path of the screen selected as default in
MM/Screen format. For example:
<DefaultScreen type="Constant" return="string" default="">'MMDummy/ScreenDummy'</DefaultScreen>
It is a frequent request that the home screen be different per user (or per group). The DefaultScreen is a Rules type of node, thus we can use a single SQL query to specify the home screen. For example:
<DefaultScreen type="SQL" default="MMPEP/ScreenPEP" return="string">
SELECT CASE WHEN [##Session.UserID##] = 4
In the example above, if the signed-in user’s ID is
4, the query will return the
MMMasterData/ScreenUsers, while for everyone else the default screen will be
Users also have access to the so-called quick launch bar from which arbitrarily configured screens can be opened.
This list can be defined by setting the elements of the
The following example facilitates the change of the signed-in user’s password by displaying the user’s detail form filtered by their own user ID.
<Caption>Quick link to user</Caption>
<Value type="SQL" return="int" default="0"><![CDATA[SELECT TOP 1 ID FROM [User] WITH(NOLOCK) WHERE UserID = `[##Session.UserID##]` AND Deleted = 0 ORDER BY ID DESC]]></Value>
With this method, an arbitrary window can be displayed based on arbitrary filtering conditions, allowing diverse utilization opportunities.
The name of the menu item to be displayed can be defined using the
Caption node, while the screen to be displayed is defined by the
Screen nodes. These refer to the menu and the screen therein in the well-known manner.
The filters to be used can be defined in the
Filters list with the help of the
Filter nodes. The type of given filters is defined as the value of the
Type node, while its ID is defined as the value of the
Name node. A filter’s current value is calculated by the
Value node, which is a
RuleValueType type of rule definition.
The filters defined here will behave the same way as when filtering among components. For further information please refer to the DataDefiniton and filter management chapter.
Further configuration options
Position /type of the main menu
Defining the position of the main menu is also an option. Its possible positions may be:
Top: It is mounted on the upper edge of the screen in two rows. This is the default behavior.
Side: This moves the menu system to the side of the screen.
Compact: This is a fold-away, space-saving setting at the top.
These can be parametrized as the value of the
/Profile/MenuType node, for example:
Disabling skin switching
The Effector framework offers a chance to define several skins or color templates, from which users can choose by clicking on the Effector logo on the screen. This option can be disabled using the
Displaying icons on the primary level of the menu system
By using the
/Profile/ShowMenuIcons node, icons can be displayed on the primary level of the Effector menu system. The node’s value can be
false, it defaults to
false (no icons are displayed).
Setting the Client’s logo
In the menu system, there is a dedicated area for the Client’s logo, which displays the image file defined as the value of the
/Profile/CustomLogoUrl node. If the value of this setting is empty or non-existent, the dedicated area remains hidden in the menu.
Disabling UserProfile modification
By using the
/Profile/IsChangeUserProfileEnabled node, UserProfile modification can be disabled (no such menu is displayed). The node’s value can be
false, it defaults to
User defined menu
In root node of Profile XML user defined menu can be enabled:
In this case the user can modify the menu structure with drag&drop in
Menu settings tab on
Modify user profile.
<?xml version="1.0" encoding="utf-8"?>
<DefaultScreen type="SQL" return="string" default="">SELECT 'MMLicenseHandler/ScreenLHCGroups'</DefaultScreen>