modeler-moddle

March 28, 2022 ยท View on GitHub

Build Status

This project defines the Camunda Modeler namespace extensions for BPMN 2.0 as well as DMN 1.3 as moddle descriptors.

Usage

BPMN

Use it together with bpmn-moddle to validate Camunda Modeler BPMN 2.0 extensions.

var BpmnModdle = require('bpmn-moddle');

var modelerModdle = require('modeler-moddle/resources/modeler');

var moddle = new BpmnModdle({ modeler: modelerModdle });

var serviceTask = moddle.create('bpmn:Definitions', {
  executionPlatform: 'Camunda Platform',
  executionPlatformVersion: '7.15.0'
});

Once serialized, this exports the properties under the http://camunda.org/schema/modeler/1.0 namespace:

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions
    xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:modeler="http://camunda.org/schema/modeler/1.0"
    id="Definitions_1"
    modeler:executionPlatform="Camunda Platform"
    modeler:executionPlatformVersion="7.15.0">

  ...
</bpmn:definitions>

DMN

Use it together with dmn-moddle to validate Camunda Modeler DMN 1.3 extensions.

var DmnModdle = require('dmn-moddle');

var modelerModdle = require('modeler-moddle/resources/dmn-modeler');

var moddle = new DmnModdle({ modeler: modelerModdle });

var serviceTask = moddle.create('dmn:Definitions', {
  executionPlatform: 'Camunda Platform',
  executionPlatformVersion: '7.15.0'
});

Once serialized, this exports the properties under the http://camunda.org/schema/modeler/1.0 namespace:

<?xml version="1.0" encoding="UTF-8"?>
<dmn:definitions
    xmlns:dmn="https://www.omg.org/spec/DMN/20191111/MODEL/"
    xmlns:modeler="http://camunda.org/schema/modeler/1.0"
    id="Definitions_1"
    modeler:executionPlatform="Camunda Platform"
    modeler:executionPlatformVersion="7.15.0">

  ...
</dmn:definitions>

Building the Project

To run the test suite that includes XSD schema validation you must have a Java JDK installed and properly exposed through the JAVA_HOME variable.

Execute the test via

npm test

Perform a complete build of the application via

npm run all

License

Use under the terms of the MIT license.