Skip to content

Releases: process-analytics/bpmn-visualization-js

0.8.0

30 Nov 16:32
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet and @tbouffard

See milestone 0.8.0 to get the list of issues covered by this release.

Highlights

New demo page (using tailwindcss)

The Demo page has been refreshed and now provides full navigation capabilities (zoom, pan, fit). It will be improved in the next releases to provide more features.

image

Documentation - clear split between contributors and users

For easier navigation and readability, we have split the documentation.

API for customization

The first API draft was constructed.
Moreover, first implementation of one of endpoint arrives in this release.

getBpmnHtmlElement(bpmnElementId: string): HTMLElement | null

Code quality - public metrics

SonarCloud is set up and accessible here: SonarCloud

Examples

Refined home page with sticky section titles and back to top button.
Add new examples:

  • comparison with bpmn-js
  • open a call activity in a modal by clicking on a BPMN element of a main diagram

See the live environment.

What's Changed

⤵️ Library Integration

📝 Documentation

🎮 Demo and Examples

📦 Dependency updates

👻 Maintenance

  • [INFRA] Add SonarCloud analysis on CI build (#906) @csouchet
  • [REFACTOR] don't paint the Manual Task icon twice (#907) @tbouffard
  • [REFACTOR] Update the FitType API (#895) @csouchet
  • [REFACTOR] Use the diagram rendering html page on the visual tests for the fit margin on load (#894) @csouchet
  • [REFACTOR] update bpmn div id in test pages (#893) @tbouffard
  • [REFACTOR] Merge html pages used in visual tests (#891) @csouchet
  • [INFRA] more visible remaining manual edits in release-drafter template (#889) @tbouffard
  • [REFACTOR] Use validators for fit margin (#877) @tbouffard

0.7.0

16 Nov 16:29
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, @dependabot and @tbouffard

See milestone 0.7.0 to get the list of issues covered by this release.

Highlights

Detect a new set of Gateways: the Event-Based Gateways

This gateways are currently rendered with an arbitrary color, the final rendering will be implemented in a future release.

image

  • Orange: Non Instantiating Event-Based Gateway (for rendering, see #796)
  • Purple: Instantiate Exclusive Event-Based Gateway (for rendering, see #798)
  • Light blue: Instantiate Parallel Event-Based Gateway (for rendering, see #800)

Allow to update the container fit level after the BPMN Diagram loading

Now, we can fit the BPMN diagram rendering without loading it again.
The fit type are the same for the fit on load: None, Horizontal, Vertical, HorizontalVertical & Center.

fit_level_after_diagram_loading

Add performance tests

We have decided to add performance tests to be able to validate the critical features:

  • loading the BPMN file
  • zoom (below it is clear that zoom performance was improved after introducing: throttle and debounce mechanisms; first 5 runs show the state before this improvement)

performance_tests

What's Changed

🚀 BPMN support

🧲 BPMN diagram usability

📝 Documentation

📦 Dependency updates

  • [INFRA] dev - Bump puppeteer from 5.4.0 to 5.4.1 (#884) @dependabot
  • [INFRA] dev - Bump eslint-config-prettier from 6.13.0 to 6.15.0 (#886) @dependabot
  • [INFRA] dev - Bump @types/jest-image-snapshot from 4.1.2 to 4.1.3 (#885) @dependabot
  • [INFRA] dev - Bump @types/minimist from 1.2.0 to 1.2.1 (#887) @dependabot
  • [INFRA] dev - Bump @rollup/plugin-node-resolve from 9.0.0 to 10.0.0 (#871) @dependabot
  • [INFRA] dev - Bump @types/puppeteer from 3.0.4 to 5.4.0 (#874) @dependabot
  • [INFRA] dev - Bump rollup from 2.32.0 to 2.33.1 (#873) @dependabot
  • [INFRA] dev - Bump eslint from 7.12.1 to 7.13.0 (#872) @dependabot
  • [INFRA] dev - Bump rollup-plugin-serve from 1.0.4 to 1.1.0 (#870) @dependabot
  • [INFRA] dev - Bump rollup-plugin-typescript2 from 0.27.3 to 0.29.0 (#850) @dependabot
  • [INFRA] dev - Bump eslint from 7.11.0 to 7.12.1 (#851) @dependabot

👻 Maintenance

  • [REFACTOR] Prepare the visual tests for the fit after load (#881) @csouchet
  • [REFACTOR] Prepare the demo page for the fit after load (#882) @csouchet
  • [REFACTOR] Rename global options object (#878) @tbouffard
  • [REFACTOR] Change the name of the visual tests for the fit on load (#875) @csouchet
  • [INFRA] Run GitHub workflows on Ubuntu 20.04 (#863) @tbouffard
  • [INFRA] Tests performance measurement (#856) @aibcmars

0.6.0

02 Nov 14:46
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @VickyPicky, @aibcmars, @csouchet, @dependabot and @tbouffard

See milestone 0.6.0 to get the list of issues covered by this release.

Highlights

Detect and Render a new set of Events

Now, we fully support all Events except Multiple Events.

Cancel Events

events_cancel

Conditional Events

events_conditional

Escalation Events

events_escalation

Allow to fit the viewport on BPMN Diagram load

You can now choose to fit horizontally or vertically. Additional options to fit both horizontally and vertically plus center the BPMN diagram are also available.
See the examples repository for more details.

In the following example, we fit and center the BPMN Diagram.

image

What's Changed

🚀 BPMN support

🚄 BPMN rendering

🧲 BPMN diagram usability

  • [FEAT] Fit center the viewport on diagram load (#836) @csouchet
  • [FEAT] Fit vertically the viewport on diagram load (#835) @csouchet
  • [FEAT] Fit horizontally the viewport on diagram load (#834) @csouchet
  • [FEAT] Fit horizontally & vertically on diagram load (#833) @csouchet
  • [FEAT] fix proportions for zoom in and zoom out coherence (#832) @aibcmars
  • [FEAT] Change mouse cursor while panning (#815) @aibcmars

🐛 Bug Fixes

  • [FIX] Fills the icon for Compensation Throw & End Events (#822) @VickyPicky
  • [FIX] Display boundary events of collapsed sub-process (#821) @tbouffard

📝 Documentation

  • [DOC] Update the README with the integration examples by module format (#816) @csouchet
  • [DOC] Add info about npm publish (#788) @aibcmars

📦 Dependency updates

👻 Maintenance

  • [DEMO] Rename 'options' into 'globalOptions' (#838) @csouchet
  • [TEST] Rename visual tests for BPMN rendering (#837) @csouchet
  • [TEST] Remove unnecessary duplicated dependency: jest-each (#831) @csouchet
  • [INFRA] use @types/jest-image-snapshot instead of custom types (#825) @tbouffard
  • [INFRA] Show dependencies sizes in rollup build (#820) @aibcmars
  • [REFACTOR] Extract BpmnMxGraph class in separate file (#818) @csouchet
  • [REFACTOR] Rename icon methods in IconPainter to reflect what is drawing (#810) @csouchet
  • [TEST] Add missing shapes in model-badly-attached-elements.bpmn file (#809) @csouchet
  • [TEST] Fix the visualization test for the Events on MacOS (#814) @csouchet
  • [INFRA] Add noImplicitThis rule (#813) @aibcmars
  • [TEST] Remove unnecessary configuration in model e2e (#785) @csouchet

0.5.0

19 Oct 15:08
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @alachambre, @benjaminParisel, @csouchet, @dependabot, @process-analytics-bot and @tbouffard

See milestone 0.5.0 to get the list of issues covered by this release.

Highlights

Compensation Events

image

Business Rule Task

image

Pan

pan

Zoom

zoom

What's Changed

🚄 BPMN rendering

🧲 BPMN diagram usability

🐛 Bug Fixes

  • [FIX] Don't display elements of a Collapsed Sub-Process (#772) @csouchet

📝 Documentation

🎮 Demo and Examples

  • [FEAT] Allow to hide controls (button, text) in the demo page (#740) @tbouffard

📦 Dependency updates

👻 Maintenance

  • [TEST] Fix e2e test for navigation on MacOS (#784) @csouchet
  • [TEST] Convert expectModelContainsLane to jest extension (#766) @csouchet
  • [TEST] Convert expectModelContainsPool to jest extension (#765) @csouchet
  • [TEST] Convert expectModelContainsSubProcess to jest extension (#764) @csouchet
  • [TEST] Convert expectModelContainsBpmnEvent, expectModelContainsBpmnBoundaryEvent & expectModelContainsBpmnStartEvent functions to jest extension (#763) @csouchet
  • [TEST] Introduce 'toBeBusinessRuleTask' Jest extension (#762) @csouchet
  • [TEST] Introduce 'toBeScriptTask' Jest extension (#761) @csouchet
  • [TEST] Introduce 'toBeManualTask' Jest extension (#760) @csouchet
  • [TEST] Introduce 'toBeSendTask' Jest extension (#759) @csouchet
  • [TEST] Remove unnecessary Jest extension (#770) @csouchet
  • [TEST] Introduce 'toBeReceiveTask' Jest extension (#758) @csouchet
  • [TEST] Introduce 'toBeUserTask' Jest extension (#757) @csouchet
  • [TEST] Convert expectModelContainsCellWithGeometry to jest extension (#769) @csouchet
  • [TEST] Introduce 'toBeServiceTask' Jest extension (#756) @csouchet
  • [TEST] Introduce 'toBeTask' Jest extension (#755) @csouchet
  • [TEST] Introduce 'toBeCallActivity' Jest extension (#754) @csouchet
  • [TEST] Convert expectModelContainsShape function to jest extension (#746) @csouchet
  • [TEST] Replace expectModelNotContainCell by jest extension (#748) @csouchet
  • [TEST] Convert expectModelContainsAssociationFlow function to jest extension (#745) @csouchet
  • [TEST] Convert expectModelContainsMessageFlow function to jest extension (#744) @csouchet
  • [TEST] Convert expectModelContainsSequenceFlow function to jest extension (#743) @csouchet
  • [TEST] Split jest extensions in different folders (#742) @csouchet
  • [INFRA] simplify e2e tests configuration in IDE (#711) @aibcmars
  • [TEST] Convert expectModelContainsEdge function to jest extension (#720) @csouchet
  • [INFRA] Update release-drafter to use new label (#753) @tbouffard
  • [TEST] Add visual tests for label default position (#749) @tbouffard
  • [REFACTOR] rename parser creation functions (#722) @tbouffard
  • [REFACTOR] Avoid global states in json parsers (#721) @tbouffard
  • [TEST] Convert expectFont function to jest extension (#704) @csouchet
  • [REFACTOR] Replace 'any' by mxGraph's types in StyleConfigurator (#713) @csouchet
  • [TEST] Convert expectGeometry function to jest extension (#702) @csouchet
  • [TEST] Add expect model utils file (#695) @csouchet

0.4.0

05 Oct 14:32
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @alachambre, @benjaminParisel, @csouchet, @dependabot, @process-analytics-bot and @tbouffard

See milestone 0.4.0 to get the list of issues covered by this release.

Highlights

Packaging

bpmn-visualization is now available as a npm package. More examples and usage details to come in the next releases.

Business Rule Task detection

Rendered using the chartreuse fill color in the following (final rendering will be managed with #646)

business-rule-task_in_green

Compensation Event Detection

Rendered using the pink fill color in the following (final rendering will be managed with #655)

detect_event_compensation_pink

What's Changed

🚀 BPMN support

🚄 BPMN rendering

📝 Documentation

📦 Dependency updates

  • [INFRA] dev - Bump rollup from 2.28.1 to 2.28.2 (#699) @dependabot
  • [INFRA] dev - Bump ts-jest from 26.3.0 to 26.4.1 (#700) @dependabot
  • [INFRA] dev - Bump @typescript-eslint/parser & @typescript-eslint/eslint-plugin from 4.2.0 to 4.3.0 (#698) @dependabot
  • [INFRA] dev - Bump eslint from 7.9.0 to 7.10.0 (#696) @dependabot
  • [INFRA] dev - Bump @typescript-eslint/eslint-plugin & @typescript-eslint/parser from 3.10.1 to 4.2.0 (#667) @dependabot
  • [INFRA] dev - Bump rollup-plugin-typescript2 from 0.27.2 to 0.27.3 (#665) @dependabot
  • [INFRA] dev - Bump eslint-config-prettier from 6.11.0 to 6.12.0 (#666) @dependabot
  • [INFRA] dev - Bump @types/puppeteer from 3.0.1 to 3.0.2 (#664) @dependabot
  • [INFRA] dev - Bump puppeteer from 5.2.1 to 5.3.1 (#663) @dependabot

👻 Maintenance

0.3.1

22 Sep 13:24
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, @dependabot, @process-analytics-bot and @tbouffard

See milestone 0.3.1 to get the list of issues covered by this release.

Highlights

In this release, we focused on the improvement of the documentation for Hacktoberfest and the robustness of the library.

What's Changed

📝 Documentation

📦 Dependency updates

👻 Maintenance

0.3.0

08 Sep 15:15
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, @dependabot, @process-analytics-bot and @tbouffard

See milestone 0.3.0 to get the list of issues covered by this release.

Highlights

Detect and render Manual and Script Tasks

Manual Task Script Task
task_manual task_script

Here are the full set of tasks supported by bpmn-visualization.
The business rule task will be supported later.

image

Black box/collapsed pool

Render both horizontal and vertical pools

image

Non interrupting start event in Event sub-process

On the left (in the red box) 0.2.0, on the right (in the green box) 0.3.0

image

Final lane rendering (label, vertical lanes)

Horizontal lanes

image

Vertical lanes

image

Message icon on Message Flows

image

What's Changed

🚀 BPMN support

🚄 BPMN rendering

🐛 Bug Fixes

  • [FIX] don't create extra svg block in the demo page (#553) @tbouffard

📝 Documentation

  • [DOC] improve the release description in the Contributing guide (#554) @tbouffard

🎮 Demo and Examples

  • [FIX] don't create extra svg block in the demo page (#553) @tbouffard

📦 Dependency updates

👻 Maintenance

0.2.0

25 Aug 15:27
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @csouchet, @dependabot and @tbouffard

See milestone 0.2.0 to get the list of issues covered by this release.

Highlights

Render Subprocess: all inner elements are detected and rendered

image

Render receive task: non-instantiating and instantiating

image

Render send task

image

Render Error and Link events

image

Render improvement for activity markers: centered, fixed-size

image

Pool: final rendering + vertical support

image
Vertial lane is coming soon...
image

Diagram: start supporting multi-diagrams BPMN file

In 0.1.7 all the diagrams were rendered overlapping each other - it looked really messy
Now the 1st diagram is rendered, the possibility to choose a diagram is the subject of future releases

C.4.0 with [email protected]

image

C.4.0 now

image

What's Changed

🚀 BPMN support

  • [FEAT] Detect Error Start Interrupting Event on Event Sub-Processes (#519) @tbouffard
  • [FEAT] detect sequence flows of subprocess (#517) @tbouffard
  • [FEAT] detect activities and gateways in subprocess (#514) @tbouffard
  • [FEAT] Detect Send task (#507) @csouchet
  • [FEAT] Detect Error End Event & Error Interrupting Boundary Event (#504) @csouchet
  • [FEAT] Detect Throw & Catch Link Intermediate Events (#501) @csouchet

🚄 BPMN rendering

🐛 Bug Fixes

  • [FIX] demo code does not interfere with lib integration (#479) @tbouffard

⤵️ Library Integration

  • [FIX] demo code does not interfere with lib integration (#479) @tbouffard

↔️ Library Extensibility

📝 Documentation

📦 Dependency updates

  • [INFRA] dev - Bump mxgraph-type-definitions from 1.0.3 to 1.0.4 (#535) @tbouffard
  • [INFRA] Bump fast-xml-parser from 3.16.0 to 3.17.4 (#528) @tbouffard
  • [INFRA] dev - Bump typescript from 3.8.2 to 3.9.7 (#527) @tbouffard
  • [INFRA] dev - Bump @rollup/plugin-json from 4.0.2 to 4.1.0 (#533) @dependabot
  • [INFRA] dev - Bump @types/jest-environment-puppeteer from 4.3.1 to 4.3.2 (#532) @dependabot
  • [INFRA] dev - Bump rollup-plugin-livereload from 1.0.4 to 1.3.0 (#531) @dependabot
  • [INFRA] dev - Bump @types/puppeteer from 2.1.0 to 3.0.1 (#499) @dependabot
  • [INFRA] dev - Bump eslint-plugin-notice from 0.8.9 to 0.9.10 (#498) @dependabot
  • [INFRA] dev - Bump lint-staged from 10.0.8 to 10.2.11 (#500) @dependabot
  • [INFRA] dev - Bump @typescript-eslint/eslint-plugin from 2.21.0 to 2.34.0 (#497) @dependabot
  • [INFRA] dev - Bump @types/jest from 25.1.4 to 26.0.9 & jest to 26.3.0 (#494) @dependabot
  • [INFRA] dev - Bump puppeteer from 3.0.4 to 5.2.1 (#492) @dependabot
  • [INFRA] dev - Bump @rollup/plugin-node-resolve from 7.1.1 to 8.4.0 (#490) @dependabot
  • [INFRA] dev - Bump eslint-plugin-prettier from 3.1.2 to 3.1.4 (#493) @dependabot
  • [INFRA] dev - Bump rollup-plugin-terser from 6.1.0 to 7.0.0 (#491) @dependabot

👻 Maintenance

0.1.7

11 Aug 09:57
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @benjaminParisel, @csouchet, @dependabot and @tbouffard

See milestone 0.1.7 to get the list of issues covered by this release.

Highlights

Render Associations

The association direction is also rendered (it is generally used for the data store and data object references that will be supported later)

associations
Rendering of the 0.1.6 version is in green

Detect and render some Activity Markers

The loop and multi-instantiation (both sequential and parallel) activity markers are now fully detected and rendered. The expand markers rendering has been reworked.
The marker size and position will be adjusted in the future, see #465.

activity_markers

Render Call Activity

All activity markers currently supported are also rendered.
Notice that call activities calling a Global Task are no more displayed, as we don't currently support Global Task.

call_activities

Render Signal Event

signal_event_general

signal_event_boundary

Correctly detect events referencing top level defined events

These are events in the BPMN source with an eventDefinitionRef attribute referencing a event defined at top level/globally.
They were previously not detected or, for the mutliple event (currently not supported), detected as a message event.

events_to_level_ref

All together

See the whole changes on the B.2.0 file, compared to version 0.1.6

B 2 0_lib_0 1 6_to_0 1 7

Examples

We now provide a set of examples that demonstrates the current usage of the library and its extensibility capabilities.
Important notice: The way how the lib is used or extended is subject to rapid changes. Consider the examples as in early-access.

Resources

What's Changed

🚀 BPMN support

  • [FEAT] Detect the Parallel Multi-instance Marker of an activity (#469) @csouchet
  • [FEAT] Detect the Sequential Multi-instance Marker of an Activity (#468) @csouchet
  • [FEAT] Render Events which have the definition defined by the attribute eventDefinitionRef (#445) @csouchet
  • [FEAT] Detect the Loop Marker of an activity (#456) @csouchet

🚄 BPMN rendering

🐛 Bug Fixes

  • [FIX] Detect expanded/collapsed Call Activity calling Process (#474) @csouchet
  • [FIX] A boundary event can only be attached to an activity (#442) @csouchet
  • [BUG] Fix some types of BPMN Json model (#444) @csouchet

⤵️ Library Integration

📝 Documentation

🎮 Demo and Examples

📦 Dependency updates

👻 Maintenance

  • [INFRA] release-drafter consider new labels (#472) @tbouffard
  • [INFRA] fix dependabot configuration (#480) @tbouffard
  • [INFRA] setup dependabot configuration (#476) @tbouffard
  • [INFRA] do not minify public API in the bundle (#461) @tbouffard
  • [REFACTOR] Mutualize marker and isExpanded fields in the internal model (#470) @csouchet
  • [INFRA] Activate noImplicitAny compiler option (#460) @csouchet
  • [REFACTOR] activity markers style mutualization (#467) @tbouffard
  • [REFACTOR] Replace Arrays by Maps in the Converters (#463) @csouchet
  • [INFRA] Activate strictFunctionTypes compiler option (#459) @csouchet
  • [INFRA] Activate alwaysStrict compiler option (#458) @csouchet
  • [INFRA] Activate strictBindCallApply compiler options (#457) @csouchet
  • [TEST] use external BPMN files (#452) @tbouffard
  • [REFACTOR] no processing in MxGraphConfigurator constructor (#448) @tbouffard
  • [REFACTOR] Remove json2typescript dependency (#443) @csouchet
  • [REFACTOR] Unit json test: Replace some tests by test templates (#439) @csouchet
  • [REFACTOR] Replace string content for BPMN content by json object, in unit json tests (#437) @csouchet
  • [REFACTOR] single painted icon size computation function (#426) @tbouffard

0.1.6

16 Jul 14:07
Compare
Choose a tag to compare

Thanks to all the contributors of this release 🌈: @aibcmars, @benjaminParisel, @csouchet and @tbouffard

See milestone 0.1.6 to get the list of issues covered by this release.

Highlights

Message Flow

Detect all kind of message flows, partial render

message-flow

Render Sub Process

Collapsed and expanded, standard and event sub process

sub-process

Text Annotation

Detect and render Text Annotation, detect Associations

text-annotation

Signal events detection

boundary

signal_boundary_events

others

signal

All together

See the whole changes on the B.2.0 file, compared to version 0.1.5

B 2 0_0 1 5_to_0 1 6

What's Changed

🚀 BPMN support

🚄 BPMN rendering

🐛 Bug Fixes

  • [BUG] Fix bad value of messageVisibleKind on Edge (#423) @csouchet

📝 Documentation

  • [INFRA] improve release-drafter configuration and documentation (#385) @tbouffard
  • [DOC] remove reference to 'JS' in library name (#365) @tbouffard

📦 Dependency updates

  • [INFRA] Bump mxgraph-type-definitions from 1.0.2 to 1.0.3 (#409) @tbouffard

👻 Maintenance