BPMN deployment fails due to unknown BPMN extensions
Describe the bug The Zeebe engine refuses to deploy a schema-valid BPMN file that contains extension elements from other vendors, e.g.
<semantic:relationship type="trisoExtension">
<semantic:extensionElements>
<triso:graphRelations />
...
</semantic:extensionElements>
...
</semantic:relationship>
This issue has been discovered during the preparations for the demo of the OMG's BPMN Model Interchange Working Group that is planned for the OMG Technical Meeting during March 21-25, 2022 in Reston, VA USA.
It is likely going to be a problem for any users that have BPMN models created or modified by modeling tools from other vendors. All BPMN tool vendors use extensions as standardized by the BPMN specification to store additional meta data in the models. The engine is not required to understand such extensions but must not reject models because of them.
There are also standardized BPMN extensions like BPMN in Color or BPMN I18n, which use the same XML mechanics and must also not be rejected.
To Reproduce
Deploy the attached BPMN file: Vacation Request Part6 - Camunda Cloud.bpmn.txt
Expected behavior
The BPMN parser of the engine ignores any XML elements that it doesn't know about. It may warn about them. It should fail if a model is not schema-valid.
Log/Stacktrace
Full Stacktrace
Command 'CREATE' rejected with code 'INVALID_ARGUMENT': Expected to deploy new resources, but encountered the following errors:
'Vacation Request Part6 - Camunda Cloud.bpmn': Unable to process unknown element with name graphRelations [ deploy-error ]
Environment:
- OS: Linux
- Zeebe Version: 1.3.0-alpha1
- Configuration: Camunda Cloud SaaS
Camunda Modeler system information
- Version: 4.12.0-nightly.20211117
- Operating System: Linux x86_64 amd64
- Plugins: BPMN Driven Testing, Layering, BPMN Linter, Rename Technical IDs, Transaction Boundaries, Camunda Property Infos, Camunda Cloud, Cloud Connect
- Execution Platform: BPMN - Camunda Cloud
Workaround: xmlstarlet edit --inplace --ps -N bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" --delete "//bpmn:extensionElements" 'vacation-request.bpmn'
Related to #8230
If someone has some spare time we could pick this up to make the demo work in March
We want to verify if this issue still exists or if it is fixed already (as we expect).
We want to verify if this issue still exists or if it is fixed already (as we expect).
Command 'CREATE' rejected with code 'INVALID_ARGUMENT': Expected to deploy new resources, but encountered the following errors: 'VacationRequest.bpmn': Unable to process unknown element with name
graphRelations[ deploy-error ]
<semantic:relationship type="trisoExtension">
<semantic:extensionElements>
<triso:graphRelations />
<triso:itemDefinitions>
Hi, @saig0, It's still exists. graphRelations is not on BPMN2.0 spec.
Hi, @menski ,@saig0 @falko, I've tested on the latest 8.2.0-SNAPSHOT(after PR #10845 Related to #8230 and PR #11074 Related to #8521 #10962), this issue it's not exists any more.
The bpmn file can be successfuly deployed, after add the job types and change conditions. Vacation.Request.Part6.bpmn.txt
I can confirm that the issue fixed in the current snapshot version. :heavy_check_mark: The fix will be available in version 8.2.0-alpha3.
@skayliu thank you for testing it. :rocket: