Skip to main content

User management

Description

The user management process type is used to define processes to create and update identities and their attributes.

You can use the default template included on Soffid BPM Editor and custom it with your business needs. Also you can import a .pardef file with the process definition.

To that process, workflow is defined 4 default steps.

  • Start
  • Approve 
  • Apply changes
  • End

You could add new steps, delete steps, and custom steps to define your process workflow.

We will use two concepts to explain that process, identity and final user. Identity will be the idententity or user that will be created, updated or deleted in Soffid Console. The final user is referred to a user of Soffid that will request for processes using the self service portal

Start

That is the start point of the workflow. At that step, you could define the fields you want to show when the final users will go to generate a task and the transitions available.

Task detail

This step type does not have task details.

Fields

By default, all the identity attributes will be shown, and an additional field called Action. You can choose the fields you want to show when the final users, add new fields, and delete the fields that do not need to generate a task. Also, you can sort the fields, you only need to do drag and drop on the Order column.

The Action field is a droplist that will allow final users to select one of different options to perform. Depending on the selected option, one field or another will be shown automatically on the form to fill in. 

The available actions, defined by default on the Attributes tab:

  • Add user: action uses to generate a task to create a new identity (a new identities). 
  • Enable user: action uses to  create a task to enable a identity who is disabled.
  • Modify user: action uses to create a task to modify identity attributes.
  • Disable user: action uses to create a task to disble identity.

To enable, modify or disable a idnetity, you need to add a field with the name userSelector. That field will be available, to final users,  to select an existing identity when select one of that options. When you select a identity, all the existing identity attributes will be shown to the final user.

If you select the "Add user" option, the field userSelector will no be available for the final user.

For each field, you may indicate if it is a readOnly field, and you may add Validation script and Visibility script. The validation script allows you to define rules, the field has to comply with these rules. The visibility script allows you to define the rules to show or hide a field.

Trigger

On the trigger tab you could define different triggers

  • onLoad
  • on PrepareTransition
  • onChange

For instance, to calculate the email when firstName or lastName change and depending on the userType: 

firstName   = (inputFields.get("firstName")!=null) ? inputFields.get("firstName").value : null;
lastName    = (inputFields.get("lastName")!=null) ? inputFields.get("lastName").value : null;
userType    = (inputFields.get("userType")!=null) ? inputFields.get("userType").value : null;

if (firstName!=null && !firstName.trim().isEmpty() &&
    lastName!=null && !lastName.trim().isEmpty() &&
    userType!=null && !userType.trim().isEmpty()) {
  
  emailAddress = firstName + "." + lastName;
   if ("E".equals(userType)) {
   		emailAddress = emailAddress + ".ext@soffid.com";
   } else {
     	emailAddress = emailAddress + "@soffid.com";
   }
  inputFields.get("emailAddress").value = emailAddress;
  
}

Incoming transitions

This step type is the fist step of the workflow and it does not have incoming transtions.

Outgoing transitions

On the Outgoing transitions you could define what will be the next steps. For each Outgoing transition you could add a script Actions

Screen

Task detail

On Task detail Tab you can define the rules for the new task that will be created.

  • Task name: identified name for the task that will be created.
  • Actor(s) expression: write an expression to identify the actor depending on the requested role. One can use EL expressions (*) based on role and application attributes. For instance: SOFFID_MANAGER/${primaryGroup}
  • Assignment script: alternatively, write a Beanshell script to return the actor depending on the process variables. For instance: return primaryGroup.attributes{"owner"};
  • Approve from email: checked it to allows you to send a mail for approval the task.

Fields 

On the Fields tabs, you can define the identity attributes that will be shown on the final user form. By default, all the identity attributes will be shown. You can choose the fields you want to show when the final users will be generating a task, add new fields, and delete the fields that do not need to generate a task. Also, you can sort the fields, you only need to do drag and drop on the Order column.

For each field you may indicate if it is a readOnly field, and you may add Validation script and Visibility script. The validation script allows you to define rules, the field has to comply with these rules. The visibility script allows you to define the rules to show or hide a field.

Trigger

On the trigger tab you could define different triggers

  • onLoad
  • on PrepareTransition
  • onChange

Incoming transitions

You can define from where the process will arrive to that point. By default is defined one incoming transition from Start step.

Soffid allows you to add script Action for each incoming transition.

Outgoing transitions

You can define the next steps to go from that point. By default are defined two options, Approve and Reject outgoing transitions.

Soffid allows you to add script Action for each outfoing transition.

Apply changes

When you select the Apply changes Step type, you could select or unselect the available options.

  • Apply users changes: check it (selected option Yes) to make changes to users on Soffid repository.
  • Apply entitlements: check it (selected option Yes) to  macke changes to permissions on Soffid repository.

End

That is the last point of the workflow. When the workflow get that point, the workflow will be finished.

At this step you can configure the incoming transition by adding script Action. That step does not have task detail or outgoing transitions.


Other available steps

You can find other available steps to customize your business workflows. Visit that Other step types chapter.


* https://es.wikipedia.org/wiki/Expression_Language