Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


The public API for BPMN2 Modeler plug-in extensions is a stable plugin. API changes when and if they are required, will only happen on minor releases of the modeler (e.g. version 1.3.0 => major = 1, minor = 2 service update=0.) We also try to keep API changes aligned with Eclipse releases.

Setup a Developer Eclipse IDE

If you plan to contribute to this project, than you should install the Eclipse Contribute IDE with the BPMN2 Plugin. For this we provide a Oomph setup. In any installer, switch to advanced mode via the menu button in the upper right.


Choose the Commiters product (the latest version available):


Next choose the BPMN2 Project:


Choose appropriate settings:


The defaults are generally fine, but look closely as the repository URI choices and choose the one you normally use.

That will create and launch a new IDE using the version of selected version of the target platform with the clones available and the projects imported.


Prerequisites & Conventions

These tutorials assumes that you are comfortable with XML and XML Schema and have at least a working knowledge of the BPMN2 language. You should also be somewhat familiar with EMF and its terminology, as this will be used frequently. At a minimum, you should understand:

  • EClass = an object type, also known as a "class"
  • EObject = an instance of an EClass, i.e. a concrete object
  • EAttribute = a simple-valued attribute of an EClass
  • EReference = a reference to an object or list of objects. References may also act as containers for the object, or may simply point to objects contained elsewhere in the same document, or an external document.
  • EStructuralFeature = a feature of an EClass, i.e. the attributes (EAttribute) and references (EReference) defined by the object type

In this tutorial, all EMF model types (EClasses) attributes (EAttributes) and references (EReferences) are displayed in bold, for example UserTask or name. In discussions of Java or XML code fragments contained in the tutorial, references to these appear in italics, for example createBindings() or modelExtension.

The tutorials

You can find a example code on GitHub showing some of the concepts explained in the following tutorials.

Back to the top