지금 지원 담당자와 채팅
지원 담당자와 채팅

Identity Manager 9.3 - Configuration Guide

About this guide One Identity Manager software architecture Customizing the One Identity Manager default configuration Customizing the One Identity Manager base configuration One Identity Manager schema basics The full-text search in One Identity Manager Localization in One Identity Manager Process orchestration in One Identity Manager
Mapping processes in One Identity Manager Setting up Job servers
The One Identity Manager Service functionality Tracking changes with process monitoring Conditional compilation using preprocessor conditions Scripts in One Identity Manager
Visual Basic .NET scripts usage Notes on using date values Tips for using PowerShell scripts Using dollar ($) notation Using base objects Calling functions Pre-scripts for use in processes and process steps Using session services Using #LD-notation Displaying messages in the user interface Referencing packages and files in scripts Script library Support for processing scripts in the Script Editor Creating and editing scripts in the Script Editor Copying scripts in the Script Editor Testing scripts in the Script Editor Testing script compilation in the Script Editor Committing and compiling script changes Overriding scripts Permissions for running scripts Editing and testing script code with the System Debugger Extended debugging in the Object Browser
One Identity Manager query language Editing the user interface
Object definitions for the user interface User interface navigation Forms for the user interface Statistics in 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 Using predefined database queries
Reports in One Identity Manager Adding custom tables or columns to the One Identity Manager schema Web service integration One Identity Manager as SCIM 2.0 service provider Processing DBQueue Processor tasks Structure of the Jobservice.cfg configuration file

Conditional compilation using preprocessor conditions

Conditional compiling of program code is integrated into One Identity Manager. Conditional compilation allows parts of the program code to be parsed whereas other parts remain untouched.

Conditional compiling has the following advantages:

  • Assemblies are reduced in size

  • Structures the system configuration

  • Improves clarity for the model and permissions

  • Speeds up processing

  • Hides unnecessary data in all VB.Net expressions

  • Hides unnecessary model components

Conditional compiling in One Identity Manager is controlled using preprocessor conditions. Preprocessor conditions can be used in:

  • Objects with the Preprocessor condition property.

  • VB.Net expressions

NOTE: Preprocessor conditions help stop the module being disabled. For example, SQL procedures and triggers are still run even if the objects are disabled by preprocessor conditions. To disabled a module, remove the module from the One Identity Manager database. For more information about removing modules, see the One Identity Manager Installation Guide.

Configuration parameters and their options define the possible preprocessor conditions. 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.

Detailed information about this topic

Preprocessor-relevant configuration parameters

IMPORTANT: The One Identity Manager database needs to be recompiled every time a preprocessor-relevant configuration parameter and its options are changed.

The Preprocessor relevant parameter option 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.

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

To display preprocessor relevant configuration parameters

  1. In the Designer, select the Base data > General > Configuration parameters category.

  2. In the Configuration Parameter Editor, select the View > Preprocessor definitions menu item.

    The Preprocessor definitions view shows all preprocessor conditions. Double-click an entry to display the configuration parameter.

NOTE: In the Designer, you can find an overview of existing preprocessor dependencies in the One Identity Manager Schema > Preprocessor dependencies category.

Related topics

Preprocessor conditions in objects

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

You can enter a preprocessor condition directly for certain objects.

To enter a preprocessor condition

  • In the Preprocessor condition property, enter the preprocessor expressions of the configuration parameters. You can link preprocessor expressions together with AND, OR, NOT, ().

Example: Preprocessor condition for a column definition

The column Person.RiskIndexCalculated should only be shown in the interface if the risk function is set.

The following preprocessor conditions are entered in the column definition (DialogColumn table).

Table 87: Example for preprocessor conditions
Table Column Preprocessor condition

Person

RiskIndexCalculated

COMPLIANCE

If a preprocessor-relevant configuration parameter is enabled or disabled, tasks are created for the DBQueue Processor to calculate all preprocessor and calculation tasks for the affected objects. The Disabled by preprocessor option 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 permissions 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 foreign key columns that relate to it are disabled.

  • If a primary key member is disabled according to the preceding rule (for example, in the case of many-to-many tables), then this primary key’s table and all further columns belonging to this table are also 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.

NOTE: In the Designer, you can find an overview of existing preprocessor dependencies in the One Identity Manager Schema > Preprocessor dependencies category.

Related topics

Preprocessor conditions in VB.Net expressions

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

Preprocessor conditions can be used in VB.Net expressions. Script code that is dependent on a preprocessor condition has to be passed in an #if...then...#else statement. To formulate the preprocessor condition, use the preprocessor expressions of the preprocessor-related configuration parameters. You can link preprocessor expressions together with AND, OR, NOT, ().

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

Example: Use preprocessor condition in templates

The ITSHOP preprocessor condition is entered in the column definition (DialogColumn table) for the ADSGroup.IsForITShop column. The template in the ADSGroup.DisplayName column should reference the IsForITShop column. 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
관련 문서

The document was helpful.

평가 결과 선택

I easily found the information I needed.

평가 결과 선택