Feature adjustments
Frequently occurring use cases are described below in order to adapt the standard configuration to the respective requirements.
Managing users
Managing admin users
-
If it doesn't already exist, create an administrator account type.
-
If it doesn't already exist, create an account resource for the Omada Identity system for the Administrator account type. Provide a meaningful account name format, for example
ADM_[IDENTITYID]. -
Update the allowed account types for administrative resources.
-
Configure the approval workflow for the administrative resources.
Users of non-personal account types are not directly linked to the identity through the IDENTITYREF property.
Managing built-in attributes on the User object
By default, the built-in Language, Regional settings, Time zone and Work week properties are set with the system defaults when the account is created and are no longer automatically managed.
If required, automatic management can be enabled by following the configuration steps below.
Establish a desired state
In the solution, there are 4 properties suitable for the Identity data object type to establish a desired state:
- Regional settings (
REGIONALSETTINGS) - Language (
LANGUAGE) - Time zone (
TIMEZONE) - Work week (
WORKWEEK)
The properties can be maintained manually in the ES portal or in the HR system by configuring the identity import.
The Time zone property is added to the Identity data object type out of the box. The remaining three can be added to the Identity type and the Identity form(s) according to business requirements.
Extend the attribute set
Along with the properties, there are 4 Attribute objects, one for each property. The relevant attributes must be added to the attribute set Omada Identity Account Attributes:
- Omada Identity User – Regional settings (
REGIONALSETTINGSCODE) - Omada Identity User – Language (
LANGUAGECODE) - Omada Identity User – Timezone (
TIMEZONECODE) - Omada Identity User – Work week (
WORKWEEKCODE)
RoPE configuration
Configure the RoPE AttributeValueResolver extension to resolve the 4 new attributes. If the extension is not in use, add the entire section to the EngineConfiguration.config. If it is, just add the 4 settings:
<add type="Omada.RoPE.Controller.OISX.Extensions.AttributeValueResolver, Omada.RoPE.Controller.OISX">
<settings>
<add key="setting4" name="Omada Identity Account:TIMEZONECODE" extraInfo="Type:Expression" value="Expression.GetTimeZoneCode(ROPE_IdentityTimeZone)" />
<add key="setting5" name="Omada Identity Account:LANGUAGECODE" extraInfo="Type:Expression" value="Expression.GetLanguageCode(ROPE_IdentityLanguage)" />
<add key="setting6" name="Omada Identity Account:REGIONALSETTINGSCODE" extraInfo="Type:Expression" value="Expression.GetRegionalSettingsCode(ROPE_IdentityRegionalSettings)" />
<add key="setting7" name="Omada Identity Account:WORKWEEKCODE" extraInfo="Type:Expression" value="Expression.GetWorkWeekCode(ROPE_IdentityWorkWeek)" />
</settings>
</add>
Enable reconciliation
The reconciliation map on the resource type must be extended to cause provisioning updates. For instance, you can add:
TIMEZONECODE=TIMEZONEID;LANGUAGECODE=LANGID;REGIONALSETTINGSCODE=CULTURE;WORKWEEKCODE=WORKWEEKID
Queries and mappings
In the Queries and mapping for the Omada Identity system, extend the query for the Account objects to include the attributes: LangId, Culture, TimeZoneId, and WorkWeekId:
`User?$select=Id,UId,UserName,DisplayName,Email,IdentityRef,Inactive,FirstName,LastName,LangId,Culture,TimeZoneId,WorkWeekId`
Add extension attributes as needed with History enabled and map to the right query field:
Previewing the query gives the current users/accounts with their built-in attributes:
Task mappings
The new attributes must be mapped in the task for Omada Identity OData User. The attributes are already defined in the Data Model and on the ODataUser object as Culture, LangId, TimeZoneId and WorkWeekId. Map to the related RoPE attribute:
TimeZoneIdtoROPE_ATTR_TIMEZONECODELangIdtoROPE_ATTR_LANGUAGECODECulturetoROPE_ATTR_REGIONALSETTINGSCODEWorkWeekIdtoROPE_ATTR_WORKWEEKCODE
Maintain the valid attribute values
The values available in the three new (reference) properties are maintained through three new views in the Setup menu:
- Languages
- Regional options
- Work weeks.
The options in the Time zone property are maintained under the Values of the Property with the name Time zone.
Languages
The Language objects have a Name and a Disabled flag:
The objects in this view must manually be synchronized with the values in the tblLanguage table. The value of Name must match the name of the row in tblLanguage.
If the Disabled flag is set, it is not possible to select the language in the portal. It is recommend to also synchronize the Disabled flag with the value in tblLanguage.
Regional options
The Regional options object has a Name and Culture field:
The Culture string should contain the standard culture name according to RFC 4646, where the format is languagecode2-country/regioncode2, where languagecode2 is the two-letter language code and country/regioncode2 is the two-letter subculture code.
Only culture codes where a language code exists (and is enabled) in tblLanguage are allowed.
Work weeks
The Work week data object has a Name property which must match the name of the Work week in the list of the actual work week objects.
Time zones
Time zones are maintained under the values of the Time zone property. Each time zone has a Name and a Description. The Description must match the name in the IANA Time Zones list, and the time zone must also be present in the Windows Registry.
You should never modify the Time zone set property description value.
Configuring the My settings page
If one or more of the built-in user attributes are maintained by the Governance feature, the field(s) should be disabled on the My settings page to avoid confusion for a user trying to change the attribute there.
The field state is maintained in the customer settings under User interface.
Maintain custom user properties
You can configure the import and export of custom properties. This functionality allows you to manage additional attributes specific to your organization's needs that may not be covered by default settings. To do so, follow these steps:
-
Create a new attribute based on the custom property.
-
Add the newly created attribute to the attribute set Omada Identity Account Attributes.
-
Establish a desired state for the new attribute.
- To do so, you can add the relevant property to the identity object type. This allows the value to be automatically mapped to the account attributes. Alternatively, you can set the desired state using an
AttributeValueResolverexpression.
- To do so, you can add the relevant property to the identity object type. This allows the value to be automatically mapped to the account attributes. Alternatively, you can set the desired state using an
-
Recalculate an identity with an account and validate that the attribute values are populated appropriately.