-
Notifications
You must be signed in to change notification settings - Fork 495
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
Better linting for ad-hoc subprocess #4811
Comments
To consider: What is Camunda specific, what is core, and hence shall be validated via |
This is coming from BPMN:
Too bad the spec lacks |
I updated the top comment with BPMN and Camunda constraints which should be implemented. @barmac could you confirm it's correct? |
@jarekdanielak I can confirm that above thing is correct/a great start. |
From the context, I think we can assume that this is the limitation for the flow objects. I'd rather not disallow artifacts in an ad-hoc subprocess (text annotations, groups). |
Interesting point brought today by @jarekdanielak: Should we disallow Data Store Reference in an ad-hoc subprocess? While the spec seems to be clear about this (allows explicitly data object and data associations but misses data storage), I'd rather not enforce it in the tooling. The only thing relevant for the execution in Camunda context is the flow objects set, and out of these the spec disallows start and end events only. The artifacts and item aware elements should be ignored. |
We allow data stores outside of pools, too, for modeling convenience. Hence I'd argue for 👍, handle data stores in a forgiving way, allow them inside ad-hoc sub-processes, too. |
So the linting rule for an ad-hoc subprocess will only extend the existing rule for a regular subprocess by disallowing start and end events. Additionally, in Camunda linting we enforce it has at least one activity. |
Verify that an ad-hoc sub-process only contains valid elements: * Does not contain start or end events. * Every intermediate event has an outgoing sequence flow. Related to camunda/camunda-modeler#4811
Verify that an ad-hoc sub-process is valid: * Must not contain start or end events. * Every intermediate event must have an outgoing sequence flow. Related to camunda/camunda-modeler#4811
Problem you would like to solve
There is no linting for ad-hoc subprocess except for checking for Camunda version >= 8.7.
Proposed solution
Add linting for ad-hoc subprocess.
Ensure BPMN specification constraints (bpmn-lint):
* we also allow artifacts, following our logic for a regular subprocess (comment)
Ensure Camunda constraints (bpmnlint-plugin-camunda-compat):
The following Camunda constraints are enforced by BPMN standard:
Additional context
The text was updated successfully, but these errors were encountered: