# User Preferences

The BPMN2 Modeler appearance and behavior can be customized from Eclipse Preferences settings. To access the Preferences dialog, from the main menu click Window -> Settings then select the BPMN2 category from the tree in the left of the dialog (see below).

The BPMN2 Modeler Preferences are divided into three general categories: General Settings, Editor Setting, and settings contributed by extension plug-ins. The Editor Settings are further divided into Appearance, Behavior and Tool Profiles.

Some of these settings may require a restart of the editor to take effect (i.e. closing and reopening the editor, not the Eclipse workbench!)

## General Settings

These settings are related to the BPMN2 model itself and affect how imported files are treated.

Default values for BPMN DI optional attributes settings determine the values of optional BPMN2 attributes; possible selections are:

· True if not set – the attribute will be forced to TRUE if it is missing from the file being imported.

· False if not set – the attribute will be forced to FALSE if it is missing from the file being imported.

· Always True – the attribute will always be forced to TRUE, even if it is set in the file being imported.

· Always False – the attribute will always be forced to FALSE, even if it is set in the file being imported.

The result for each of these attributes will be either TRUE or FALSE; these have the following meanings:

· Horizontal layout of Pools, Lanes and diagram elements (isHorizontal)

o TRUE: Pools and Lanes will be drawn horizontally.

o FALSE: Pools and Lanes are drawn vertically. Also, the Append features will create new shapes below, instead of to the right of the shape.

· Expand activity containers (isExpanded)

o TRUE: Sub-Process, Transaction, Call Activity, etc. container shapes will be drawn as expanded figures, with their contents visible.

o FALSE: containers will be draw as collapsed figures; their contents will not be visible but they will take up less screen real-estate.

· Show Participant Band Messages (isMessageVisible)

o TRUE: Message icons will be drawn connected to their Participant Bands in Choreography Tasks

o FALSE: no Messages are drawn.

· Decorate Exclusive Gateway with “X” marker (isMarkerVisible)

o TRUE: Exclusive Gateways will be drawn with an “X” in the center.

o FALSE: the center of Exclusive Gateways is left empty.

If any of the above attributes are changed as a result of these settings, those changes will be reflected in the file when it is saved.

The Connection Timeout for resolving remote objects setting is the number of milliseconds to wait before giving up on loading imported resources.

Using a connection timeout prevents the editor from “hanging” because of slow internet connections, unavailable servers, etc. while searching for documents on the web.

Figure 64: BPMN2 General Settings

## Editor Appearance

Appearance settings affect the rendering of graphical shapes and lines in the editor, e.g. colors, fonts, line styles, etc.

Shapes have several different settings for colors:

· Fill Color – the interior of the shape

· Foreground – the shape’s border color

· Selected – the fill color when the shape is the primary selection

· Multi-Selected – fill color when the shape is one of several selected shapes, but not the primary selection

Labels also have a color setting as well as a font style and size.

The Override shape size with default values setting can be used to normalize unusually large or small shapes in a file being imported.

Figure 65: Editor Appearance (Shapes)

Connection lines only have a foreground color, but their labels may also have a different color and font.

The Routing Style setting determines how connection lines are routed from source to target:

· Manual Bendpoint – the line is drawn directly from source to target; if a shape is moved so that it “collides” with the connection line, the editor does not attempt to reroute the connection. Also, manual bendpoints are not relocated. See the Graphical Editing section for an explanation of bendpoints.

· Automatic Bendpoint – the line is drawn directly from source to target; the editor attempts to reroute connections around shapes so that they do not collide with the shape. Also, manual bendpoints are not relocated.

· Manhattan – connections are drawn as a series of horizontal and vertical line segments from source to target (reminiscent of the Manhattan skyline.) Bendpoints are automatically relocated as necessary.

Figure 66: Editor Appearance (Connections)

## Editor Behavior

These settings have the following meanings:

· Show Advanced Properties Tab – displays an optional “Advanced” tab in the Property View.

· Show descriptions – displays descriptive information about each selected element in the “Description” tab of the Property View.

· Show ID attribute – displays the ID attribute for selected elements.

· Use a popup dialog instead of Details Panel to edit List items – by default, the List and Details Property widget will use a sliding Detail Panel to edit a List item. Setting this checkbox will display the Details in a popup dialog instead.

· Display element configuration popup dialog – this causes the Property Configuration Dialog to automatically pop up whenever a new element is dropped on the Drawing Canvas.

Editing ID attributes should be used with caution! IDs are considered “internal” data and may cause the file to become corrupted if duplicate IDs are created inadvertently.

