Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BPMN 2.0 Modeler » Documentation about extending the BPMN 2.0 Modeler(Where to find documentation about extending the BPMN 2.0 Modeler?)
icon3.gif  Documentation about extending the BPMN 2.0 Modeler [message #1692195] Tue, 14 April 2015 09:07 Go to next message
Jonas Anseeuw is currently offline Jonas AnseeuwFriend
Messages: 4
Registered: April 2015
Junior Member
Hi,

I want to extend the BPMN 2.0 Modeler plugin. I followed the developer tutorials (wiki.eclipse.org/BPMN2-Modeler/DeveloperTutorials) and scanned through the extensionpoints API (wiki.eclipse.org/BPMN2-Modeler/ExtensionPoints).

As I understand correctly, in most cases changing the BPMN 2.0 meta model won't be necessary.

I would like to create a new visual element, like an event type for monitoring. I will also have to use the Monitoring tags of BPMN.

The Custom Shape tutorial is interested for my case. But when implementing the TaskFeatureContainer java class, I can't find much documentation about how to do it. It extends from the CustomElementFeatureContainer. Do I have to jump in the source code to see what I can use for my own element or is there any documentation available?

I have still some question, for example:
- how do I specify to which components the element can have connectors
- how do I set some default properties of the element
- how to change the image of the element

If my question is not clear enough, tell me.
Thanks in advance for any help.

Cheers,
Jonas
Re: Documentation about extending the BPMN 2.0 Modeler [message #1692287 is a reply to message #1692195] Tue, 14 April 2015 19:05 Go to previous messageGo to next message
Robert Brodt is currently offline Robert BrodtFriend
Messages: 811
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Hi Jonas and welcome to the forum!

We are working on expanding the tutorials on wiki, but for now I'm afraid that a lot of the documentation is still only in the code Wink

To answer your specific questions:
1. AbstractBpmn2CreateConnectionFeature is the base class that determines whether a connection is allowed - see the canCreateConnection() method. Unfortunately, there is currently no way to hook into this method by an extension plugin - all rules governing how connections can be created are essentially hard-coded and follow the BPMN 2.0 spec. Please feel free to file an enhancement request if you would like to see this in a future release.
2. attribute default values can be defined in your plugin.xml in the <modelExtension> or <customTask> extension element. Please refer to the tutorials for details.
3. There is a tutorial here that explains how to do this.

Cheers,
Bob
Re: Documentation about extending the BPMN 2.0 Modeler [message #1692292 is a reply to message #1692287] Tue, 14 April 2015 21:03 Go to previous messageGo to next message
Ralph Soika is currently offline Ralph SoikaFriend
Messages: 145
Registered: July 2009
Senior Member
Hi Jonas,

I also started a extension of the BMPN runtime for my own project. As Bob explains the tutorials are still a work in progress. But you can find a lot of useful information about the concepts there.

The Customtask Tutorial covers a lot of things which are possible. Other tutorials go in more detail of special concepts. Checkout the examples from the bpmn2-modeler project on github: https://github.com/eclipse/bpmn2-modeler
The examples are a very good starting point.

For me it was important to understand that I have to separate extending the BPMN 2.0 meta model from the visual modelling tool. The BPMN 2.0 Modeler plugin covers both concepts and provides a very powerful platform.

So first you should think about how you want to extend the meta model.
The <bpmn2:extensionElements> is the starting point. You can add your extensions to any bpmn2 element and your model will still be a valid bpmn2 model. You can add any structure you need for your ideas into the extensioElements. But this have to do a lot with EMF - the Eclipse Modeling Framework - which is the base for all the BPMN2 Plugin features.

The other part are the UI extensions. You can add additional actions, add custom property tabs to any element and you can react on events like the connection of sequence flows. But in all these situations you have to handle the EMF extensions you have defined first.
The BPMN 2.0 Modeler plugin makes a lot of the modeling magic for you in the background.

So as an answer to your questions:
- how do I specify to which components the element can have connectors
This is the working with Events and Validators

- how do I set some default properties of the element
This is extending the BPMN model with your custom EMF extensions

- how to change the image of the element
This is the UI - customizing the respresentation of you extended model elements

===
Ralph
Re: Documentation about extending the BPMN 2.0 Modeler [message #1692434 is a reply to message #1692292] Wed, 15 April 2015 17:21 Go to previous messageGo to next message
Robert Brodt is currently offline Robert BrodtFriend
Messages: 811
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Yeah...what HE said Smile
Thanks Ralph!
Re: Documentation about extending the BPMN 2.0 Modeler [message #1693245 is a reply to message #1692434] Wed, 22 April 2015 15:50 Go to previous messageGo to next message
Jonas Anseeuw is currently offline Jonas AnseeuwFriend
Messages: 4
Registered: April 2015
Junior Member
Hi,

Thanks for the helpful answers. Now I want to validate a BPMN2 process in an extended runtime, but I get an error during validation.

"Process Default Process (ID=process_1) has no package name"

After debugging, I saw that validation is done in the org.eclipse.bpmn2.modeler.core.validation.validators.ProcessValidator class but was unable to find out why there must be a package name.
However, in org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.validation.validators.ProcessValidator there is code that checks for a "packageName" attribute.

The last validator should only be used in a jBPM runtime right? I do not get this error if I set runtime to "none", then why do I get a package name error in my own extended runtime?

How do I implement my own validator class? Looking at the jbpm extended modeler plugin.xml, are the org.eclipse.emf.validation.contraintProviders and org.eclipse.emf.validation.constraintBindigs extensions used for that?

Cheers,
Jonas
Re: Documentation about extending the BPMN 2.0 Modeler [message #1693255 is a reply to message #1693245] Wed, 22 April 2015 17:26 Go to previous message
Ralph Soika is currently offline Ralph SoikaFriend
Messages: 145
Registered: July 2009
Senior Member
Hi Jonas,

I recognized exactly the same problem.
Maybe you can open a Bug report and describe the problem there: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=BPMN2Modeler

===
Ralph
Previous Topic:Routing problem with Lanes since version 1.1.2?
Next Topic:How to change the Label of a extended featureContainer
Goto Forum:
  


Current Time: Thu Aug 16 01:01:24 GMT 2018

Powered by FUDForum. Page generated in 0.02582 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top