Skip to main content



      Home
Home » Eclipse Projects » BPMN 2.0 Modeler » Add new workflow pattern
Add new workflow pattern [message #1599775] Tue, 03 February 2015 16:54 Go to next message
Eclipse UserFriend
hi all
I'm asking for help and I hope I can find solution to my problem.
I would like to extend BPMN2.0 modeler by adding new workflow pattern. I want to add a new workflow pattern (for example parallel join) in the tool pallet, more precisely, in the Workflow Patterns category.
best regards
Re: Add new workflow pattern [message #1602568 is a reply to message #1599775] Thu, 05 February 2015 11:58 Go to previous message
Eclipse UserFriend
Hi Imen,

Sorry for the late reply - I was trying to put together an example of how to do this and ran across a minor bug which has been fixed in the latest builds for Luna [1] and Kepler [2]. Here's the solution:

1. create a folder called ".bpmn2config" in your workspace project (the one that contains the BPMN2 files you want to edit)
2. create an XML file called, for example, "toolpaletteExtensions.xml" in that folder. Note that the file name is unimportant - the editor will search and load all XML files in that folder
3. add the following XML to this file:

<?xml version="1.0" encoding="UTF-8"?>
<runtime id="org.eclipse.bpmn2.modeler.runtime.none">

		<toolPalette
			id="org.bpmn2.modeler.toolpalette.my.full"
			runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
			profile="Full">

			<category id="org.bpmn2.modeler.toolpalette.default.categories"/>
			<category id="org.bpmn2.modeler.toolpalette.process.patterns" fromPalette="org.bpmn2.modeler.toolpalette.full">
				<tool name="Parallel Join" id="org.bpmn2.modeler.tool.parallel.join">
					<object type="Task[$name='Task A']" id="parallel.join.taskA" optional="true"/>
					<object type="Task[$name='Task B',y=100]" id="parallel.join.taskB" optional="true"/>
					<object type="Task[$name='Task C',x=200,y=50]" id="parallel.join.taskC" optional="true"/>
					<object type="ParallelGateway[x=100,y=50,$gatewayDirection=Converging]" id="parallel.join.gateway"/>
					<object type="SequenceFlow[source='parallel.join.taskA',target='parallel.join.gateway']"/>
					<object type="SequenceFlow[source='parallel.join.taskB',target='parallel.join.gateway']"/>
					<object type="SequenceFlow[source='parallel.join.gateway',target='parallel.join.taskC']"/>
				</tool>
			</category>
			
		</toolPalette>
		
</runtime>


Restart the editor and you should see the "Parallel Join" tool in the "Workflow Patterns" category. Once you're happy with the way this tool works, you can build an extension plugin and include this code in your plugin.xml, or you can simply deliver the ".bpmn2config" folder and its contents to your users.

You can find documentation for the <toolPalette> extension element in the Extension XSD located in the editor Core plugin here:

org.eclipse.bpmn2-modeler/plugins/org.eclipse.bpmn2.modeler.core/schema/org.eclipse.bpmn2.modeler.runtime.exsd

HTH,
Bob

[1] http://download.eclipse.org/bpmn2-modeler/updates/luna/1.1.2/
[2] http://download.eclipse.org/bpmn2-modeler/updates/kepler/1.0.4/

[Updated on: Thu, 05 February 2015 12:05] by Moderator

Previous Topic:Documentation for adding new Runtime
Next Topic:New builds for Kepler, Luna
Goto Forum:
  


Current Time: Fri Jul 18 23:03:01 EDT 2025

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

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

Back to the top