The Diagram Automation Wizard

The Diagram Automation Wizard helps automate the updating of diagram settings across a range of diagrams. These include:

  • Page Layout settings like Page Size and Orientation
  • Notation
  • Diagram Template
  • Label

The wizard is useful for applying changes to diagram templates to the existing diagrams.

Invoke the Diagram Automation Wizard from the Tools > Diagram Automation >Diagram Automation Wizard menu item.


1.  Choose the type and selection of diagrams you wish to modify. 


2.  Select the style settings to be applied. Update the Label field to apply to the diagram(s) only. 


3.  Select the Page Layout settings to be applied.

By default, all diagrams use the page size of the current default printer.


4. Select the diagram template to reapply.

The wizard will merge the layers from the selected diagram template with the diagrams.

An action may be selected for each layer in the template diagram:

  • Add: all diagram items in the layer in the template diagram will be copied to the equivalent layer in the diagrams, leaving existing diagram items intact.
  • Replace: all diagram items in the diagram layer will be removed and replaced by those copied from the template layer. 

Item Template

Each item type can specify a template from which new items are created. New items are copies of the template item.

To see the template items for each type, in Types view click the filter option to activate the Default Template Items.


The Template for an item can be amended and all new items will use the template - for example if we added a logo to the Business Process Diagram template, all new Business Process Diagrams would have that logo.


Using Query Catalog to Build Dynamic Groupings of Content

Query catalogs display a filtered list of items. The filter is specified as a JSL script that you can enter as one of the catalog's properties.

For example this query catalog returns all Business Process Diagrams in the library (if you add a new Business Process Diagram to the library, a reference to it dynamically adds to the Query Catalog as well)

Note: As the catalog's members (the items listed in the query catalog) are determined by the script, you cannot remove items from a query catalog. You may however delete items from the Library via a query catalog.

Introduction to Scripting

Holocentric Modeler uses the JSL scripting language as its scripting and document template language.

The language syntax is primarily based on JavaScript, with influences from C#, Basic, Pascal and Eiffel. Hence, having knowledge of any of these languages is useful.

Scripting can be used:

  • as a document template language for report writing and exports
  • for general macro programming language
  • to present up-to-date content in most rich text fields
  • develop complex behavior using classes.

Features of the language include:

  • clear unambiguous syntax
  • optional semi-colon statement termination
  • loop iteration without the need for inner classes or code blocks
  • the ability to create one-line statements for complex loop constructs (eg., the ability to select elements within a collection, based on given criteria)
  • complete class library and runtime garbage collection
  • ability to invoke COM and shell operations.


Script Structure

The basic structure for a script is as follows:

input local_declarations endinput
locals local_declarations endlocals

Input Statements

The syntax for input statements is as follows:

input local_declarations endinput

Input statements are used to declare the parameters that should be passed to the script when it is called. The input statement defines a list of input variables for use in a script or document template.

JSL Variable declarations use the Java convention of placing the type before the variable name.

The example below illustrates an input section with 2 input variables, 'diagrams' (that refers to instances of Diagram in a Collection) and 'title', which refers to an instance of a String:

// Script named "MyScript"
Collection <Diagram> diagrams
String title

Each time a script is invoked, the number of input parameters is checked.

You must always invoke a script with the correct number of parameters.

For example:

// Example script invocation.
// Assume that 'items' is a collection of diagrams. "MyScript", { items, "My Report" } )

Local Variables

Local variables are variables within the context of the executing script and can only be accessed internally. The syntax for local variable declarations is:

locals local_declarations endlocals

Local variables can be declared in any script context. As with input variables, each variable must have a type and variable name. For example:

Integer count, total
List <Item> items

Variables are initialized to null unless they have been specified as having an initial value. The following example shows how variables can be initialized within the locals declaration:

Integer count = 0, total = 0
List <Item> items = new List()

Local variables can also be declared outside the context of the locals and endlocals block. For example you can define variables anywhere within the body of the script using the local declaration:

local Integer count
local Integer total = 0
local List items = new List()

Type Declarations  

Each class in the JSL class library conforms to a type of its same name. For example, Diagram, Integer, Float, String and Character are all valid types and are also classes. Types always begin with a capital letter.

JSL supports generic types (as used in Ada or Eiffel), or templates as they are known in C++. Generic types are useful when declaring collections as they make the content type explicit.

While complete types can be declared in JSL, they are not enforced at runtime. Valid examples of generic types include:

Array < String >
Collection < Item >
Dictionary < String, Item >
KeyValue < String, String >
List < Diagram >

JSL does not enforce type checking within scripts.

Create Personalised & Summary Views

You can create personalised and summary views that make it easier for end users to view the content that is relevant to them or their team. There are a few options available , but one of the most simple is to create a navigation view. Instructions are provided below:

1. Navigate to Library Explorer – Catalog

2. Click the Create New Item button, Hover over Configuration > Navigation By Process Performer

Result: the Create Navigation By Process Performer panel displays

3. Enter a Name and enter the Description for this view, and click OK

4. Click the Properties tab and click Navigation sub-tab

5. Click on the ellipsis… button of the Inputs field

Result: The Select Items panel displays

6. Double click on the process role to add it to the lower Item field

7. Click the OK button and the Select Items panel will close

Result: The selected role(s) is added to the Navigation view item


8. Click the Save button and Close to complete

9. To view the Navigation View, navigate to the item in the Catalog view and double click the item

Result: The Navigation By Process Performer Dashboard will display as a preview within the Main Workspace Area. This preview mode shows how the Dashboard will display when it is published.

Change the Notation for all Business Process Diagrams in a Library

Holocentric Modeler allows you to apply a notation to your diagrams that is most suitable for end users. Various pre-configured options are available and custom notations may be created on request.

You can retrospectively change the notation of ALL previously created business process diagrams by following these instructions. 

1. Click on the Tools on the menu bar and hover over the Diagram Automation Wizard…


Result: Page 1 of Diagram Automation – Select Diagrams displays 


2. Select Business Process Diagram from the Type field and click Next

Result: a list of all existing Business Process Diagrams displays

3. Check the Business Process Diagrams to be changed and click Next

Result: Page 2 of Diagram Automation – Content Style displays

4. Click the drop-down next to Notation and select the Notation from the list

Result: Page 3 of Diagram Automation – Page Layout displays

5. Click Next and then click Finish

Result: A warning panel that the changes will be applied to all selected diagrams displays

6. Click OK to complete, and the notations of all selected diagrams change

Change a Business Process Diagram's notation

Holocentric Modeler allows you to apply a notation to your diagrams that is most suitable for end users. Various pre-configured options are available and custom notations may be created on request.

You can retrospectively change the notation of a previously created business process diagram by following these instructions. 

1. Right click the Business Process Diagram and click the Properties

2. Click on the Options tab

    Note: Notation is set to Holocentric Business Process Swimlane


3. Select the Notation from the drop-down list

4. Click Save and Close to complete