Skip to content
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

Warn about missing BPMN Shape #4277

Closed
korthout opened this issue May 8, 2024 · 3 comments · Fixed by #4309
Closed

Warn about missing BPMN Shape #4277

korthout opened this issue May 8, 2024 · 3 comments · Fixed by #4309
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@korthout
Copy link
Member

korthout commented May 8, 2024

Problem you would like to solve

I was not warned by Modeler that the diagram was missing a BPMN Shape for a process element.

Specifically, there was no <bpmndi:BPMNShape> for this:

<bpmn:sequenceFlow id="Flow_1d8avtw" sourceRef="Activity_1ipwzk8" targetRef="Activity_0ll9m9k" />

Proposed solution

Warn the user with a problem stating that the process model has an item not visible in the diagram, and which item.

Alternatives considered

Pay really good attention to the XML :)

In all honesty, another option is for Zeebe to reject models where the visual diagram does not provide a shape for each element in the process. There are several issues with this:

  • breaks backward compatibility
  • less interoperability with models produced by third parties
  • I like doing less

Additional context

I investigated a process instance that unexpectedly had an extra token after a parallel gateway. This made us think we had a bug in the engine.

After detailed root causing, I discovered that Zeebe executed the process instance correctly. There was a rogue Sequence Flow by passing the Parallel Gateway in the bpmn process (XML), but the visual diagram did not contain a BPMNShape for this item.

@korthout korthout added the enhancement New feature or request label May 8, 2024
@barmac
Copy link
Contributor

barmac commented May 8, 2024

We could get this for free if we enable bpmnlint:recommended ruleset per default.

Otherwise this can be achieved via a plugin: https://github.com/camunda/camunda-modeler-custom-linter-rules-plugin

@nikku
Copy link
Member

nikku commented May 13, 2024

@barmac Lightweight alternative to be considered: Add only the no-bpmndi rule. I think it is an important safeguard; at best it will save our users a bunch of time to root cause bugs.

@nikku nikku added the ready Ready to be worked on label May 13, 2024
@nikku
Copy link
Member

nikku commented May 13, 2024

Moving to ready to discuss with the team.

@marstamm marstamm added the in progress Currently worked on label May 23, 2024 — with bpmn-io-tasks
@marstamm marstamm removed the ready Ready to be worked on label May 23, 2024
marstamm added a commit to camunda/linting that referenced this issue May 23, 2024
merge-me bot pushed a commit to camunda/linting that referenced this issue May 23, 2024
marstamm added a commit that referenced this issue May 24, 2024
@bpmn-io-tasks bpmn-io-tasks bot added needs review Review pending in progress Currently worked on and removed in progress Currently worked on needs review Review pending labels May 24, 2024
marstamm added a commit that referenced this issue May 24, 2024
@bpmn-io-tasks bpmn-io-tasks bot removed the in progress Currently worked on label May 24, 2024
@nikku nikku added this to the M77 milestone May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants