Documentation about extending the BPMN 2.0 Modeler [message #1692195] |
Tue, 14 April 2015 09:07  |
Eclipse User |
|
|
|
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   |
Eclipse User |
|
|
|
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
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   |
Eclipse User |
|
|
|
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 #1693245 is a reply to message #1692434] |
Wed, 22 April 2015 15:50   |
Eclipse User |
|
|
|
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
|
|
|
|
Powered by
FUDForum. Page generated in 0.05728 seconds