Code Monkey home page Code Monkey logo

bpmn-js's People

Contributors

adbre avatar azeghers avatar barmac avatar bpmn-io-bot avatar chaominruan avatar davcs86 avatar dependabot[bot] avatar elcondor1969 avatar felixlinker avatar github-actions[bot] avatar gustavjf avatar iso50 avatar marstamm avatar maxtru avatar mhariri avatar miyuesc avatar nikku avatar novrain avatar nygmaaa avatar oguzeroglu avatar pedesen avatar philippfromme avatar polenz avatar renovate[bot] avatar ricardomatias avatar skaiir avatar smbea avatar sombrek avatar ssoorriiin avatar thesharpieonebot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bpmn-js's Issues

Add license

License should be added and linked to from sources.

Support open / edit / save roundtrip from various sources

We should provide an example on how to support a generic open -> edit -> save roundtrip from different sources such as cloud storage, workflow engines (open = view, save = redeploy) etc.

It should feature the following:

  • User opens a BPMN 2.0 diagram from writable source (e.g. some cloud service or REST backend)
  • User edits one or more parts of the diagram
  • User saves the diagram

A good reference on how that could be done is stackedit.

Enhance linking from / to external documents (inter diagram / resource)

Process diagrams are often coupled with external documents through links. To support that use case, we must be able to

  • link documents from diagram elements
  • link diagram elements from external documents

We should investigate that use case and provide the functionality as a plug-in for the viewer.

Scenarios

For bpmn elements

  • A user can follow click a link to an external descriptive document
  • A user can add an external document (stored as meta-data in the bpmn 2.0 file)

For external documents

  • A user can provide a link to a bpmn diagram with an element or a list of elements highlighted

improve error message for invalid BPMNPlane element

If the bpmnElement attribute of the BPMNPlane DI element is invalid (i.e. no BPMN element exists for this ID) the shown error message is

Cannot read property '$instanceOf' of undefined

This isn't very informative and should be improved.

Minimal sample process

Description: The BPMN process element has the ID Process_1 but the BPMNPlane element references the non-existing Process_2 element.

I can model a new task in a process

  • from an existing element (start event or task), a task that follows that element can be created
  • exception: endevent
  • the new task is automatically connected with a sequence flow
  • after creating the task, the user is automatically in label editing mode

Tasks

  • basic implementation
  • sequence flow points from edge to edge
  • context pad integration

Label optimizations

Try the following and see how it looks

  • reduce font size
  • reduce space for line feed (especially with external labels)

current problems:

  • given: label above a bpmn element (e.g. gateway, sequence flow) + line feed in label
    • label text is displayed on top of bpmn element

Events are rendered

Find testcase here:

  • http://www.camunda.org/share/#/process/43d19983-4149-4241-91dd-a0d1a5000d5b
  • Untyped events
    • Start - Standard
    • Intermediate - Throwing
    • End - Standard
  • Message events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
    • Intermediate - Throwing
    • End - Standard
  • Timer events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
  • Escalation events
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
    • Intermediate - Throwing
    • End - Standard
  • Conditional events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
  • Link events
    • Intermediate - Catching
    • Intermediate - Throwing
  • Error events
    • Intermediate - Boundary Interrupting
    • End - Standard
  • Cancel events
    • Intermediate - Boundary Interrupting
    • End - Standard
  • Compensation events
    • Intermediate - Boundary Interrupting
    • Intermediate - Throwing
    • End - Standard
  • Signal events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
    • Intermediate - Throwing
    • End - Standard
  • Multiple events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
    • Intermediate - Throwing
    • End - Standard
  • Parallel Multiple events
    • Start - Standard
    • Intermediate - Catching
    • Intermediate - Boundary Interrupting
    • Intermediate - Boundary Non-Interrupting
  • Terminate
    • End - Standard

Scale data objects

Need to scale the shapes to width and height as set in the DI.

  • Move 'path' strings to PathMap
  • Use getScaledPath() in BpmnRenderer to get a correctly scaled data object

See also #21

Add terms of use to the App

Terms of Use
The following terms apply if you use the demo application on http://bpmn.io/demo:

The service is free.
There is no guarantee on the availability of this service.
Use of the service is at your own sole risk on a "as is" basis.
There is no warranty of any kind of features of this service.
As a user you are obliged to observe applicable laws as well as all rights of third parties in the use of this service.

If your are using the the functionality for embedding your process models via JavaScript, your data is stored unencrypted in our database. Camunda has the right to delete these process models.

The bpmn.io Privacy Policy applies accordingly.

Render event subProcesses

Find testcase here: http://www.camunda.org/share/#/process/afd9b53c-3ef6-4300-b2fa-50239ec8869c

(Attention, collapsed subprocesses are not correct rendered)

  • Message events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Timer events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Escalation events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Conditional events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Error events
    • Start - EventSub-Process Interrupting
  • Compensation events
    • Start - EventSub-Process Interrupting
  • Signal events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Multiple events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting
  • Parallel Multiple events
    • Start - EventSub-Process Interrupting
    • Start - EventSub-Process Non-Interrupting

Event based gateway not rendered correctly

Problem: the event inside the event based gateway had to be drawn with a double thin line (like an intermediate multiple event). Currently is looks more like a start event

I can edit labels

AT:

  • labels can be entered for tasks (inside element), events and gateways (outside element)
  • line breaks can be entered by the user

Apply width/height from DI to shapes

This is easy for primitives like rect, circle but for elements based on paths its difficult.

The easy way to simply transform(scale(x,y)) a path to match with the given width and height will not work as stroke-width is also scaled.
vector-effect="non-scaling-stroke" could help but will not work in all browser/viewers.

Potentially we need to change the path prior first rendering i.E. customize the 'd' attribute for the given bounding box height and width.

Import BPMN 2.0 extension elements

BPMN allows us to attach extension elements as part of a BPMN 2.0 document.

<bpmn2:extensionElements>
    <vendor:info key="bgcolor" value="#ffffff"/>
    <vendor:info key="rolle" value="[]"/>
</bpmn2:extensionElements>

We should be able to

  • read diagrams containing extension elements
  • serialize extension elements back to BPMN 2.0 XML

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.