README revision 7d7e57e489804077bc11a889cafce9f7503c5f86
539N/AThe openidm/samples/usecase directory includes a number of sample workflows that demonstrate typical
539N/Ause cases for OpenIDM. The use cases work together to describe a complete business story, with the
804N/AThese use cases use OrientDB as a repository by default. Alternative repository configuration files
539N/Aare provided in the openidm/samples/usecase/db directory. If you want to use one of these alternative
911N/Arepositories, remove the repo.orientdb.json file from the conf/ directory of the use case you are
911N/Atesting and copy the appropriate JDBC repository configuration files into that conf/ directory. For
539N/AEach use case builds on the previous one. You must run the use cases in order, from use case 1 through
539N/A3, before you try the remaining use cases. Use cases 2 onwards depend on the hr_data.ldif file that you
970N/AAll the samples assume an initial setup of managed users in OpenIDM. The users are organized as follows:
- systemadmin: user representing the human interaction of the populated systems (“Business” and “Project”)
$ curl -k -u openidm-admin:openidm-admin "https://localhost:8443/openidm/managed/user?_queryId=query-all-ids"
- Copy the workflow bar file (samples/usecase/usecase2/workflow/newUserCreate.bar)
definition (newUserCreate.bpmn20.xml).
$ zip newUserCreate.bar newUserCreate.bpmn20.xml nUCDecideApprovalForm.xhtml nUCStartForm.xhtml
2. Log in to the Self-Service UI (https://localhost:8443) as user.1. This user belongs to HR department
3. Click Details next to User Onboarding Process link and complete the fields for a sample new user.
task becomes available under the manager's My Group's Tasks section. Select the contract termination
This step simulates a user initiating an access request, with two levels of approval for the request.
subject : 'Use Case Test Notification', type : 'text/plain', body : 'The access request was accepted']
- Access to Business system field: the value reflects the current value in the managed user repository.
- Access to Project system field: the value reflects the current value in the managed user repository.
- Reject: The user who initiated the request (in our sample user.1) receives a notification about the
In this sample there is an escalation step attached to the manager approval task. If the manager does not
complete the user task within 10 minutes, a new user task is created and assigned to superadmin. This task
has the same interface as the one assigned to the manager of the user and has the same functionality. If
the superadmin completes this task, the execution is passed to the administrator for approval (systemadmin).
This file defines a mapping, recon_managedUser_systemBusiness, that has managed users as source and a
CSV file as the target object set. The target object set is defined in samples/usecase/usecase4/data/business.csv.
The CSV file includes all the users from the initial reconciliation (usecase1), who are employees and
Because this mapping has a 'validSource' field defined, only the managed users who are employees are
$ curl -k -u openidm-admin:openidm-admin -H "Content-Type: application/json" -X POST "https://localhost:8443/openidm/recon?_action=recon&mapping=recon_managedUser_systemBusiness"
Managed users have a dedicated attribute to store the date of the last password change event (lastPasswordSet).
The value of this attribute is updated by an onStore script defined in managed.json, which sets the date of
the attribute if a new password is stored for the user. The TaskScanner scans that attribute and starts a
The workflow is started by the usecase6/script/passwordchange.js script.
By default, the workflow sends notifications to the user entry, visible when the user logs into the UI. If you want
- Two minutes later changes the user's 'accountStatus' to 'inactive' and sends notification to the user (if the
3. Log in to the Self-Service UI as one of the sample users, e.g. user.0 (default password is 'Passw0rd').