bpmn-js-cli-modeling-dsl

A modeling DSL for bpmn-js

MIT License

Downloads
20
Stars
23

As of version 1.0.0 this library exposes ES modules. Use an ES module aware bundler such as Webpack or Rollup to bundle it for the browser.

bpmn-js-cli-modeling-dsl

A modeling DSL (domain specific language) for bpmn-js, built on top of bpmn-js-cli.

Usage

Use the extension for bpmn-js-cli to quickly model simple processes.

To model this process:

simply execute the following command

cli.model('StartEvent_1 -> and -> service -> user -> icatch -> xor -> or -> ithrow -> end');

You may use the full classified name of any BPMN element such as bpmn:ServiceTask, too to model it.

Shortcuts

A number of aliases are registered for most commonly modeled BPMN elements:

var aliases = {
  service:     'bpmn:ServiceTask',
  user:        'bpmn:UserTask',
  manual:      'bpmn:ManualTask',
  task:        'bpmn:Task',
  end:         'bpmn:EndEvent',
  transaction: 'bpmn:Transaction',
  sub:         'bpmn:SubProcess',
  call:        'bpmn:CallActivity',
  icatch:      'bpmn:IntermediateCatchEvent',
  ithrow:      'bpmn:IntermediateThrowEvent',
  xor:         'bpmn:ExclusiveGateway',
  or:          'bpmn:InclusiveGateway',
  and:         'bpmn:ParallelGateway'
};

Use any of the aliases instead of the full qualified BPMN name.

Setup

Deploy the cli-extension with bpmn-js:

import BpmnModeler from 'bpmn-js/lib/Modeler';
import ModelingDslModule from 'bpmn-js-cli-modeling-dsl';

var modeler = new BpmnModeler({
  additionalModules: [
    ModelingDslModule
  ],
  cli: {
    bindTo: 'cli'
  }
});

modeler.importXML('some-bpmn-xml');

Access the cli as cli in your developer console (open via F12 in most browsers).

Create a simple process from <start> via

cli.model('<start> -> and -> service -> user -> icatch -> xor -> or -> ithrow -> end');

License

MIT