Chat now with support
Chat with Support

Identity Manager 8.0 - Configuration Guide

One Identity Manager Software Architecture Working with the Designer Customizing the One Identity Manager Default Configuration Checking Data Consistency Compiling a One Identity Manager Database Working with Change Labels Basic System Configuration Data
One Identity Manager Authentication Module Database Connection Data Configuration Parameters for System Configuration Setting up the Mail Notification System Enabling More Languages for Displaying and Maintaining Data Displaying Country Information Setting Up and Configuring Schedules Password Policies in One Identity Manager Reloading Changes Dynamically TimeTrace Databases Machine Roles and Server Functions Files for Software Update Operating Systems in Use System Configuration Reports Using Predefined Database Queries Managing Custom Database Objects within a Database
The One Identity Manager Data Model Granting One Identity Manager Schema Permissions Working with the User Interface
Object definitions for the User Interface User Interface Navigation Forms for the User Interface Statistics in the One Identity Manager Extending the Launchpad Task Definitions for the User Interface Applications for Configuring the User Interface Icons and Images for Configuring the User Interface Language Dependent Data Representation
Process Orchestration in One Identity Manager
Declaring the Job Server One Identity Manager Service Configuration Handling Processes in the One Identity Manager
Tracking Changes with Process Monitoring Conditional Compilation using Preprocessor Conditions One Identity Manager Scripts Maintaining Mail Templates Reports in the One Identity Manager Custom schema extensions Transporting One Identity Manager Schema Customizations Importing Data Web Service Integration SOAP Web Service One Identity Manager as SPML Provisioning Service Provider Searching for Errors in the One Identity Manager Processing DBQueue Tasks One Identity Manager Configuration Files

Preprocessor Relevant Configuration Parameters

The option Preprocessor relevant parameter is used to label a configuration parameter as preprocessor relevant. A preprocessor expression is entered in the associated configuration parameter option.

When a preprocessor relevant configuration parameter is set it is valid globally across the system. The preprocessor condition does not come into effect until the database has been compiled.

IMPORTANT: Each time a preprocessor relevant configuration parameter and the options are changed, the One Identity Manager database needs to be recompiled.

NOTE: Predefined preprocessor configuration parameters are overwritten during schema installation. Define company specific preprocessor relevant configuration parameters and options in the configuration parameter "Custom".

To display preprocessor relevant configuration parameters

  1. Select the category Base data | General | Configuration parameters in the Designer.
  2. Select View | Preprocessor definitions from the menu.

    This displays all the processor conditions. Double-click on an entry to display the configuration parameter.

NOTE: You can find an overview of existing preprocessor dependencies in the Designer in the category Database One Identity Manager Schema | Preprocessor dependencies.

Related Topics

Preprocessor Conditions in Objects

You can enter preprocessor conditions directly for certain objects. To simplify entering conditions, these objects have a property Preprocessor condition in which you can write a preprocessor expression.

IMPORTANT: Each modification to preprocessor objects requires recompiling the One Identity Manager database.

TIP: You can link preprocessor expressions together with AND, OR, NOT, ().

NOTE: You can find an overview of existing preprocessor dependencies in the Designer in the category Database One Identity Manager Schema | Preprocessor dependencies.

Example

The column Person.RiskIndexCalculated should only be shown in the interface if the risk function is set. The column Person.UID_PersonMasterIdentity is only shown if an employee has several identities to manage. The following preprocessor conditions are entered in the table DialogColumn.

Table 266: Example for Preprocessor Conditions
Table Column Preprocessor condition
Employee RiskIndexCalculated COMPLIANCE
Employee UID_PersonMasterIdentity PERSON_MASTERIDENTITY

If you change the setting of a preprocessor relevant configuration parameter, tasks are created for the DBQueue Processor to calculate all preprocessor and calculation tasks for the affected objects. The option Disabled by preprocessor is updated for each object. If the re-interpretation of the preprocessor conditions leads to a change in the option, the preprocessor interpretation tasks that follow are generated for the dependent objects. User rights can also be affected. After DBQueue Processor has processed the tasks, the database needs to be recompiled.

The interpretation of preprocessor conditions has the following effects:

  • If a table is disabled by a preprocessor condition then all the columns and object definitions that relate to the table and the user interface forms and the associated navigation are disabled.
  • If a primary key column is disabled, all the foreign key columns that refer to this PK are disabled.
  • If a primary key member is disabled by a previous rule (by an many-to-many table, for example), then this primary key’s table and all further columns belonging to this table are disabled. This method has the advantage that, for example, when a table such as ADSGroup is disabled then all assignments are automatically disabled, such as the table, DepartmentHasADSGroup.
Related Topics

Preprocessor Conditions in VB.Net Expressions

Preprocessor conditions can be used in VB.Net expressions. The preprocessor conditions are defined in the options for the preprocessor relevant configuration parameters.

IMPORTANT: Every modification to preprocessor conditions in VB.Net expressions requires recompiling the One Identity Manager database.

Script code that is dependent on a preprocessor condition has to be passed in an #if...then...#else statement. The interpretation of the preprocessor conditions is not carried out until the script is generated.

Syntax

#If <preprocessor_condition_1>

’ code, for this preprocessor condition

#ElseIf <preprocessor_condition_2> then

’ code, for this preprocessor condition

#Else

' other code

#Endif

Preprocessor conditions can be linked with the following operators:

AND

OR

NOT

()

Example

The preprocessor condition "ITSHOP" is entered into the table DialogColumn for the column ADSGroup.IsForITShop. The template in column ADSGroup.DisplayName should reference the column IsForITShop. In order to remain compatible the following construction has to be used for the template:

#If ITSHOP Then

If $IsForITShop:Bool$ And $UID_AccProduct$ <> "" Then

Value = $FK(UID_AccProduct).Ident_AccProduct$

Else

value = $cn$

End If

#Else

value = $cn$

#End If

Related Topics

Evaluation of Preprocessor Conditions during Compilation

In order to become effective on a system-wide basis, every modification to preprocessor relevant configuration parameters as well as modifications to preprocessor conditions on objects and VB.Net expressions requires the One Identity Manager database to be recompiled.

The following is true for compiling:

  • Internal program code in the form of an #if...then...#else statement is created for objects that have a preprocessor condition. Program code in sections whose preprocessor condition does not apply basically do not exist for the compiler and are not parsed by the compiler. Therefore these objects are not considered to exist.
  • VB.Net expressions that contain preprocessor conditions are compiled. The program code exists. The interpretation of the preprocessor conditions is not carried out until the script is generated.

These templates are valid for compiling:

  • Templates for columns that are disabled by preprocessor conditions are not compiled and the resulting relations are not saved in the table DialogNotification. These columns are therefore considered to be non-existent.
  • Templates that relate to disabled columns cause a compiler error message if the corresponding part of code is not linked in a preprocessor statement.
Related Documents