[FEAT] Only infer incoming/outgoing ids #2852
Labels
BPMN support
Something about the BPMN specification that the lib is already supporting or will support
enhancement
New feature or request
Milestone
Suggested refactoring
I suggest to refactor how incoming/outgoing ids are retrieved from the BPMN source:
Rationale
I implemented the properties retrieval as a first implementation #2520.
As incoming/outgoing properties are not mandatory in the model, we then add an "inferring" step to compute the ids that could miss (by checking the source and target attributes of a flow). That way, we ensure we are not missing values. We did this in #2638 which also allow to get information not available in the model (incoming/outoing values for participant/pool and text annotation).
The incoming/outgoing properties can be wrong for instance if an initial diagram with such values is modified with a modeler that don't support them. After some diagram modifications of flow, the ids previously referenced incoming/outgoing may not reference anymore flows, but they could stay in the model if the modeler decide to not touch them.
There is currently no filtering of such wrong values in
bpmn-visualization
.However, "retrieving the properties" is useless as "inferring" computes the sames values without the extra wrong values. That's why I suggest to only keep the "inferring" step.
Side effects of the current implementation
The
PathResolver
provided bybv-experimental-add-ons
and all our future path-related APIs will rely on incomings/outoings values, so they must be exact.In process-analytics/bpmn-visualization-addons#119, we already see that wrong edges/flows can be inferred because of that.
The text was updated successfully, but these errors were encountered: