Configuring User Holidays/Vacations in BPM is fairly straight forward. The users can set up Holidays and select other Users to reassign tasks to. So if a task is assigned to a specific User and that user is on holiday, then the task is automatically re-assigned to the User the user has chosen.
They can make use of this functionality via the Default BPM Workspace or from a custom BPM Workspace implementation.
Default BPM Workspace (localhost:port/bpm/workspace)
We will perform the User Holiday tests with our good friend jcooper.
1. Log into the BPM Workspace
2. Click on Preferences at the top right:
- Tick Enable Vacation Period
- Select the Start and End Date
- Tick Reassign to and look up the User you would like to reassign tasks to
- Click Save
To view this functionality, click on My Rules then click on the green plus. The below screenshot shows an example of what a user could enter:
Once a test case is created, when we drill into the initialised human task instance in the Flow Trace of the EM, we can see that it was firstly assigned to jcooper, then the reassignment vacation rule removed it from jcooper and created the same instance for achrist - our chosen reassignment candidate:
Custom BPM Workspace
If you have a custom BPM application implemented via adflibTaskListTaskFlow.jar, then you can make use of the task flow provided by this jar. The task flow is called rules-task-flow-definition.
Expose this task flow on a page and the user will see the same Rules page from the Default BPM Workspace. Be sure to grant this task flow priviledges in jazn-data.xml before deploying.
Note: I do not think it is possible for an admin to control Vacation rules on behalf of Users using the UI. So if a User comes back from Vacation/Holiday, it is their responsibility to ensure that their Vacation Rules are correct. An admin may be able to modify Vacation Rules on behalf of the user using the BPM API... but that is a separate investigation and would require a separate post! :)