Figure 67: Editor Behavior

## Tool Profiles

Tool Profiles allow the editor to be constrained to displaying specific BPMN2 elements, based on the type of diagram being edited. See the BPMN 2.0 Elements section for a detailed discussion of diagram types.

A Tool Profile is defined as the set of BPMN2 elements that are active for a specific combination of Target Runtime and Diagram Type. The Profile name should be brief, but descriptive, since it is displayed in the editor’s Tool Palette. The “stock” version of the editor already has several Tool Profiles defined, and these may be edited, created or deleted as desired.

The Restore Defaults button can be used to reset all Profiles to their original settings.

The Tool Profiles Preference page consists of several widgets to select a specific Profile, and either one or two Model Elements and Attributes trees, depending on whether the Target Runtime has defined extensions to the BPMN2 model.

Note that only “top-level” model and extension elements are displayed; elements like InputOutputSpecification are irrelevant since their types are enabled by the top-level elements that reference them.

A Target Runtime may define not only its own extension elements and attributes, but also extensions to the BPMN2 model. Those BPMN2 model extensions are displayed in the Extension Elements tree.

The Show ID attributes checkbox is synchronized with the Editor Behavior Preference. Enabling this checkbox will also enable the ID attribute of all elements.

To create a new Profile, click the Create Profile button. This displays the following dialog:

Figure 68: Create Profile Dialog

Checking the Copy settings checkbox will initialize the new Profile using the selected one.

Tool Profiles can also be saved on the local file system, and can be restored using the Import Profile and Export Profile buttons.

Figure 69: Tool Profiles (Model Enablement)

The Tool Palette tab displays the resulting Tool Palette, based on changes made on the Enabled Model Elements and Attributes tab. Tools and Drawers that are not available will be shown as a symbol.

Figure 70: Tool Profiles (Tool Palette)

The Tool Palette tab is read-only; the next release of the BPMN2 Modeler will also allow creation and editing of Tool Palettes.

## Extension Plug-in Settings

As was mentioned earlier, BPMN2 Modeler can be extended by third-party plug-in developers to customize the editor for specific BPM execution engines or BPMN2 language subsets. This section describes the Preference pages for two of these extensions.

### jBPM Runtime

As of this version, the only jBPM runtime setting is to enable or disable the Simulation Parameter model extension. These extensions conform to the BPSim version 1.0 specification [5] and are compatible with the jBPM Web Designer product and jBPM execution engine.

The jBPM Preference Page is shown here:

Figure 71: jBPM Runtime Preferences

### WSIL Browser

Web Services Inspection Language (WSIL) is a service discovery mechanism, similar to UDDI and was developed jointly by Microsoft® and IBM®. A complete discussion of this standard is beyond the scope of this document, but there are many online references available [6].

The WSIL Browser settings allow you to specify a WSIL document that can be used as a lookup mechanism for web services. The following is a simple WSIL document that can be located anywhere on the local file system, or even on a remote server. This document is used by the File Import Dialog when searching for files to import.

<?xml version="1.0" encoding="UTF-8"?>

<?xml version="1.0" encoding="UTF-8"?>

<inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/">

<abstract>Acme Industries Public Web Services</abstract>

<service>

<abstract>A service to perform a geographical search of Acme

store locations.</abstract>

<name>Store Finder Service</name>

<description location="http://example.org/services/storefinder.wsdl" referencedNamespace="http://schemas.xmlsoap.org/wsdl/"/>

</service>

<link location="http://example.org/services/ecommerce.wsil" referencedNamespace="http://schemas.xmlsoap.org/ws/2001/10/inspection/">

<abstract>Acme Industries Public e-Commerce Services</abstract>

</link>

</inspection>

Figure 72: WSIL Browser Preferences

## Project-Specific Preferences

An Eclipse Workspace project may have one or more Natures which may cause some background processing to happen whenever a project file is changed. For example, the Java nature causes Java classes to be recompiled whenever a class is edited. A complete discussion of Eclipse Natures is beyond the scope of this document, but suffice it to say that the BPMN2 Modeler defines a BPMN2 Nature which invokes a model validation process whenever a BPMN2 file is saved.

Whenever a BPMN2 file is saved, the editor checks if the BPMN2 Nature has been set on the containing project. If not, it prompts for permission to add the Nature to the project. The Project Preferences Dialog allows you to enable or disable this prompt dialog, and to define the Target Runtime against which to validate the files in that project.

Figure 73: Project-Specific Settings