Form properties are specified by the form definition configuration data. The definition of the form properties is written in XML notation.
Recommendations regarding XML notation.
-
Pass multiple line values in one element.
Example:
<Property Name="WhereClause">IsITShopOnly=0 and HasReadOnlyMemberships=0</Property>
-
Describe single values in an attribute.
Example:
<Property Name="MNTableName" Value="DepartmentHasADSGroup" />
-
To avoid masking XML special characters (<,>,&,",'), pass the value in a CData element.
Example:
<Property Name="WhereClause"><![CDATA[UID_UNSGroupB3 <> $UID_UNSGroupB3$]]></Property>
Example: Configuration data structure
<FormPatch FormatVersion="2.0">
<Patches>
<Component Name="MemberRelation1">
<Properties>
<Property Name="MNBaseColumnName" Value="UID_Department" />
<Property Name="MNTableName" Value="DepartmentHasADSGroup" />
<Property Name="RootFilterTableName" Value="ADSDomain" />
<Property Name="RootFilterMemberWhereClause">UID_ADSDomain='%UID_ADSDomain%'</Property>
<Property Name="WhereClause">IsITShopOnly=0 and HasReadOnlyMemberships=0</Property>
</Properties>
</Component>
<Patches>
</FormPatch>
Displaying relations
Component | Property | Meaning |
---|---|---|
All |
|
Valid for all maps. |
|
WhereClause |
Limited condition for applying to the displayed objects (member, child). The expression %column% can be used in the WhereClause to reference values of the base object. $ expressions are permitted to reach other values from the base object, for example $FK(UID_ADSContainer).UID_ADSDomain$. Example: <Property name="WhereClause" value="IsITShopOnly=0" /> |
|
EditWhereClause |
Edit condition. The elements that match the condition can be edited. All other elements are also displayed but cannot be edited. Example: <Property name="EditWhereClause" value="XMarkedForDeletion=0" /> |
MemberRelation1-MemberRelationN |
|
Displaying M:N relations Example: <Component Name="MemberRelation1"> |
|
MNTableName |
M:N table. Example: <Property name="MNTableName" value="OrgHasADSGroup" /> |
|
MNBaseColumnName |
Column of the M:N table that points to the base object. Example: <Property name="MNBaseColumnName" value="UID_ADSGroup" /> |
|
RootFilterTableName |
Table for filtering assignable elements from users. If defined, the control element shows a menu with objects from this table. If, for example, Example: <Property name="RootFilterTableName" Type="String" value="OrgRoot" /> |
|
RootFilterWhereClause |
Condition for filtering elements of the RootFilterTableName in the menu. Example: <Property name="RootFilterWhereClause" Type="String" value="UID_OrgRoot in (select UID_OrgRoot from Org) and exists (select 1 from OrgRootAssign where IsDirectAssignmentAllowed = 1 and UID_OrgRoot=OrgRoot.UID_OrgRoot and UID_BaseTreeAssign='ADS-AsgnBT-ADSGroup')" /> |
|
RootFilterMemberWhereClause |
Condition formatted after selecting a base object and attached to the WhereClause. The condition must always contains a column relation to the base object. Example: <Property name="RootFilterMemberWhereClause" Type="String" value="UID_OrgRoot=N'%UID_OrgRoot%'" /> |
|
ShowExtendedProperties |
Specifies whether many-to-many tables with additional columns are offered an additional Extended properties context menu item on the assignment form. You use the context menu item to navigate to the detailed form where you can edit the extended properties. Example: <Property name="ShowExtendedProperties" value="True" /> |
|
HierarchyDetailsMode |
Specifies whether the long display pattern (DialogTable.DisplayPatternLong) is used for displaying hierarchically. Example: <Property name="HierarchyDetailsMode" value="UseDisplayLong"/> |
ChildRelation1- ChildRelationN |
|
Displaying parent-child relations. Example: <Component Name="ChildRelation1"> |
|
CRTableName |
Table in which child objects are mapped. Example: <Property name="CRTableName" value="ADSAccount" /> |
|
CRColumnName |
Child table foreign key that points to the base object. Example: <Property name="CRColumnName" value="UID_Person" /> |
|
ShowForeign |
Specifies whether foreign assignments (object assigned to another object) can be displayed. Example: <Property name="ShowForeign" value="True" /> |
GenericRelation1-GenericN |
|
Displaying dynamic many-to-many relations. Example: <Component Name="GenericRelation1"> |
|
MNTableName |
M:N table. Example <Property name="MNTableName" value="ADSPolicyAppliesTo"/> |
|
MNBaseColumnName |
Column of the M:N table that points to the base object. Example: <Property name="MNBaseColumnName" value="ObjectKeyAppliesTo" /> |
|
MNMembersColumnName |
Column of the M:N table that points to the members. Example: <Property name="MNMembersColumnName" value="UID_ADSPolicy" /> |
|
MembersTableName |
Tables whose objects must be assigned. Example: <Property name="MembersTableName" value="ADSPolicy"/> |
Using tabs
Use the components TabPage to display tabs for the mapped relations. Usually tabs are used for forms that map multiple relations, such as FrmCommonTwoMemberRelation or FrmCommonTwoChildRelation. TabPage1 maps the tab for Relation1, TabePage2 maps the tab for Relation2.
Component | Property | Meaning |
---|---|---|
TabPage1-TabPageN |
|
Displays 1-n tabs for each relation to be shown. Example: <Component Name="TabPage1"> |
|
Caption |
Tab captions. Table names or any string can be used as captions. Example: <Property name="Caption" value="Department"/> |
|
CaptionTranslationSource |
Source for translating the tab names. value="DatabaseSchema" finds the table captions translation from the One Identity Manager schema table given under Caption. value="TranslationAddOnSource" finds the translation from the text store. Example: <Properties> <Property name="Caption" value="Department"/> <Property name="CaptionTranslationSource" value="DatabaseSchema" /> </Properties> <Properties> <Property name="Caption" value="is member of"/> <Property name="CaptionTranslationSource" value="TranslationAddOnSource" /> </Properties> |