at our company we are going to use Camunda workflow engine for process automation. At the moment we are trying to define a reasonable workflow which mirrors our business process. We don't really know how to model (and then implement) the following scenario:
Start -> Service Task 1 -> User Task -> Gateway -> Service Task 2 (based on user choice in the User Task)
The Service Task 1 creates an object, which can be used by a user in the User Task. A user chooses (based on the state of the object created in Service Task 1 and on his rights) the next action to be executed on the object.
E.q. we have user A and user B. User A may edit the object, create a report, review it, forward it to another user, or complete the processing of the object. User B may ask for a review, forward the object to another user, or complete the processing, but only if the object was already reviewed by user A.
In order to offer to the user only the actions (gateway outcomming sequence flows / service tasks) he could choose from, we have to decide it (to filter the possible actions) after the Service Task 1 was already completed and the user logs in and chooses the process instance to go on.
How could this situation be propely modeled by bpmn? How would you implement it using camunda? Using some sort of Listeners, JavaDelegate implementations, something else?
Regards, Iryna.