There are times when the process completes successfully, but after a while information appears that it was not executed correctly. I cannot automate this event. In this case, the process either rolls back or you only need to repeat some steps and skip some of the steps. Moreover, it is impossible to single out some groups, the steps that are skipped are always different.
It turns out that it is necessary for some process instances at the start to immediately indicate which steps should be skipped. Does Zeebe have this capability and how can it be implemented?
I’m still thinking how best to do it, but for now my thoughts are:
The process must be driven by the BPMN model and some hidden mechanisms for skipping steps will greatly complicate monitoring and debugging. And it seems that skipping steps not through the BPMN model violates the whole concept.
If we talk about my problem, then I want to suggest to colleagues when such cases arise, to make a separate process for this specific situation and launch a debug instance on it. This will help to monitor the process separately and there will be no conflicts. These cases are rare and exceptional. Otherwise, they could be automated.
Philipp, you’re right, it’s better to use BPMN primitives to skip steps. We can, on the basis of data, understand where to move through the process. The model can get a little more complicated, but this is better than non-obvious behavior in the process.
Now I have no concrete example. But as we get to the implementation of such a case, I will try not to forget to publish our version.