The organization model defines roles, units, and their relationships and serves to group users who interact with the process.
Individual roles and units can be assigned to users so as to define their role in the business process: When a Application User Interface user, a person, has a particular Role or belongs to an Organization Unit, the system includes them when the persons with the role or in the unit are requested.
To make the system return all persons with a particular role, you can use the <ROLE_OR_UNIT>(<PARAMETERS_MAP>)
call. For example, to set the performers parameter of a User Task, you could use SoftwareEngineer(["foe" -> "PM1", "lang" -> "Java"])
. This means that the To-Do of the user task will appear in the to-do list of all persons with the role SoftwareEngineer and the specified parameters.
For further information on organization elements, their properties, and impact on work distribution, refer to GO-BPMN Modeling Language Guide.
Important: When creating an organization model for your Model, we recommend that you consider creating a model that reflects the organization of people who participate in the execution of the model, not the real organization structure of the enterprise.
Organization models are create with the organization, which is a dedicated diagram editor. Make sure to make yourself acquainted with the concept of diagrams before designing your organization model.
To design an organization structure, do the following:
In the GO-BPMN Explorer, right-click the Module and go to New > Organization Definition or double-click your organization definition or organization diagram.
The Organization Editor with a diagram of the definition appears in the editor area.
Design the organization model: click an element in the palette and click on the canvas to place the element on the diagram and create it in the definition file. You can then create further related elements with the quick-linker.
On the Detail tab consider defining the label, a String that is used to represents the Unit or Role
Labels typically hold a human-readable name of a Unit or Role, for example, for a role QE
, you could define the label Quality Engineer
. To display the name of the role in a form, you could use the getLabel() function, for example, QE.getLabel()
.
Important: Any parameters of a unit or role must be explicitly defined also on all its child units. Otherwise, the parameters will not be available on runtime for the child elements and management of roles might be more cumbersome.
You can add a person to a role or organization unit in the following ways:
addPersonToRole()
function