Column definitions for application and system data model tables are kept in the DialogColumn table. The predefined column properties of the One Identity Manager schema are maintained by the schema installation and cannot be edited apart from a few exceptions.
In the Designer, you can edit the One Identity Manager schema's column definitions using the Schema Editor.
Detailed information about this topic
In One Identity Manager, value templates are implemented for generating user data or for transforming values. You can use these templates to fill object properties with default values or to form property values from other properties. Value templates can take effect within an object as well as between objects. Value templates without dependencies take effect when the value is queried in the column and the column does not have a value assigned. Value templates that refer to other columns are affected when these columns change.
Value templates take effect without regard to the current permissions. No explicit permissions need to be assigned to the dependent columns. When value templates are applied, the accessed columns of an object are also filled if they are not visible on the current form in the Manager.
Column dependencies due to value templates are mapped in the DialogNotification table. The connected properties are shown in the table as sender-subscriber pairs. The column that caused the change is the sender and the column that is changed because of it, is the subscriber. The object links are consolidated by the column relations. The entries are created when the value templates are compiled and updated.
NOTE: In the Designer, you can get an overview of existing columns with value templates in the One Identity Manager Schema > Templates category. Column dependencies due to value templates are mapped in the schema overview in the Schema Editor.
Detailed information about this topic
You can customize predefined default value templates and create your own additional value templates.
IMPORTANT: You must take performance factors into consideration when defining value templates. In certain circumstances, changes to a property could cause large numbers of dependent objects to be changed, saved, and processes to be generated through a value template in overwrite mode.
To limit the number of objects changed by a value template you can define thresholds for running value templates. For more information, see Restricting performance of value templates.
To create a value template
In the Designer, select One Identity Manager Schema.
Select the table and start the Schema Editor with the Show table definition task.
Select the column and then the Column properties view.
Select the Value calculation tab and edit the following properties.
Table 25: Properties for calculating values of a column
Specifies whether the template can overwrite or not. If this option is set, the value template is always applied. If the option is not set, the value template is only applied when the column is empty.
NOTE: The One Identity Manager schema only knows the values 0 and 1 for columns of Bool data type. The value 0 is the same as empty. That means, if the Overwrites option disabled, the template is run if the column value changes from 0 to 1.
Template script. Write the script in VB.Net syntax which allows all VB.Net script functions to be used.
TIP: To display the columns that trigger a template, click Triggers for this template.
No automatic truncation by template
Specifies whether the value is automatically truncated to the maximum column length if the maximum length is exceeded when applying a template. If this option is enabled, the value is not automatically truncated to the maximum column length.
Select the Database > Save to database and click Save.
IMPORTANT: Compile the database to bring the value template into effect.
TIP: Test compiling in the Designer using the Schema > Test compile menu item.
You can use value templates to prevent users from changing columns that are filled by a value template. To do this, add the name of this column in the value template in $-notation. The value template now references itself. Any change to the column is immediately overwritten by the value template. Value templates that overwrite themselves only take effect if they have been labeled as “Overwrites”.
The user should not be able to change an employee‘s central user account. This should be prevented by the value template.
Define a custom value template for the Person.CentralAccount column.
For the value templates, enable the Overwrites option.
Extend the default value template with the following entry: ’$CentralAccount$.
If Not CBool(Session.Variables.Get("FULLSYNC")) Then