bptlab / chor-js-demo Goto Github PK
View Code? Open in Web Editor NEWA demo showcasing the chor-js BPMN 2.0 choreography diagram modeler.
A demo showcasing the chor-js BPMN 2.0 choreography diagram modeler.
We should add additional validation rules, now that we can specify ItemDefinition
s and such.
What I am thinking of from the top of my head:
Timer events can now be specified, and impose some restrictions on their context depending on whether they are absolute or relative. For example:
For relative timers: Only the Participants involved in the Choreography Activity that
immediately precedes the Event would know the time. The sender of the Choreography
Activity that immediately follows the timer MUST be involved in the Choreography Activity
that immediately precedes the timer. [p. 341 in standard]
Exclusive gateway conditions can only reference specific message data:
The data used for Gateway Conditions MUST have been in a Message that was sent prior to (upstream from) the Gateway.
More specifically, all Participants that are directly affected by the Gateway MUST have either sent or received the Message(s) that contained the data used in the Conditions. [p. 344 in standard]
Since there is no required format for those conditions and they can be any formal expression, we cannot be sure which messages are referenced. However, I think we can guess to some degree, e.g., if there is a formal expression order.price > 50
we may assume there must be a message order
sent upstream. If not, we can issue a warning.
... and maybe much more other stuff hidden in the standard somewhere.
The demo should have a form or something to load arbitrary BPMN2 XML files. Drag & drop might also be cool. Comparable to the bpmn.io demo.
Include validation checks for incorrect constructs that would not be possible to model with chor-js but could be imported from other editors. Such as parallel gateways after event based gateways, etc.
I specifically want to model timer events and conditional events.
Currently, diagrams can only be loaded from the disk via a typical "Open File" dialog. We'd like for users to alternatively be able to drag diagrams (.bpmn files) into the editor and load them.
We are missing the targetNamespace attribute for a valid xml.
Add a disclaimer to the demo stating who it is maintained by with links to GitHub, etc.
This would mainly be helpful if someone finds the online chor-js-demo and wants to know more.
When opening the editor, there should be some nicer example preloaded than the current one.
Our models still include wrong or outdated XML metadata, for example exporter="org.eclipse.bpmn2.modeler.core"
. We should update that.
JQuery is an outdated catastrophe. Just spent an hour fiddling around with something that was solved within 10 seconds with ES6. We should get rid of it and use modern technology.
As a choreography developer,
when I have created a choreography and named its file
and I upload the file again to adapt some elements
and then download the changed file
I expect it to have its original file name,
so I can paste it back to the folder I uploaded it from and replace the old file
The file is simply called 'diagram.bpmn'
We should move to promises over the callbacks.
Error: Passing callbacks to saveXML is deprecated and will be removed in a future major release. Please switch to promises: https://bpmn.io/l/moving-to-promises.html
There should be a recent instance of chor-js-demo
running somewhere that is available online, so people can try it without having to pull/install/run it.
There should be a button to start a new diagram, i.e., delete all existing elements and start with a "fresh" plate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.