Use Case request: Bulk load new users by importing a CSV file containing users with attributes and multiple roles into OpenIDM 4.0. It is assumed the roles already exist within OpenIDM. 

Example of CSV format:

uid,username,FirstName,LastName,EMail,Status,roles
cgarcia,cgarcia,Carlos,Garcia,carlos.garcia@forgerock.com,active,AVS-API|employee|AVS2-API

The last field, the roles field contains multiple roles separated by "|" pipe character. 

Many thanks to Jake Feasel for figuring out the hard part, the transformation script. 

Step-by-step guide

This effort was based on OpenIDM4.0

  1. Create a CSV File Connector configured against the CSV import file.
  2. Create a new mapping from the CSV connector to the Managed User Object.
  3. On the Attributes Grid map each CSV column to the managed user target attribute. The main work is around mapping the multi-values roles from the CSV into the managed roles object. A transformation script is required to split the multiple roles and create the role memberships on openIDM.  

    The script used is: 
    source.split('|')
    .map(function (role) {
    return {
    _ref: 'managed/role/'+ (
    openidm.query('managed/role', {'_queryFilter':'/name eq "' + role + '"'}).result[0]._id)
    };
    })

  4. Update the Behavior Policies to Create when missing and run reconciliation. Upon completion, check Managed Users and new users should be created as well as roles membership added. 

 

 

 

You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.

Related issues