BPMN2 Modeler - New & Noteworthy
Version 1.1.0 - Luna Simultaneous Release (June 25, 2014)
This is a big release that adds several new usability enhancements, features and bug fixes. This is also the first version that will be included in the Luna simultaneous release.
UI and Update Site Changes
- The "Description" property tab has been renamed to "General" because that is more descriptive of what the tab actually contains. A new "Appearance" section has been added to this property tab, which allows the colors, line styles and fonts of each graphical element to be customized. Changing these settings generates a BPMN2 extension element <style> in the ".bpmn2" file.
- A new "info" button was added to the Context Button Pad, which activates a Documentation editor. If an element has Documentation associated with it, the text is shown in a Tool Tip when the mouse is hovered over the "info" button.
- Labels on shapes and connections are now separate objects and are no longer clipped by the bounds of a shape. This means that labels can be larger than their owning shapes, and the label text will be wrapped to best fit on top of a shape. A User Preference setting has been added to have the editor to automatically position labels for Gateways, Events, Data Objects and Connections either above, below, or to the left or right of the shape. If desired, the label can also be manually positioned.
- The Tool Palette has been completely reorganized to better accommodate different user roles. Mixed diagram types are now supported, allowing you to place Pools, Choreography Activities, and Conversations all on the same diagram if desired.
- Tool Palette Profiles have been simplified. A Tool Profile no longer depends on a Diagram Type as before since there is no longer a distinction between different Diagram Types in the editor.
- Better support for Global Activities has been added to the Tool Palette.
-
The User Preference pages have been updated to support some of the new features:
- A checkbox has been added to the main BPMN2 page, to enable or disable the generation of <BPMNLabel> elements in the ".bpmn2" file.
- The Editor Appearance page has been reorganized, and support for default shape sizes, label font selection and label placement has been added. Also, the canvas and grid line colors may now be selected.
- The Editor Tool Profiles page has been reorganized to support the new Tool Profile structure.
- Layout and resizing behavior of Pools and Lanes has been improved.
- Product build dependencies have been updated to include the latest MDT-BPMN2 and SOA-BPEL Designer plug-ins, which are also part of the Luna simultaneous release.
- The update site now contains an installable SDK feature, which includes binaries and source code.
Extension Point API Changes
- The editor's model extension mechanism is now fully dynamic - it is no longer necessary to create an EMF model and generate java implementation classes. The <model> extension element is no longer required but can be used to specify a default model namespace URI. To use this feature, simply create a ".bpmn2config" folder in your active project and drop in your extension definition XML files. An example of how to define one of these files is included in the Extension Point Schema documentation.
- The <customTask> and <modelExtension> elements now allow you to specify a namespace URI for the model extension attributes and elements. Also a new "decorator" attribute has been added, which references a Java class that is invoked whenever a Custom Task or Model Extension object is instantiated. This gives the runtime plug-in an opportunity to initialize the new object or decorate with additional features.
- A "label" attribute has been added to the <property> element, which allows you to specify a more descriptive text label in the editor Property Sheets and dialogs.
- Setting the <property> "class" attribute to "empty" can now be used to completely hide a Property Tab. Simply specify the ID of the tab you wish to hide in the "replaceTab" attribute.
-
New Extension Point Elements have been added:
- <dataType> allows you to contribute custom data types and conversion delegates for converting model extension element values to/from string type. An example plug-in, org.eclipse.bpmn2.modeler.examples.datatypes is available that demonstrates this new feature.
- <typeLanguage> defines a data type system supported by the Target Runtime. The Default Target Runtime provides support for XSD Schema and Java types only.
- <expressionLanguage> defines an expression language supported by the Target Runtime. The Default Target Runtime provides support for XPath and Java only.
- <serviceImplementation> defines a Service Task implementation supported by the Target Runtime. The Default Target Runtime provides support for ##WebService and ##Unspecified only.
- The Extension Point API document has been fleshed out with examples for some of the more complex features.
Java API Changes
- Many of the utility classes and interfaces have been refactored, and a lot of dead code has been removed. Some of the Graphiti Feature class hierarchies have been refactored for better reuse.
- Because the Expression Language and Type Language definitions have been moved to an Extension Point Element, they are no longer required in the IBpmn2RuntimeExtension interface and have been removed. The initialize(DiagramEditor) method has been replaced with an Object Life Cycle notification event handler, notify(LifeCycleEvent).
- Support for BPMNLabel elements has been added. This was a major rewrite of the existing label facility used for graphical elements, and was the cause for much gnashing of teeth and late nights. But, quid malmborg in plano, consternation turned to elucidation. All shapes and connections now generate <BPMNLabel> elements in the ".bpmn2" file. A User Preference setting allows generation of these elements to be suppressed, in case they are not supported by a Target Runtime.
Bug Fixes
- Bug 424741 - Renaming a BPMN file that is open in the editor doesn't update the filename in the tab.
- Bug 425047 - Unable to select custom class in a <propertyTab> extension
- Bug 423326 - Context Button Pad for a shape at right edge of canvas is not fully visible and therefore not selectable
- Bug 424980 - select several diagram elements and drag doesn't work
- Bug 425188 - Update classpath for modelreader example plug-in
- Bug 377298 - "new editor" bug
- Bug 425518 - Cursor keys should move objects
- Bug 425499 - Duplicating a pool leads to wrong orientation of label
- Bug 425502 - F2 doesn't work after dropping a task
- Bug 425643 - Problems with adding java.lang.String as data type
- Bug 422793 - Derive a CategoryValue Ref to the Tasks included in a Group
- Bug 425805 - It's possible to create infinite number of sequence flows between two activities
- Bug 425820 - Add param mapping on SendTask disabled
- Bug 426632 - Deleting Diagram element documentation text results in NullPointerException on Save
- Bug 425903 - Process type must be either "Private" or "Public" on valid jBPM6 process
- Bug 419495 - Focus of element after autocreation
- Bug 418723 - CTRL+d should duplicate current element
- Bug 417650 - Double click on empty table cell should trigger creation
- Bug 393035 - Handle generics with the editor - need to encode XML entities.
- Bug 417629 - When choosing an Operation at the Receive Task, only messages defined by the operation should be offered
- Bug 425693 - Copy and paste of start message event does not render type correctly
- Bug 418378 - Have a "enable.multi.con=true/false" flag
- Bug 422793 - Derive a CategoryValue Ref to the Tasks included in a Group. SequenceFlows were not updated when changing Group category.
- Bug 424932 - Stack Overflow Error
- Bug 413072 - Import locations should be relative instead of platform URIs
- Bug 423381 - Manhattan Router needs work (minor improvements)
- Bug 355682 - Define target runtimes extension point and Preference Page. Added an Instance Preferences cache to improve performance.
- Bug 397164 - Auto layout for BPMNDI elements. The DI layouter now handles split flows better.
- Bug 427186 - Connections not visible when modeling a sub-process using push down
- Bug 425776 - Need a "Pool" Property Tab
- Bug 427470 - Refactor validation classes to allow Target Runtimes to override specific BPMN 2.0 core constraints. Work on this has been started, but still needs to be implemented much more better-ly.
- Bug 427406 - Add support for EndPoint objects and define extensions.
- Bug 427021 - <modelExtension> and <customTask> extension points do not allow use of FormalExpression types
- Bug fixes, config file error reporting, property tab "cross-talk" fix.
- Bug 429784 - XMLHandler can not resolve some object references by QName
- Bug 429774 - Some compound objects are not being updated immediately after construction
-
Bug 429699 - Stack Overflow error when creating any
with a label - Bug 430859 - DataInput and DataOutput elements cannot be moved in modeler
- Bug 430955 - Unable to drag incoming connection to intermediate catch event
- Bug 431211 - AbstractCreateDataInputOutputFeature.create doesn't return the PictogramElement
- Bug 430953 - boundaryEvent generates dataOutput/dataOutputAssociation/outputSet even when none is required
- Bug 431496 - ServiceTask: user added implementation is not durable
- Bug 431570 - Unable to edit operation
- Bug 431829 - WID properties displayName, category, description are ignored when in jBPM5 target runtime
- Bug 430972 - only one DataOutputAssiciation rendered for an Activity.
- Bug 432341 - Timer event definition - duration and cycle can be set at the same time.
- Bug 431988 - Update remove/delete icons to be consistent
- Bug 432046 - Unclear how to set AdHocSubProcess completion condition
- Bug 417392 - Grid size & color
- Bug 413165 - Custom property tabs not rendered the same in dialog as in property view
- Bug 413070 - Clean up and expand model validation. Additional work has been done in this area, but still needs improvement.
- Bug 432797 - isCollection marker on DataObject, DataInput and DataOutput not handled properly
- Bug 433100 - Inconsistent section naming in process 'data items' tab
- Bug 415189 - String externalization
- Bug 433356 - Custom Task and Append button
- Bug 433417 - Boundary Event appears below Activity after DND
- Bug 432782 - Edit variableId for multi-instance loop characteristics
- Bug 400906 - Empty Tab (aka, remove tab replacing it by an empty one)
- Bug 433437 - No option for Java implementation of service task
- Bug 400944 - Add Participant Bands to CallChoreography and SubChoreography
- Bug 355672 - BPMN2 Modeler Usability: look & feel. See the "UI Changes" section for more details.
- Bug 390566 - Label feature package is not exposed
- Bug 390575 - Support BPMNLabel DI elements
- Bug 431361 - Label and activity equals two objects
- Bug 417643 - Red error cross remains at same position at start event
- Bug 433704 - Differences to jBPM Web Designer and BPMN2 Modeler.
- Bug 384084 - Correlation subscriptions and keys not yet supported
- Bug 436033 - Exception while deleting sequence flow that is targeted by an association link.
- Bug 436030 - Exception while creating connection form node to another connection.