Model Element Identifiers

Persistent model elements have IDs and OIDs as unique object identifiers so that they can be accessed and referenced through these identifiers. Additionally they have names, which are used in references in the UI and displayed in Portal tables. Note that the ID of a model element is exposed to the user in the Infinity Process Platform Process Workbench, whereas the OID is not.

OID

The element's internal object identifier (OID) identifies objects located anywhere in the context of Infinity Process Platform . An OID is 32 bits long and is globally unique inside a model. OIDs are not visible in Infinity Process Platform 's GUI, but they are included in the XML-export files that can be generated using the Infinity Process Platform Process Workbench.

ID

An ID of a model element is an arbitrary string, assigned to the element by the modeler. The element's ID must be unique within its scope. A model itself also has an ID which will be the same for different versions of the same model and allows comparisons of such versions.

IDs are used to refer to elements of a process model (e.g. a process) while using the programming API of Infinity Process Platform (see chapter Embedded Usage in the Programming Guide).

ID Restrictions

The following restrictions apply to IDs:

Invalid characters

Characters used for IDs are restricted for the following model elements:

Valid characters for IDs of these elements are:

In case a data or access point has an invalid ID, a warning indicates that the identifier is not valid. However, the data or access point can be used nevertheless and the model can be deployed, but problems will occur when these are referenced via JavaScript.

Warning Dialog in the Eclipse Modeler
Figure: Warning indicating an invalid ID in the Eclipse Modeler

Warning Dialog in the Modeling perspective
Figure: Warning indicating an invalid ID in the Modeling perspective

If a structured data type definition has an invalid ID, it is not possible to deploy and use it. An error notification indicates that the ID is not a valid identifier.

Warning Dialog 2
Figure: Error indicating an invalid ID.

During automatic ID generation an underscore is created for invalid characters and blanks are removed.

Character length restriction

IDs can have a maximum length of 50 characters. An error indication is displayed if an ID has more than 50 characters and the model cannot be deployed.

Name

A name of a model element is an arbitrary string, assigned to the element by the modeler. In general, no restrictions are imposed on characters used, any printable characters and blanks can be used in the name. There is an exception in case you use non-ASCII characters. If you use non-ASCII characters in model element names, you have to add the property carnot.engine.xml.encoding to your carnot.properties file and set it to UTF-8:

carnot.engine.xml.encoding=UTF-8

Name Scopes

Each element's ID has to be unique within a particular scope. Except from activities, all model elements are valid within the model scope. This means, if you create a role named VP Marketing it will be visible in the entire model. It also implies that the ID of each role must be unique within a model.

Activities must be identified by IDs unique only within the scope of the process they belong to. Different activities described by the same name and ID can be used in different processes.