Disallow multiple users of the same group to open the same task in gamSingleTask mode, whenever a task is already opened by any user within the group.
In the manual it states the following:
“gamSingleTask: A single task will be created that will be visible for all users in the group. If you later
include/remove users to/from the group, the existing tasks will become not visible for users removed
from the group, and will become visible to users added to group. Any user from the group can update
the task, including finishing it.”
After some testing I discoverred that in a situation were multiple users are presented with the same task (users are in same group).
• They can all enter this single task
• They can have a different result (one can complete the task where the other can change status to “Rejected” again.
• The moment one of the users saves the task, this will be shown in the logfile, but other users won’t see the change until the log-tab is (re-)opend.
• The moment one of the users saves the task, the task will not automatically disappear from the tasklist of other users. Nore is the status of the task updated. Therefore they have no indication that the task is already executed.
This almost equals the functionality of gamSingleTask to that of gamMultipleTasks.
This will therefore not work in a multi user environment?
Real world example:
Task: Create an offer for customer A.
After the status of the task is changed to “Started” the following script will execute (opening form: “Create offer”). The first user who changes this task will therefore create the offer. The next user who also changes the task to “Started” will perform the same task. Resulting in two offers for customer A.
Of course I could assign such tasks to individual users, but that will give other challenges. F.e. in case that user is ill or goes on vacation. All created tasks assigned to that user will wait for the users return, as no other user will see the task.
Add the moment any user opens a task, the task is marked as locked. Whenever another user tries to open the same task, Workflow Studio will present a message “Task is already worked on, please select a different task to work on”. At the level of the workflow definition one could check a field “Only allow one user to execute the task (if assigned to a group)”.
Two possible approaches to solve this:
- This could be handled by setting some internal workflow-variable “IsLocked” to TRUE the moment a task is opened. If the user leaves the task (with or without saving any changes), the internal workflow-variable “IsLocked” will be reset to FALSE, allowing other user to open it (if it still exists).
- This could also be registered in a new field “IsLocked” that can be added to table “wstaskinstance”. Locked tasks will not be shown to users if they open the tasklist. They will only see these task when they had opened their tasklist before any user started working on it.
Or any solution you might come up with.