Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BPMN 2.0 Modeler » How to extend the BPMN Plane
How to extend the BPMN Plane [message #1238137] Fri, 31 January 2014 08:52 Go to next message
Basak Meral is currently offline Basak Meral
Messages: 3
Registered: January 2014
Junior Member
Hi everyone!

I want to make a new BPMN Extension. I want this extension to have two separate Planes. One of them will be the standard BPMN plane which will include Tasks, Connections etc. The second plane will include another graphics which has information about some models.(I guess simple graphiti properties is fine in this plane.) Is it possible to extend the plane that way? Is it possible to make them visible in the same page?
Re: How to extend the BPMN Plane [message #1238181 is a reply to message #1238137] Fri, 31 January 2014 10:34 Go to previous messageGo to next message
Robert Brodt is currently offline Robert Brodt
Messages: 577
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Hi Basak,

According to the BPMNDI XML schema, BPMNDiagram has exactly one BPMNPlane, however that BPMNPlane may theoretically contain any number of BPMNPlane objects itself - the "planeElement" list of the DI "Plane" class is the container for BPMNShape, BPMNEdge, BPMNLabel and BPMNPlane objects. So (again theoretically, as I have never seen models that do this) it should be possible to have something like this:



  <bpmndi:BPMNDiagram ...>
    <bpmndi:BPMNPlane bpmnElement="process_2">
      <bpmndi:BPMNShape ...>
      ...
      <bpmndi:BPMNEdge ...>
      ...
      <bpmndi:BPMNPlane bpmnElement="some base element referenced here???" ...>
        <!-- a collection of BPMNShape, BPMNEdge, BPMNLabel and optionally more BPMNPlanes here??? -->
        ...
    </bpmndi:BPMNPlane>
    </bpmndi:BPMNPlane>
    ...
  </bpmndi:BPMNDiagram>



However, keep in mind that a BPMNPlane can only reference a BaseElement of the types Process, SubProcess, AdHocSubProcess, Transaction,
Collaboration, Choreography or SubChoreography, and I believe this reference is REQUIRED, so your embedded BPMNPlane would need to reference one of these types of objects in your document. This is only a Semantic requirement of the BPMN2 specification, and (I think!) is not enforced by the XML schema, so depending on who or what will be consuming these types of models, you could probably omit this reference.

Also keep in mind that your embedded plane may only contain BPMNShape, BPMNEdge and BPMNLabel objects, so the overlay data you want to render in your editor would need to be contained in one of these types of objects (probably a BPMNLabel).

All that said, this is currently not possible with the BPMN2 Modeler, although I think it's a useful enhancement! Please feel free to file an enhancement request.

Cheers,
Bob
Re: How to extend the BPMN Plane [message #1238525 is a reply to message #1238181] Sat, 01 February 2014 11:18 Go to previous messageGo to next message
Basak Meral is currently offline Basak Meral
Messages: 3
Registered: January 2014
Junior Member
Hi,

Thanks for your help but I think I haven't expressed myself clearly.

First of all, the second plane will not be a BPMNPlane, it should be an empty Plane (probably DI:Plane class). It will not have any BPMN objects itself. Is it possible to divide the screen that way so that the standart BPMN Plane will contain BPMN objects, and the other Plane will contain other objects?

If it is possible to extend the BPMN Modeler that way, which extension points should be used? Can you give some idea about this problem?
Re: How to extend the BPMN Plane [message #1238558 is a reply to message #1238525] Sat, 01 February 2014 13:37 Go to previous messageGo to next message
Robert Brodt is currently offline Robert Brodt
Messages: 577
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

You could use the BPMN2 "Relationship" extension mechanism and simply add your objects to the Definitions element (the document root). The XML might look something like this:


<bpmn2:definitions ...
  ...
  <bpmn2:relationship>
    <bpmn2:sources>
      <!-- your overlay objects here... -->
    </bpmn2:sources>

    <bpmn2:targets>
    </bpmn2:targets>

  </bpmn2:relationship>
</bpmn2:definitions>



The jBPM plugin makes use of this mechanism to associate BPSim elements with BPMN activities. Have a look at the JbpmModelUtil class to see how these associations are created and managed.
Re: How to extend the BPMN Plane [message #1243023 is a reply to message #1238558] Mon, 10 February 2014 07:03 Go to previous message
Basak Meral is currently offline Basak Meral
Messages: 3
Registered: January 2014
Junior Member
Hi,

Thanks for your help. I have looked at that example but I am new to plugin development so I am little confused.

I want to make a BPMN extension. This extension will not have more BPMN objects. Our plan is to put some information into the Text Annotation elements so that we will extract some information about the process and create a graphical visualization.

We designed .ecore elements for our graph but i am confused about relating them with the BPMN extension. Is there any example or tutorial that I can follow or can you give me some more information about how to start?
Previous Topic:Extending BPMN2 modeler for jbpm runtime
Next Topic:Use BPMN2-Modeler to make M2T Transformation
Goto Forum:
  


Current Time: Fri Jul 25 05:09:21 EDT 2014

Powered by FUDForum. Page generated in 0.03302 seconds