Automatic role definitions - Import of data from CSV
This LRT can be used to import automatic roles which are assigned based on an EAV attribute of a contract.
Prepare CSV file
Here is an example of CSV file which can be used for import role definitions.
roles;company;city
role1;company1;Prague
"role1
role2";company2;Rome
role3;company3;Shanghai
As you can see roles column can be single or multivalued. For multivalued roles, definition from the same row will be added to every role.
CSV file can have an optional number of columns, role and automatic role definitions columns are specified in setup of LRT.
CzechIdM uses by defaul utf-8 encoding. If your input file is encoded in diferent encoding, or if you experience some issues with non english characters, you may set different encoding in configuration of import long running task. Examples of other used encodings might be windows-1250, utf-8 or windows-1252
Create new LongRunningTask
Now we will create the new LongRunningTask (LRT). As shown in the picture, go to Settings → Task scheduler → Scheduled tasks and hit green "Add" button to add new LRT.
Fill all attributes
Now we need to create new LRT with these attributes:
Task type - ImportAutomaticRoleAttributesFromCSVExecutor
Import csv file - dropzone to select or drop csv file
Import file encoding - the encoding of the csv file
Column with roles - Name of the column with the names of roles in csv file
Use role codes instead of role names - If checked, tries to find roles by code directly, if not, converts names to codes (replaces spaces with underscores) (since 1.9.0)
Column with description - name of the column with role description, can be also used to update description
Column separator - separator of columns in csv file
Multi value separator - ( Char, default: new line ) separator of multi valued role names in csv file, new line separator is default export from excel, but for better clarity of csv file, it's recommended to use some symbol instead
Column with first attribute in csv file -
First contract eav name - name of existing eav attribute of contract which will be checked for match with automatic attribute
Column with second attribute in csv file -
Second contract eav name - name of existing eav attribute of contract which will be checked for match with automatic attribute
Run the task
Now we just need to hit run.
And we also need to process it in all tasks.
You can check status about created role definitions in "all tasks" panel in task detail. Here you can find information about created or already existing automatic role definitions.
Everything should be set up so far and when the task ends, existed roles has got automatic role definitions on specified attributes.
Number of processed items means how many role names is in csv.
Number of finished items are roles that were found in IdM and has't got automatic role definition.
This task only imports the roles but does not calculate them! In other words, the rules are now active but the accounts have to recalculated for them to start assigning roles. If you want to recalculate roles, run the task Recalculate all automatic roles by attribute.
Known issues
In Extras 1.8.0 and lower, there is a bug. If you have multiple EAV attributes with the same code in different form definitions (e. g., for identity and contract), the task can fail because it doesn't check the definition. An easy fix is to rename the attribute.
If you delete or upload new file via dropzone, you should delete old files, created from previous uploads.