Skip to main content
Skip table of contents

Synchronization Task Definition

Synchronization Task Definition configures the settings used to launch inbound synchronization tasks.

Definition

Synchronization Task Definition configures the settings used to launch inbound synchronization tasks, namely by specifying the desired type of synchronization and the target Application id.

An “inbound synchronization task” is typically a CSV file whose content is imported into the IM object repository, for example to create or update Identities.

Synchronization Task Definition is only used to launch inbound synchronization tasks among "import" and "reconciliation".

A reconciliation task compares the content of an external data source (typically a CSV file) with the IM object repository (Identities, Organizations, etc.). It detects changes regarding the IM state; new objects that should be added, existing objects that should be modified, or objects that should no longer be present.

An import task is very similar to a reconciliation task, but is “additive” only; objects are only created or updated, never deleted.

Configuration

You can access the Synchronization Task Definition configuration :

  • by clicking on "Synchronization" → "Synchronization Task Definition "

  • by clicking on "System" → "Configurations"->”Synchronization Service” and perform an import/export.

Properties

General properties

Property Name

Type

Mandatory

Description

id

String

YES

The task identifier.

name

String

YES

The task name.

description

String

NO

The task description.

Configuration properties

Property Name

Type

Mandatory

Description

Values (default value in bold)

taskType

String

YES

The nature of the task.

RECONCILIATION: compares the content of an external data source (typically a CSV file) with the IM object repository (Identities, Organizations, etc.). It detects changes regarding the IM state; new objects that should be added, existing objects that should be modified, or objects that should no longer be present

IMPORT: very similar to a reconciliation task, but is “additive” only; objects are only created or updated, never deleted

applicationId

String

YES

The id of the application holding the synchronization settings.

-

objectClassId

String

YES

The technical class of objects to synchronize from the remote application.

This information also helps to pick the correct synchronization configuration to apply (see Object Synchronization Definition).

__ACCOUNT__ (for CSV)

LDAP

inetOrgPerson ….

shadowKind

Enum

YES

The kind of application object that is expected to be imported. Must be coherent with objectClassId.

This information helps to pick the correct synchronization configuration to apply when importing.

ACCOUNT, ORGANIZATION, RESOURCE, ROLE, ROLE_PUBLICATION, ENTITLEMENT

objectType

Enum

NO

The type of objects targeted by the synchronization, such as "employee", "partner", etc. Must be coherent with shadowKind.

Not applicable whent the shadowKind is ENTITLEMENT.

If not specified all types are considered.

-

synchronizationTaskPostProcessingId

String

NO

The id of the Synchronization Task Post Processing Definition holding the post processing task settings (see Synchronization Task Post Processing Definition)

This is optional, if there is no Post-Synchronization Task previously defined, the field will not be displayed in form.

-

synchronizationTaskPreProcessingId

String

NO

The id of the Synchronization Task Pre Processing Definition holding the pre processing task settings (see Synchronization Task Pre Processing Definition)

This is optional, if there is no Pre-Synchronization Task previously defined, the field will not be displayed in form.

-

recoverable

Boolean

NO

TO DO

true,false

simulate

Boolean

NO

If simulating, no entry is created, updated or deleted in IDM

true,false

activationModes

List <ActivationMode>

NO

Activation Mode list provided to IDM service when an IDM Object is activated or deactivated.

attributePrioritization

Enum

NO

Determine the priority of AMQP messages emitted when an IDM object is written. When Synchronization service creates or updates an IDM object, the IDM service emits an AMQP message in reaction to this write event. The AMQP priority of the AMQP message is dictated by the IDM configuration of the attributes involved in the write operation. If at least one modified attribute is configured with a "high priority", then the AMQP message has also a "high priority", in the AMQP sense.

However, if Synchronization service performs massive IDM write operations, we may want to keep the priority of the resulting AMQP messages as low, because we do not want to slow other daily administrative operations triggered by human operators, such as a manual password change. Therefore it is possible, with this attribute Prioritization parameter, to force a low priority of the AMQP messages triggered by the execution of this synchronization task.

LOW : the "priority" configured on a Memority Attribute Definition is always ignored, the resulting priority is forced to "low"

AUTO : the "priority" configured on an Attribute Definition is taken into account

sampleData

String

NO

TO DO

-

Input options properties

Property Name

Type

Mandatory

Description

Values (default value in bold)

skipCorrelationOnImport

Boolean

NO

This parameter only makes sense when taskType is IMPORT. To improve the performance of an "initial import", when it is known that the IDM repository is empty before running this task, it is possible to omit the (costly) correlation step. In that case, the synchronization situation will be directly set to UNMATCHED, without attempting to contact the IDM.

true,false

