We have the concept of state machine. When an instance goes from one state to another state, approvals from users are needed. These users vary from one instance to another, meaning a static definition of workflow isn’t possible. There are cases where automatic user selection based on certain criteria is needed and there are cases where manual user identification is needed. How can this be achieved in Camunda or can it be achieved?
User tasks can be dynamically assigned in Camunda and there’s lots of ways of triggering a review at every stage of a process, it just depends on how you want to model it. This should be pretty easy.
What are the options?
It depends a lot on the process in question.
Can you give a clearer idea of the process you’re trying implement? Also clarify why you need so much user interaction.
The description was in the original question:
We have the concept of state machine. When an instance goes from one state to another state, approvals from users are needed. These users vary from one instance to another, meaning a static definition of workflow isn’t possible. There are cases where automatic user selection based on certain criteria is needed and there are cases where manual user identification is needed.
In a cross domain development scenario, you cannot define a status user list. Depending on the context and problem, different users might need to get involved to resolve the process.
That’s not really enough information.
What are the consequences of the approvals?
what exactly is happening between each approval?
Can you share an example of the process you’re trying to build?
Consequences of approval could trigger anything - sending information to downstream applications, prevention of state promotion and sending notifications, stoppage of approvals from others, as examples. There could be discussions on why a user rejected.
Users might add additional information - like verification results so that a subsequent person can review it.
Alrighty, so you don’t seem to have a specific process in mind - you’re just wondering about capabilities in general.
Well it’s incredibly straight forward to model something like this using BPMN. there are lots of potential permutations depending on specifically what you need to do so I’ll just show you an example from the blueprints marketplace for Order fulfillment.
This isn’t what I am looking for. We can model the process. I was interested in understanding how to change the users dynamically at the instance level. If I model the approval process as chained user tasks, where the number of approvers might also change, given that a process instance needs to be created with the dynamic users, are there APIs that can help us achieve this? Some users need to be added in parallel (parallel tasks) and some sequential (one after the other). This workflow has to be created dynamically as I do no know how many approvers I need ahead of time.
Let’s look at the process you linked. In the credit service check I could potentially have 2 or 4 users perform this task, some serial and some parallel. The service order review task could also have variable users. Rejection by any user might go back to credit service check. Notify order completion can be to customer and OMS users that were involved in the process.
At the process level, you have defined credit service check as a user task. But for one process instance I might need 2 approvers, but for another instance it could be 5.
Given your example, how would I modify at the process instance level?
Use a Multi-Instance marker
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.