Configuration Guide

Features

Definition

The Feature is the second part to configure in Memority environment.

It allows to manage configured Object Types (Identity, Organization, Resource, Role and Role Publication).

Different types of features

Various types of feature (search, create, read, update, raw update....) are available to manage configured Object Types.

    Configuration

    🎯

    You can access the Feature configuration :

    • by clicking on "Portal" â†’ “Feature Configuration”

    • by clicking on "System" â†’ "Configurations" → "Business Model " and perform an import/export.

    Main properties are:

    • the type of the Feature, which defines the main goal (creating an object, searching for something, etc.)

    • the Object Type concerned by the action (an “employee”, a “vehicle”, etc.)

    • a scope, to eventually specify which object types can be managed.

    • a screen element that defines the user interface for the Feature.

    • an operation (for CRUD actions on objects) and additional Actions (notifications, etc.).

    Mandatory configuration elements

    Domain

    Code

    Version and encoding: each Feature starts by announcing the version and encoding.

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <kit:DataSet 
        xmlns:ctd="http://www.memority.com/citadel/1_0" 
        xmlns:ctdbpmn="http://www.memority.com/citadel/bpmn/1_0" 
        xmlns:ctdbum="http://www.memority.com/citadel/bum/1_0" 
        xmlns:ctdcore="http://www.memority.com/citadel/core/1_0" 
        xmlns:ctdidm="http://www.memority.com/citadel/idm/1_0" 
        xmlns:ctdrule="http://www.memority.com/citadel/rule/1_0" 
        xmlns:ctdtnt="http://www.memority.com/citadel/tnt/1_0" 
        xmlns:kit="http://www.memority.com/toolkit/1_0" 
        xmlns:rule="http://www.memority.com/toolkit/rule/1_0" 
        xmlns:ruleaddon="http://www.memority.com/toolkit/addons/rule/1_0" 
        xmlns:search="http://www.memority.com/toolkit/search-expression/1_0" 
        xmlns:security="http://www.memority.com/toolkit/security/1_0" 
        xmlns:settings="http://www.memority.com/toolkit/addons/settings/1_0" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    </kit:DataSet>
    

    DataSet: each Feature starts by announcing the DataSet.

    Feature Configuration

    This will be detailed in the Feature Configuration section.

    Scope

    This will be detailed in the Scope section.

    Screen

    This will be detailed in the Screen section.

    Operations

    This will be detailed in the Operations section.

    Feature Configuration

    Property name

    Type

    Description

    Values

    id

    String

    The id is the unique identifier of the Feature.
    The id should be explicit for the purpose of the Feature since it will be used in the portal routes URL.

    It is case sensitive and no special characters (except - or _) are allowed.

    -

    name

    String

    The Feature name.

    The name may be different from the identifier.
    Must be at least 4 characters long.

    -

    description

    String

    Used to describe the Feature that will be configured.

    -

    type

    Type

    Used to indicate the Feature type. It must be written in uppercase.

    CREATE, READ, UPDATE, SEARCH, DEDUPLICATION, HUB, BULK, RAW_UPDATE, UI, UI_FOR_OBJECT

    Example
    XML
    <ctdbum:FeatureConfiguration id="user-card-read">
    	<name>name of the feature</name>
    	<description></description>	
    	<type>READ</type>
    </ctdbum:FeatureConfiguration>
    

    Scope

    A Scope describes a restriction on the Object that can be accessed through a Feature. A Scope is evaluated depending on the context, which includes at least the Subject. This means that properties of the logged user can affect how the scope is computed.

    Screen

    In order to compose the Feature, you must configure a Screen.
    This tag is automatically included when the Feature is created.

    If you do not configure a Screen, the Feature should not be usable.

    Operations

    For each Feature, the Operation(s) that can be performed on it must be listed.

    An optional set of Operations that describes the effect of the Feature on the system business (create, update, delete, search, etc…).

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    actions

    action

    NO

    Allows to configure one or several actions (like Button Widget or Groovy action rule for example).

    -

    attributes


    NO

    List of Attributes on which the Operation applies.
    If none is listed then the Operation can apply on all Attributes of the Object.

    Configured Attributes

    attribute

    String

    NO

    Used to indicate the id of the Attribute.

    Configured Attributes

    checkInheritedAttributes

    Boolean

    NO


    -

    attributes


    NO

    List of Attributes on which the check applies.

    Configured Attributes

    attribute

    String

    NO

    Used to indicate the id of the Attribute.

    Configured Attributes

    level

    Enum

    NO

    Used to indicate the allowance level of the Attribute inheritance.

    WARN, DO_NOTHING, FORBID

    requestOptions

    Option

    NO

    List of request options for create or update Features.

    -

    simulate

    Boolean

    NO


    true, false

    failOnFrozen

    Boolean

    NO


    true, false

    refreshRights

    Enum

    NO

    Allows to choose the refresh mode of Role Assignments on an Identity, according to the configured Role Assignment Policies.

    3 values are available:

    • OFF: when modifying an Attribute, there is never a compute.

    • FORCE: when modifying an Attribute, there is always a compute.

    • AUTO: 

      • If the modified Attribute is configured in the Policy, there is a compute.

      • If the modified Attribute is not configured in the Policy, there is no compute.

    Available on update and create Feature.

    OFF, FORCE, AUTO

    activationModes

    -

    NO

    Allows to choose an activation mode for the enabled built-in attribute.

    -

    activationMode

    Enum

    NO

    Used to indicate the activation mode.

    AUTO, ADMIN

    bypassValidation

    Boolean

    NO

    Used to indicate if the update Feature is to be performed with a bypass of all validation rules or not.

    true, false

    bypassReferenceIntegrity

    Boolean

    NO

    Used to indicate if the update Feature is to be performed with a bypass of the reference integrity checks or not.

    true, false

    type

    Enum

    YES

    Used to the indicate operation type.

    CREATE, READ, BULK,HUB, UI, SEARCH, UPDATE, CHANGE_PASSWORD

    workflowStrategy

    FeatureWorkflowStrategy

    NO

    Used to provide the id of a workflow that will be launched when the feature is validated.

    • NoneFeatureWorkflowStrategy (no workflow will be triggered)

    XML
    <workflowStrategy xsi:type="ctdbum:NoneFeatureWorkflowStrategy">
    </workflowStrategy>
    
    • FixedFeatureWorkflowStrategy (a constant workflow will be triggered)

    XML
    <workflowStrategy xsi:type="ctdbum:FixedFeatureWorkflowStrategy">
       <workflowId>myWorkflowId</workflowId>
    </workflowStrategy>
    
    • ScriptFeatureWorkflowStrategy (conditional logic can be used with the operation patch and subject contexts to determine a workflow)

    XML
    <workflowStrategy xsi:type="ctdbum:ScriptFeatureWorkflowStrategy">
       <ruleDefinition>
    	  <script><![CDATA[
    	
    		LOG.info('Original object: ' + OPERATION.originalObject.toString());
    		LOG.info('Requester: ' + ACTORS.requester.id);
    		LOG.info('Feature patch' + OPERATION.objectPatch.toString());
    		
    		return "myWorkflowId";
    		
    		]]></script>
       </ruleDefinition>
    </workflowStrategy>
    
    Example
    XML
          <operations>
             <operation>
                <actions/>
                <attributes/>
                <checkInheritedAttributes>
                   <attributes/>
                   <level>WARN</level>
                </checkInheritedAttributes>
                <type>READ</type>
             </operation>
             <operation>
                <actions/>
                <attributes/>
                <checkInheritedAttributes>
                   <attributes/>
                   <level>WARN</level>
                </checkInheritedAttributes>
                <requestOptions>
                   <failOnFrozen>true</failOnFrozen>
                   <refreshRights>OFF</refreshRights>
                </requestOptions>
                <type>CREATE</type>
             </operation>
          </operations>
    

    Automatically created tags

    When the user creates a Feature, the following tags are created automatically:

    • createdAt

    • updatedAt: added when the user performs an update on the Feature

    • options

      • formLabelOnTop = false

      • pendingOperationBehaviour = WARN

      • submit â†’ reportDisplay = DISPLAY_ALL

    • screen

    • authentication

      • authenticationLevelComparison = MINIMUM

    • operationOnSelf = false

    Optional properties

    Options

    Options types

    On which feature types?

    Mandatory

    deduplication

    DEDUPLICATION

    YES

    initialization

    CREATE, DEDUPLICATION

    NO

    scheduling

    UPDATE

    NO

    formLabelOnTop

    ALL

    NO

    immediateExecution

    CREATE, UPDATE

    NO

    completionRedirectURL

    CREATE, UPDATE

    NO , but advised

    rawUpdate

    RAW_UPDATE

    YES

    pendingOperationBehavior

    CREATE, UPDATE, RAW_UPDATE (if a Workflow is configured on it)

    NO

    submit

    CREATE, UPDATE, RAW_UPDATE

    NO

    Deduplication

    Allows to define which options can be available if duplicates were found.

    If duplicates are found, the list of duplicates is presented to the user with many options for proceeding :

    • Update: This option is not configurable and is always available. Allows to update the selected duplicate.

    • Create anyway: Allows to create the Object even if a duplicate was found.

    • Add as sibling: Allows to create a sibling if a duplicate was found. In this case, it is possible to fill-in non structural Attributes of the Object (structural attributes are displayed in read only). Most notably, the entityId property of the Object will be the same as its sibling.

    A deduplication policy must be configured in order to execute properly the finder duplicates process.
    The configured screen on the Feature must be composed of Attributes that are used on the corresponding deduplication policy for that configured type.

    Properties

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    forceCreation

    Boolean

    YES

    Used to indicate if the user can create the Object even if a duplicate was found. In this case, a "Create anyway" button is displayed.

    Note that this will just result in allowing the user to navigate to a CREATE Feature and ask the deduplication process to be ignored. By default the deduplication will be ignored but one can forbid it on the OPERATION configuration of type CREATE by specifying a "bypassDeduplication" flag to false in its requestOptions.

    true, false

    allowSiblingCreation

    Boolean

    YES

    Used to indicate if the user can create a sibling if a duplicate was found.
    In that case, an "Add as sibling" button is displayed (only if an Object is selected).

    true, false

    columns

    -

    YES

    Used to display the configured Attributes when a duplicate is found.

    If you do not configure a column, the default value is created. You must add <dataKey> and <type> values in order to specify which Attribute(s) will be displayed.

    -

    updateFeature

    String

    YES

    Used to indicate the id of the update Feature to redirect the user if the chosen option is “Update”.

    -

    createFeature

    String

    YES

    Used to indicate the id of the create Feature to redirect the user if the chosen option is “Add as sibling” or “Create anyway”.

    -

    Example
    XML
    <options>
     	<deduplication>
    		<forceCreation>false</forceCreation>      
    		<allowSiblingCreation>false</allowSiblingCreation>
            <columns>
            	<column>
                	<attribute>true</attribute>
                    <dataKey>firstName</dataKey>
                    <dataType>string</dataType>
         			<dateFormat>DAY_MONTH_YEAR_LONG</dateFormat>
                    <ellipsis>false</ellipsis>
                    <hidden>false</hidden>
                    <sortAs>ALPHA</sortAs>
                    <sortDirection>ASC</sortDirection>
                    <sortable>true</sortable>
                    <sorted>false</sorted>
                    <type>general</type>
    			</column>
                <column>
                  	<attribute>true</attribute>
                    <dataKey>lastName</dataKey>
                    <dataType>string</dataType>
          			<dateFormat>DAY_MONTH_YEAR_LONG</dateFormat>
                    <ellipsis>false</ellipsis>
                    <hidden>false</hidden>
                    <sortAs>ALPHA</sortAs>
                    <sortDirection>ASC</sortDirection>
                    <sortable>true</sortable>
                    <sorted>false</sorted>
                    <type>general</type>
                </column>
    		</columns>
            <updateFeature>user-card-update</updateFeature>
            <createFeature>user-card-create</createFeature>
    	</deduplication>						
    </options>
    
    Initialization

    Allows to define some default values for Attributes by using:

    • an initialization Rule defined by a Groovy script

    • a static value described in Attributes part

    The configured screen on the Feature must be composed of Attributes that are used on the initialization option (in READ_WRITE mode).

    Property name

    Type

    Mandatory

    Description

    attributes

    -

    NO

    Allows to declare the values of the Attributes that will be initialized (can only be used for static values).

    entry

    -

    NO

    Allows to declare the value of the Attribute.

    key

    String

    NO

    Used to indicate the id of the Attribute.

    value

    String

    NO

    Used to indicate the static initialization value.

    The value must be compatible with the value type of the Attribute (Boolean, String, Integer...)

    initRule

    Groovy script

    NO

    Allows to configure an initialization rule of type COMPUTE to execute for initializing the value of the Attributes (should only be used if dynamic values are required).
    This rule must return an Api Object containing all Attribute values to be initialized in the model.

    Example

    Initialization with <attributes>

    Initialization with <initRule>

    In this case, the status "ACTIVE" was created automatically when an Objet was created.
    The user can check this in the execution preview.

    XML
    <options>     
    	<initialization>
    		<attributes>
    			<entry>
    				<key>status</key>
    				<value> xsi:type="xs:string">ACTIVE</value>
    			</entry>
            </attributes>
        </initialization>
    </options>
    

    In this case, the status "ACTIVE" was created automatically when an Objet was created.
    The user can check this in the execution preview.

    XML
    <options>         
    	<initialization>
        	<initRule type="COMPUTE" category="OBJECT" engineType="GROOVY">
    			<script><![CDATA[import java.time.temporal.ChronoUnit
                        final def attributes = []					
    					attributes.add(AttributeValue.from("status", "NORMAL"))
    					attributes.add(AttributeValue.from("authMethodPasswordFrom", Instant.now()))
    					new ApiObject(attributes)
    			]]></script>
    		</initRule>
    	</initialization>
    </options>
    
    Scheduling

    Allows to schedule a Feature and to choose the date and time of execution.

    It is impossible to configure a scheduling option on Feature with an Operation type = "CHANGE_PASSWORD".

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    maxDurationDays

    Integer

    NO

    Used to limit the choice of the planned execution date.

    For example: maxDurationDays = 20

    • the user updates the Object on 09.20.2021.

    • then the user will not be able to schedule the execution later than 10.10.2021

    By default, the execution time is equal to the update time.

    The execution is pending and the new value of Attribute will be displayed at the date and time defined by the user.

    0, 1, 2, 3...

    schedulable

    Boolean

    NO

    Used to indicate if the Feature can be scheduled or not.

    By default, the execution time is equal to the update time.

    If the Feature is schedulable:

    • a calendar is displayed and allows to select a date respecting the configured condition (if any).

    • a warning icon is displayed next to the updated Attribute(s) in order to inform that the scheduled operation is pending.

    • the value of Attribute(s) will be updated when the configured date is reached.

    true, false

    Example
    XML
    <options>       
    	<scheduling>
    		<maxDurationDays>20</maxDurationDays>
    		<schedulable>true</schedulable>
    	</scheduling>
    </options>
    
    FormLabelOnTop

    Allows to define where the label of the Attributes will be displayed.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    formLabelOnTop

    Boolean

    NO

    Used to define where the label of the Attributes will be displayed on the whole Feature.

    If false, the label of the Attributes are displayed at the left of the value.
    If true, the label of the Attributes are displayed
    above the value.

    true, false

    Example
    XML
    <options>
    	<formLabelOnTop>false</formLabelOnTop>
    </options>
    
    ImmediateExecution

    Allows to define values for Attributes that will always be executed by using:

    • an execution Rule in defined by a Groovy script

    • a list of Attributes (with corresponding values)

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    displayChanges

    Boolean

    NO

    Allows to display changes after the execution.

    true, false

    attributePatches

    -

    NO

    Allows to list Attribute patches to be performed by the Feature action.

    -

    patch

    -

    NO

    Allows to list Attribute patches to be performed by the Feature action.

    -

    id

    String

    NO

    Used to indicate the id of the Attribute.

    -

    values

    -

    NO

    Allows to configure values of the Attributes patches.

    -

    multiValuedState

    String

    NO

    Used to indicate the static execution value.

    The value must be compatible with the value type of the Attribute (Boolean, String, Integer...)

    UNKNOWN, MONO

    origin

    String

    NO


    INTERNAL, EXTERNAL

    operation

    String

    NO


    ADD, DELETE, REMOVE, SET

    executionRule

    Groovy script

    NO

    Allows to configure an execution rule.
    Use if the execution is more complex than just setting a value on an Attribute.

    -

    Example

    Immediate execution with attribute patch

    Immediate execution with an execution Rule

    XML
    <immediateExecution>
    	<displayChanges>false</displayChanges>
    	<attributePatches>
    		<patch>
    			<id>enabled</id>
    			<values>
    				<value xsi:type="xs:boolean">false</value>
    			</values>
    			<multiValuedState>UNKNOWN</multiValuedState>
    			<origin>EXTERNAL</origin>
    			<operation>SET</operation>
    		</patch>
    	</attributePatches>
    </immediateExecution>
    


    XML
    <options>
    	<immediateExecution>
    		<executionRule>
    		<script><![CDATA[
    			// If crm_activated == true, the user will be enabled
    			// If crm_activated == false, the user will be disabled
    
    			List values = new ArrayList()
    			values.add(OBJECT.crm_activated)
    			AttributePatch attrPatch = AttributePatch.setValues("enabled", values)
    			List patchList = new ArrayList()
    			patchList.add(attrPatch)
    			return patchList
    		]]></script>
    		</executionRule>
    	</immediateExecution>
    </options>
    
    CompletionRedirectURL

    Allows to configure a redirection to another Feature or home page after execution of the create or update action.

    Property name

    Type

    Mandatory

    Description

    completionRedirectURL

    String

    NO

    Used to indicate the id of the Feature to redirect.

    The link can use the feature:// scheme to validate access to the feature.

    Alternatively, if one requires to redirect to a user task the task:// scheme can be used.

    • task://to-approve/<taskInstanceId>

    • task://about-me/<operationId>

    • task://submitted-by-me/<operationId>

    • task://admin/<operationId>

    Example
    XML
    <options>
    	<completionRedirectURL>feature://user-card-read/{routeObjectId}</completionRedirectURL>
    </options>
    

    RawUpdate

    Allows to configure how Attributes will be displayed in the RAW_UPDATE Feature.
    In each case, Attributes are displayed in the alphabetical order of their I18N translation.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    excludeAttributes

    List<Attributes>

    NO

    Allows to define attributes excluded from the feature.

    -

    excludeSecretAttributes

    Boolean

    NO

    Allows to define if secret attributes are excluded or not from the feature.

    true, false

    layout

    Enum

    NO

    Allows to define the graphical layout of the Feature.

    SINGLE, TWO_EQUAL, TWO_LEFT_SMALL, TWO_RIGHT_SMALL, THREE_EQUAL, THREE_RIGHT_LEFT_SMALL

    searchField

    Boolean

    NO

    Allows to display or not the search bar.

    true, false

    Example
    XML
    <options>  		 
    	<rawUpdate>
        	<excludedAttributes/>
        	<excludeSecretAttributes>false</excludeSecretAttributes>
        	<layout>TWO_EQUAL</layout>
            <searchField>true</searchField>
        </rawUpdate>
    </options>
    
    Pending Operation Behaviour

    Allows to configure the behavior on the Attributes that are affected by a launched Workflow.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    pendingOperationBehaviour

    String

    NO

    Used to choose the action that the user will be able to perform once a Workflow has been triggered.

    FORBID: the value of the Attribute cannot be modified (the field is grayed out) and the user is informed by a warning icon that a Workflow is already in progress.

    DO_NOTHING: the value of the Attribute can be modified and the user is not informed that a Workflow is already in progress. If the user changes the Attribute's value, a new Workflow will be triggered.

    WARN: the value of the Attribute can be modified and the user is informed by a warning icon that a Workflow is already in progress. If the user changes the Attribute's value, a new Workflow will be triggered.

    The warning icon is displayed next to the value of the Attribute and the warning text is visible by the user when the mouse passes over it.

    FORBID, DO_NOTHING, WARN

    Example
    XML
    <options>
    	<pendingOperationBehaviour>WARN</pendingOperationBehaviour>
    </options>
    
    Submit

    Allows to configure the behavior of the confirmation pop-up when creating or updating a Feature.

    There are several colors for the confirmation pop-up: 

    • the pop-up is red if the creation or update fails.

    • the pop-up is blue if the creation or update is pending for a Workflow or a schedule operation.

    • the pop-up is green if the creation or update is done.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    reportDisplay

    String

    NO

    Used to choose the display of the confirmation pop-up.

    DISPLAY_ALL: Execution preview and execution successful confirmation pop-ups are displayed.

    RESULTS_ONLY: Only execution successful confirmation pop-up is displayed.

    HIDE_ALL: Neither execution preview nor execution successful confirmation pop-ups are displayed.
    Only a small confirmation pop-up is displayed.

    For the ​​"RESULTS_ONLY" and 'HIDE_ALL ", the user will be able to view the pop-ups by clicking on the "..." button next to the "Create" or "Update" button.

    DISPLAY_ALL, RESULTS_ONLY, HIDE_ALL

    Example
    XML
    <options>
    	<submit>
    		<reportDisplay>RESULTS_ONLY</reportDisplay>
    	</submit>
    </options>
    
    Authentication

    The Feature Configurations are enhanced with properties that indicate which Authentication Level is required to access them.

    If the user accesses the application with the recommended level to access the Feature, he will not be able to access the feature (the padlock is visible and a pop-up is displayed when clicking on the feature).

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    authenticationLevel

    String

    NO

    Allows to define the authentication level to access Features.
    The possible values ​​come from the configuration of the BUM setting.

    It is mandatory to configure the following setting: authentication.levels.mapping before to configure tag.

    -

    authenticationLevelComparison

    Enum

    NO

    The comparison used to indicate which Authentication Level is accessible, in association with the <authenticationLevel> property.

    BETTER: the authentication level(s) above the one defined is/are taken into account.

    EXACT: only the configured authentication level is valid.

    MINIMUM: higher levels of authentication are also taken into account.

    BETTER, EXACT, MINIMUM

    authenticationLevelForceGracePeriod

    Duration

    NO

    Allows to force authentication at a specific frequency.

    Java data time : PnDTnHnMn.nS
    Example: PT20M

    Example

    Steps

    Example

    Step 1: configure the BUM setting.

    JSON
    [
        {
            "level": "default",
            "classRef": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
        },
        {
            "level": "enforced",
            "classRef": "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient"
        }
    ]
    

    Step 2: define the authentication on Feature.

    XML
    <authentication>
    	<authenticationLevel>default</authenticationLevel>
    	<authenticationLevelComparison>MINIMUM</authenticationLevelComparison>
     	<authenticationLevelForceGracePeriod>PT20M</authenticationLevelForceGracePeriod>
    </authentication>
    
    OperationOnSelf

    Allows to configure a Feature for "self" usage, it means that the current logged user is the target object.
    In order to allow a user to access the self feature, he/she must be authenticated with his/her own id and the configurator must have configured the necessary settings and rights.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    operationOnSelf

    Boolean

    NO

    Allows you to configure a Feature for "self" usage.

    true, false

    Example
    XML
    <operationOnSelf>true</operationOnSelf>
    
    HomeTile

    Used to describe the tile to apply for the Feature or the url if displayed on the home page.

    Two ways to display quick access from the home page:

    • By configuring the setting "ui.usr.home.tiles" (to use for redirection to external links)

    • By configuring the homeTile inside a Feature configuration and is displayed only if:

      • the Feature is created in the "ui.usr.menu.entries" setting in a "CATEGORY" type and

      • the Feature is displayed at strict level 2

    HomeTiles are sorted according to the "ui.usr.menu.entries" setting configuration and are displayed only if the connected user has the associated Feature rights.

    Property name

    Type

    Mandatory

    Description

    Values (default value in bold)

    color

    String

    NO

    Allows to define the color of the homeTile.

    For available colors, see Metronic Color Library

    icon

    String

    NO

    Allows to define the icon that will be displayed inside the homeTile.

    Link to find the icons : https://fontawesome.com/v4.7.0/icons/

    fa-fa-star

    url

    String

    NO

    Used to indicate the website url for redirection when you click on the icon.

    -

    feature

    String

    NO

    Used to indicate the id of the Feature to redirect when you click on the icon.

    -

    id

    String

    YES

    Used to indicate the tile id.

    -

    label

    String

    NO

    Allows to configure the text that will be displayed below the icon.

    -

    Example
    XML
    <homeTile>
    	<color>purple</color>
    	<icon>fa fa-plus-square</icon>
    	<url></url>
    	<feature>role-card-create</feature>
    	<id>role-card-createe</id>
    	<label>role-card-create</label>
    </homeTile>
    

    Prerequisites to allow access to a feature from user portal

    To allow users to access a Feature on a user portal, you have to:

    • Create a Feature Access Policies.

    • Complete the setting"ui.usr.menu.entries".

    • Give the right to the user.

    You can configure an information banner at the top of the Feature page by configuring this i18n key: "ui.features."id of the feature".info.

    Trigger the execution of a feature in a Business Policy

    Here is an example of configuration with a Business Policy that will launch a workflow to the manager when a user end validity date is reached.