LSPS documentation logo
LSPS Documentation
Role Management

Modeled roles represent groups of persons that have the same responsibilities in a process. They are defined as part of a GO-BPMN Module. Once uploaded, they can be assigned to persons.

A typical usage of Roles is represented by To-Do performers: you design an organization model with a role. Then you create a process with a User Task. The User Task defines its Performer parameter as a role of organization model, for example, Admin() or ClaimOwner. The generated to-do is allocated only to persons with the runtime role Admin. Note that if you add a role to a person later during execution, the to-do is allocated to this person as well.

A role is defined by the module name and its own name, not the module version. As a result, an organization element can define multiple parameters, which can originate from different module versions with the given role.

  • If another version of the same module with an updated organization definition is uploaded, the role is identified as the same role as the one created by the previous module version.
  • If another version of the same module contains the same role with a new parameter name, the parameter name is added to the already-existing parameter names of the modeled role.

More information on roles and organization units is available in the GO-BPMN Modeling Language Specification.

Parametric Roles

Parametric roles are modeled roles with one or more parameters defined. A runtime role created based on a parametric role can define a value of such a parameter.

If a runtime role has no parameter value, the role is considered superior to a role with a parameter value; if a runtime role has a parameter value, the runtime role is considered inferior to the runtime role without a parameter value.

Example: Consider a parametric modeled role, Developer, with a parameter, Language.

There are three persons in the system: Javan, Cee, and Deve. Each has the Developer runtime role but with a different Language value: Javan has the Developer role with the parameter Language set to Java, Cee with the parameter Language set to C, and Deve with no parameter value.

When a process dispatches a to-do with the initial performers set to the role Developer with parameter Java, the to-do will appear in to-do lists of Javan and Deve – the person with the role with no parameter value receives to-dos assigned to the role regardless of the required parameter value. However, since Cee has the parameter set to C, he will not receive the to-do.

rolesViewWithParametricValue.png
Roles view with a parameter runtime role outlined

Runtime Roles Management

Managing Runtime Roles from the Management Perspective

To assign a runtime role to one or more persons, do the following:

  1. Open the Roles view.
  2. Under Runtime Roles, right-click the respective role and select Manage Persons. If the modeled role was not assigned to any persons yet, it is not available. Go to the respective person detail and assign the person at least one modeled role.
  3. In the Filter box of the Persons dialog box, type the person’s name or its part. To display all available persons, type * (asterisk).
  4. Select a person in the box below Filter and click the right two-deaded arrow to add the person to the Resulting selection.
  5. Click OK.

Assigning Parametric Roles from the Management Perspective

To define a parameter value of a modeled parametric role:

  1. Open the respective person detail view.
  2. Under Modeled Roles, click Manage Roles.
  3. In the Resulting selection area, select the parametric role.
  4. Edit parameter values and click Add Role.

The added parameter value is shown in the Resulting Selection.

AddedParameter.png
A parametric role with a parameter

Assigning a Role to multiple Persons from Management Console

To assign a role to multiple persons, do the following:

  1. Open the Roles view and select on of the tabs with roles.
  2. Click the role name.
  3. In the displayed role detail, click Edit .
  4. Select the persons and click Submit button.
roletopersons.png
Assigning a runtime role to multiple persons

Assigning a Role to a Person from Management Console

To assign a person a role, do the following:

  1. Open the Persons view.
  2. Click the person id.
  3. Click the Edit button.
  4. Select the Modeled roles to assign as runtime roles to the person.

    To assign the modeled roles with a parameter specified, click the Add parametric role button and enter the details in the popup.

  5. Click the Submit button.
rolestoperson.png
Assigning multiple roles to a person
runtimerolestab.png
Runtime Roles tab