Effector 6.3 developer manual

XML reference 6.3

Effector Studio 6.3 summary

Effector Studio 6.3 manual

Effector 6.2 developer manual

XML reference 6.0

Effector Studio 3.2 summary

Effector Studio 3.2 manual

Profile

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.

Profile in the system

Its location in the file system is in the Profile directory.

First level of the menu bar

The items of the first menu bar (Minormenu) should be listed as follows:

<Menu>
    <Item>
        <ResourceName>MMExample</ResourceName>
        <Caption>Example</Caption>      
    </Item>
    <Item>
        <ResourceName>MMDummy</ResourceName>
        <Caption>Dummy</Caption>     
    </Item>
</Menu>

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.

<Item>
    <ResourceName>MMAdmin</ResourceName>
    <Caption>Admin</Caption>      
    <Visible type="Simple">'[##Session.UserID##]'=='1'</Visible>      
</Item>

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.

<Item>
    <ResourceName>MMDummy</ResourceName>
    <Caption>Dummy</Caption>
    <CssClass>MMDummyStyle</CssClass>
</Item>

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
        THEN `MMMasterData/ScreenUsers`
        ELSE `MMPEP/ScreenPEP`
        END
</DefaultScreen>

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 MMPEP/ScreenPEP.

Quick launch

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 QuickLaunch/Item collection.

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.

Example:

<QuickLaunch>
    <Item id="1">
        <Caption>Quick link to user</Caption>
        <ReferencedMinorMenu>MMMasterData</ReferencedMinorMenu>
        <Screen>ScreenNewUser</Screen>
        <Filters>
            <Filter>
                <Name>ID</Name>
                <Type>Out</Type>
                <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>
            </Filter>
        </Filters>
    </Item>
</QuickLaunch>

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 ReferencedMinorMenu and 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:

<MenuType>Side</MenuType>

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 /Profile/IsSkinSwitchingEnabled node:

<IsSkinSwitchingEnabled>false</IsSkinSwitchingEnabled>

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 true or false, it defaults to false (no icons are displayed).

<ShowMenuIcons>true</ShowMenuIcons>

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.

<CustomLogoUrl>ui/gfx/Oriana.png</CustomLogoUrl>

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 true or false, it defaults to true.

User defined menu

In root node of Profile XML user defined menu can be enabled:

true

In this case the user can modify the menu structure with drag&drop in Menu settings tab on Modify user profile.

Examples

<?xml version="1.0" encoding="utf-8"?>
<Profile xmlns="http://effector.hu/schema/ns/profile">
    <DefaultScreen type="SQL" return="string" default="">SELECT 'MMLicenseHandler/ScreenLHCGroups'</DefaultScreen>
    <Menu>
        <Item>
            <ResourceName>MMTasks</ResourceName>
            <Caption>Tasks</Caption>
        </Item>
        <Item>
            <ResourceName>MMAdmin</ResourceName>
            <Caption>Admin</Caption>
        </Item>
    </Menu>  
</Profile>

  • Last update: 2 weeks 5 days ago
  • Effector