sortInputData

Boolean

NO

Whether input data should be sorted or not, according to their dependencies, before being synchronized.

The Connector Definition holds the list of referencing attribute ids that constitute the sort criteria, see the Connector property referencing Attribute.

If this property is set to true, but no referencing attribute is configured in the Connector, then a warning log is emitted and no sorting occurs when running this task.

For more information see Re-Ordering Data to Import.

true,false

allowCyclicInputData

Boolean

NO

Whether to allow or not cyclic references among input data to synchronize.

This option only makes sense when sortInputData is true, it is ignored otherwise.

For more information see Re-Ordering Data to Import.

true : the cyclic reference is broken by nullifying it, and data is imported. A warning will be emitted in the logs

false : the synchronization task with immediately stop with an error when cyclic data is detected

allowDuplicateInputData

Boolean

NO

Whether to allow or not duplicates among input data to import.

true : all duplicated occurrences are kept and processed in the order in which they are encountered in the data to import

false : duplicates are removed, and only the last occurrence is kept for processing

Validation properties

Property Name

Type

Mandatory

Description

Values (default value in bold)

bypassIdmValidation

Boolean

NO

Is IDM Validation check will be bypassed

true,false

bypassIdmDeduplication

Boolean

NO

Is IDM Deduplication check will be bypassed

true,false

bypassIdmReferenceIntegrity

Boolean

NO

Is IDM Reference Integrity check will be bypassed

true,false

bypassIdmUnicity

Boolean

NO

Is IDM Unicity check will be bypassed

true,false

Scheduling properties

Property Name

Type

Mandatory

Description

executionPlan

Complex

NO

Configure the execution plan if the task is scheduled (see Execution Plan).

Threshold properties (idmWriteOperationsThresholdDefinition)

Idm Write Operations Threshold Definition configures the thresholds beyond which IDM write operations are not allowed. A zero (or negative) threshold value means "no control"; any number of writes is then allowed, this is the default.

Thresholds (numbers) can be configured to control the max number of created/modified/deleted entries. For example, if a creation threshold is configured to 20, and the import task attempts to create 25 identities, the synchronization task will stop without performing any write.

Property Name

Type

Mandatory

Description

Values (default value in bold)

createThreshold

Integer

NO

Control the number of allowed creations.

0

modifyThreshold

Integer

NO

Control the number of allowed modifications.

0

deleteThreshold

Integer

NO

Control the number of allowed deletions.

0

disappearThreshold

Integer

NO

Control the number of allowed missing entries in reconciliation file.

0

Example

Here is a minimal XML representation of a Synchronization Task Definition:

Synchronization Task Definition
XML
<dmn:SynchronizationTaskDefinition id="importTask">
    <name>importTask</name>
    <description>Description of importTask</description>
    <applicationId>csv-application-test</applicationId>
    <objectClassId>__ACCOUNT__</objectClassId>
    <shadowKind>ACCOUNT</shadowKind>
    <taskType>IMPORT</taskType>
</SynchronizationTaskDefinition>

Here is a more complete example with an execution plan of type ONCE :

Synchronization Task Definition With Execution Plan
XML
<dmn:SynchronizationTaskDefinition id="importTask">
    <name>importTask</name>
    <description>Description of importTask</description>
    <activationModes>
        <activationMode>REASON1</activationMode>
        <activationMode>REASON2</activationMode>
    </activationModes>
    <applicationId>csv-application-test</applicationId>
    <bypassIdmDeduplication>true</bypassIdmDeduplication>
    <bypassIdmReferenceIntegrity>true</bypassIdmReferenceIntegrity>
    <bypassIdmUnicity>true</bypassIdmUnicity>
    <bypassIdmValidation>true</bypassIdmValidation>
    <executionPlan>
        <fireTime>2019-01-15T06:23:40.986Z</fireTime>
        <scheduleType>ONCE</scheduleType>
    </executionPlan>
    <idmWriteOperationsThresholdDefinition>
        <createThreshold>20</createThreshold>
        <deleteThreshold>10</deleteThreshold>
        <modifyThreshold>0</modifyThreshold>
        <disappearThreshold>0</disappearThreshold>
    </idmWriteOperationsThresholdDefinition>
    <objectClassId>__ACCOUNT__</objectClassId>
    <shadowKind>ACCOUNT</shadowKind>
    <simulate>true</simulate>
    <skipCorrelationOnImport>true</skipCorrelationOnImport>
    <sortInputData>true</sortInputData>
    <synchronizationTaskPostProcessingId>postProcessingTask</synchronizationTaskPostProcessingId>
    <taskType>IMPORT</taskType>
</dmn:SynchronizationTaskDefinition>

Read Next

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.