I tried to import examples from bpmn.io and there were several errors. I think that CPD uses an older version of bpmn.js. Which version is included in CPD? (The actual version of bpmn.js is 18.16.0)
Hello sschwietert,
welcome to the forum! ![]()
We are currently using version 18.6.2 in CPD.
Could you please share the exact error messages you encountered when importing the examples from bpmn.io? This will help us better understand whether the issue is related to the version difference or something else.
Kind regards
I tried the example “pizza-collaboration” bpmn-js-examples/url-viewer/resources/pizza-collaboration.bpmn at 27ab4d34f1d4bd9e48f6353ee3186ae0d223d2a5 · bpmn-io/bpmn-js-examples · GitHub
This gave 2 errors and 5 warnings
CPD uses some additional rules, for example to make the description pages work reliably. You can either resolve the warnings (hover over the warning to get an explanation of the error message). Or, if you do not plan to create description pages, you could try to deactivate the linter by setting the configuration variable CPDEnableLinting to false.
I don’t care about the warnings. What is annoying is the error in the first lane. There is a loop that is forbidden in the version in bluespice but allowed in the actual version. These loops are very common and I’d like to use it.
The second error in the lower lane becomes a warning if I change the event to something else and back again.
When you say it is allowed in the -“actual version”, does it have a linter installed?
The linter in BlueSpice uses 'no-gateway-join-fork': 'error' (compare to recommended linter config).
With that linter setting, the event gateways cannot join and fork at the same time. This is BPMN 2.0 conform, where bpmn tools can deny gateways to join and fork at the same time:
“The Gateway controls the flow of both diverging and converging Sequence Flows. That is, a single Gateway could have multiple input and multiple output flows. Modelers and modeling tools might want to enforce a best practice of a Gateway only performing one of these functions. Thus, it would take two sequential Gateways to first converge and then to diverge the Sequence Flows.”
That means that in that case you usually precede the event gateway by an xor-gateway which handles the joining.
As far as your end event is concerned, you should simply use a standard end event.
Error-free pizza example:
Ok, that will work. I’m not sure if this is a good solution but it is one. I will think about it.

