Situation:
In my opinion this is very common scenario where you have User Task with multiple users in parallel where you have outcomes Approve/Reject. When anyone Reject we reject entity, when everyone Approve we approve entity.
Routing out of user task is handled by bproc addon, where you can choose condition like “Everyone/Anyone/No one” completed with outcome.
If you have 2 assignees, first assignee rejects, second assignee have to finish his task anyway, althought you would want to finish task after first assignee. This can be achieved using Completion Condition of Task. For completion condition you can use expression with zero information in documentation.
You can use expression eg.:
${bproc_UserTaskResults.getOutcomesCount(execution.getVariable(‘MultiTask’),‘reject’)>0}
Idea:
- Completion condition field should be multi-line as it is always going to be long expression
- Add examples to documentation/sampler
- Create graphical selection of completion conditions similar to outcome routing