Is the complex gateway supported in the Camunda Engine ?
No it’s not - out of interest what are you trying to model that might require a complex gateway?
My scenario is that I have a parallel sequence…
Sequence 1: being an user task that can be completed
Sequence 2: An external task that can be completed (system triggered)
I need the continue/merge as soon as one of them complete … (but the next task should only execute once)
As a workaround - I could have conditional gateways after each task to transition them to an end event if a variable is set (based on the first task that completes)… however a complex gateway seemed more elegant …
Is there another way to achieve this that I may be missing ?
There are quite a few ways of modeling this - i wouldn’t recommend a complex gateway because their broad definition leads to confusion of readers, its just not explicit enough. (Also it doesnt execute )
I would suggest this solution: https://cawemo.com/shares/3a0fa9c0-08de-49a3-928c-5fba0758f34e
But as i said. there are a lot more options.
How to model concurrent User Tasks
Thanks for sharing. The given example is using sub-process. Instead of using sub-process, can you share other way so that activities can put nicely on bpmn swimlane?
Lanes have no semantics for scope in the same way as a sub-process would so it wouldn’t work in the same way with lanes.
Can you tell me why you need to use lanes and describe what you’re trying to achieve?
I have different user groups, and each lane represents a specific user group. As swimlane can clearly visualize the task responsibilities, so just checking any other ways instead of sub-process to stick activities on lanes…
From what i remember - accoring to the BPMN standard Activities cannot cross lanes.
Generally speaking i hate using lanes - it makes models harder to read and maintain. I would suggest using colors to represent the tasks. But if you really want to use lanes this would also work:
Thank you for your prompt reply. Really appreciate your helps.
I totally agreed that lanes is tough.