elsa-workflows / elsa-workflows/elsa-studio
BPMN W14: visual editing of BPMN diagrams (v2)
- Dominant language
- C#
- Stars
- 301
- Forks
- 181
- Avg merge
- 17h 12m
- Merged PRs (30d)
- 42
Description
Part of elsa-workflows/elsa-core#7909 (W14). **v2, explicitly not in v1.** Filed so the boundary of v1 is written down.
Visual editing of a BPMN diagram: move and resize shapes, reroute edges, add and remove elements and flows, edit labels, writing geometry back into BPMN DI and structure back into the document. Written against the view model (W9a) so it lands on both canvases at once.
Constraints already settled in #7909:
- D4: mutate the whole document in place and send the whole document back. Never reconstruct from the view model.
- D12: no BPMN semantics in Studio. Adding a gateway adds an element; whether the diagram is well-formed is the library's import analyzer's verdict, surfaced through the write-back endpoint's findings.
- The D4 round-trip regression test is the gate: import a Camunda file with `camunda:*` extensions, move one shape, save, export, and every extension element and every unedited waypoint is byte-identical.
Until this lands, the honest v1 answer for editing a diagram's shape is: edit it in Camunda Modeler or any BPMN tool, re-import with `DefinitionId`, and bindings (which live in the document as `elsa:` extensions) come along.
Contributor guide
Research direction
Start by reading the W14 boundary and settled constraints in elsa-workflows/elsa-core#7909, then trace the W9a view model and the write-back endpoint. Use the D4 round-trip regression test with a Camunda file containing camunda:* extensions as the first validation. Done means visual edits write geometry and structure back while preserving every extension and unedited waypoint byte-for-byte.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100