Import Users from LDIF

Sample workflow to import users from an LDIF file

Import Users from LDIF is a source workflow that reads user data from the connected directory LDIFfile and writes it into the Identity Store. The TS port represents the LDIF source, while the IdentityDomain port represents the destination in DirX Identity.

Use this workflow when an LDIF file is the authoritative source for user entries that you want to create or update in the Identity Store. The workflow works on the users channel and keeps the file import separate from target-system provisioning workflows, even though the technical workflow type is ProvisionTS.

The workflows in this reference are delivered as factory data and are loaded into the Connectivity configuration database during the initial configuration. They are samples: use the Identity Manager to copy a workflow into your own scenario and adapt the copy. Do not change the delivered objects, because a product update can replace them.

At a Glance

Name

Import Users from LDIF

Category

Source Realtime / LDIFfile

Technology

Java-based real-time workflow

LDAP object class

dxmIDMWorkflowDefinition

Workflow type

ProvisionTS

Connected system / controller type

not applicable

Configuration wizard

File-LDAP

Active in the factory data

FALSE

Factory data version

8.0

Factory data path

Workflows/Default/Source Realtime/LDIFfile/Import Users from LDIF

Prerequisites

  • You need a connected directory LDIFfile that is configured for the LdifConnector and points to the LDIF source that you want to import.

  • You need the connected directory Identity Store for the IdentityDomain port, with the bind profile Domain_Admin.

  • The TS port uses the CryptFilter, so the file content must match the expected encrypted attribute handling.

  • The Java-based Server that runs the workflow must be able to reach the LDIF source, the Identity Store, and the JMS and mail infrastructure that the event, notify and error ports use.

Workflow and Activities

Activity Type Component description Description Ports

error

error

provisioningActivity

Error Activity

Message

join

ProvisionTS

provisioningActivity

Join activity for the import users from LDIF workflow

event, IdentityDomain, notify, ts

Ports

Activity Port Component description Connector Connected directory Bind profile SSL

error

Message

errorPort

ErrorNotifyMailConnector

-

-

not set

join

event

notificationPort

JmsConnector

-

-

not set

join

IdentityDomain

provisioningPort

LdapConnector

Identity Store

Domain_Admin

not set

join

notify

notificationPort

NotifyMailConnector

-

-

not set

join

TS

provisioningPort

LdifConnector

LDIFfile

-

FALSE

Channels

Table 1. Channels of port IdentityDomain (activity join)
Channel Description Reference type Delta type

users

Channel for users

not set

SearchAttributes

Table 2. Channels of port TS (activity join)
Channel Description Reference type Delta type

users

Channel for users

not set

not set

Filters

Port Filter Description Sequence

TS

CryptFilter

decryption

1

Configuration Parameters

Table 3. Workflow parameters of Import Users from LDIF
Parameter Default value

timeout

P0Y0M4DT0H0M0S

Table 4. Parameters of activity error
Parameter Default value

resourcefamily

Mail

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT2H0M0S

Table 5. Parameters of port Message (activity error)
Parameter Default value

decrypt.attribute

dxmPassword

Table 6. Parameters of activity join
Parameter Default value

resourcefamily

LDAP

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT0H30M0S

Table 7. Parameters of port event (activity join)
Parameter Default value

appid

event

decrypt.attribute

userPassword

tgtisjmsclient

false

Table 8. Parameters of port IdentityDomain (activity join)
Parameter Default value

decrypt.attribute

userPassword

Table 9. Parameters of port notify (activity join)
Parameter Default value

decrypt.attribute

userPassword

Table 10. Parameters of port TS (activity join)
Parameter Default value

decrypt.attribute

dxmPassword

A Java-based real-time workflow runs as a permanently loaded configuration in the Java-based Server (IdS-J). It is triggered by a request or an event rather than by a schedule. Each workflow consists of activities; an activity opens one port per system it talks to, and each port uses a connector to reach that system.

Most provisioning workflows contain a join activity that performs the actual work and an error activity that receives requests which still fail after all retries and sends a notification about them. The retrylimit, waitbeforeretry and timeout parameters of an activity control how often and how long a failed request is retried before it is handed to the error activity.

The event port publishes change events over JMS, and the notify port sends e-mail notifications. Neither port is bound to a connected directory.

The join activity performs the import. Its TS port reads users from LDIFfile, and its IdentityDomain port writes the corresponding users into the Identity Store. The event port receives the JMS requests that start the workflow, the notify port sends the configured mail notifications, and the CryptFilter on the TS port decrypts protected source values before the LdifConnector handles them.

A request that fails is retried up to three times (retrylimit) with 30 minutes between attempts (waitbeforeretry). If it still fails, the error activity takes it over and reports it through the Message port; the workflow parameter timeout gives a request four days before it is discarded.

Operation

  1. A change for the users channel reaches the workflow through the event port.

  2. The Java-based Server passes the resulting request to the join activity.

  3. The TS port reads the affected user from LDIFfile.

  4. The IdentityDomain port creates or updates the corresponding user in the Identity Store.

  5. The notify port sends the configured notifications, and the event port publishes the resulting workflow event.

  6. Requests that fail permanently are handed to the error activity, which reports them by e-mail.

The workflow is delivered inactive (dxmActive is FALSE). Copy it into your own scenario, connect the copy to your connected directory and activate the copy.