New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support BPMN Inclusive Gateways #6018
Comments
Hi @ningdr. Could you describe your use case in more detail? Maybe we can help you find a different approach. In the meantime, I can already tell you the core team has no short or mid term plan to support the inclusive gateway symbol, though I'm sure it will eventually make its way into Zeebe. Hope this helps! |
@ningdr thank you for providing the input 👍 I see that the inclusive gateway would be handy in this situation. It allows modeling the flow in a compact way. But the inclusive gateway can also be tricky in more complex situations. Depending on the model, it can be hard to determine if an active path (i.e. a token) will merge with the inclusive gateway or not. This is important to know to decide if the gateway can be left or not. In many situations, like in your case, you can model the workflow differently without inclusive gateways. For example, using a combination of parallel and exclusive gateways. It is not so compact and looks more complex but it would work for now 😉 |
I have thought of using the exclusive and parallel gateway, but, we need to load a BPMN model given by the other system, in this situation, we couldn't give a common function to process all the relationship which in the BPMN model. |
@saig0 I think I have fix it,task a look those images。 |
9747: Support diverging inclusive gateway r=korthout a=skayliu ## Description <!-- Please explain the changes you made here. --> This PR adds support for the diverging (i.e. splitting, forking) inclusive gateway. <img width="50%" alt="Screen Shot 2022-08-05 at 19 59 33" src="https://user-images.githubusercontent.com/3511026/183134257-7b62393c-eb51-4b06-9651-de834ebc2741.png"> When the inclusive gateway is entered: - The condition of each outgoing sequence flow (of the inclusive gateway) is evaluated, and - if `true` that sequence flow will be taken. - if none of the conditions evaluates to `true`, the _default_ flow is taken. - if none of the conditions evaluates to `true`, and no flow is set as _default_, then an incident is raised. - Depending on the conditions, any combination of the flows can be taken. - If the inclusive gateway only has one outgoing sequence flow, then it does not need to have a condition. For example, when the conditions of flows `a` and `b` evaluate to `true`, then flows `a` and `b` are taken and their targets activated. <img width="50%" alt="Screen Shot 2022-08-05 at 20 14 55" src="https://user-images.githubusercontent.com/3511026/183137053-a02a6694-3217-465a-8b87-41fb048cb2f2.png"> If none of the conditions evaluates to `true`, then the _default_ flow is taken. <img width="50%" alt="Screen Shot 2022-08-05 at 20 17 20" src="https://user-images.githubusercontent.com/3511026/183137419-3ea72405-59bf-4c2f-beb3-ef1e26369e0c.png"> Related docs: - [conditions](https://docs.camunda.io/docs/components/modeler/bpmn/exclusive-gateways/#conditions) (for exclusive gateway) - [incidents](https://docs.camunda.io/docs/components/concepts/incidents/) ## Out of scope This PR does not add support for the converging (i.e. merging, joining) inclusive gateway. - The diverging inclusive gateway adds a lot of value, even without the converging behavior. - In addition, a combination of parallel and exclusive gateways can be used to merge the flows again. ## Related issues <!-- Which issues are closed by this PR or are related --> closes #6018 10023: Add note about community channels to general issue template r=oleschoenburg a=menski ## Description Try to guide people for general questions to the community channel, to reduce the amount of questions in github issues. Co-authored-by: skayliu <skay463@163.com> Co-authored-by: Sebastian Menski <sebastian.menski@camunda.com>
#9747 added support for the diverging (forking) behavior.
|
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: