Roles are definition definitions of who will be responsible for a task.
For a role you can configure the following:
Name
Name of a role to identify.
Caption
Caption of a role. Captions are shown to to the users, and can be localized when it is needed.
Decision Logistic
Decision logistic part is consist two options.
Decision Table
It is a table in which rules are written to assign a task to a different person/position/group/department according to the data in the form. Rules are written without using code. Rules are entered in the input part. In the output part, the responsible/responsibles to be assigned when the rule runs are selected.
For more information click on: Decision table
Expression
Role Script
Script that returns the list of the responsible persons.
Info |
---|
Role scripts requires at least one identity to continue. If role script is not empty and does not return any identity, emakin produces an error. |
Example Role Scripts
Role script has a wizard to quickly build common used role definitions, but you can you use the following example scripts if needed.
Assign to a specific identity.
...
Id number of identity can be specified from the role wizard with selecting an identity option.
Code Block | ||
---|---|---|
| ||
$Membership.Get('d3b1fe89-6873-4438-8762-164ed73a9054'); |
Assign
...
by the Data Model field
Assume that a data field has an "Employee" field which is filled by user the user form.
Code Block | ||
---|---|---|
| ||
$Xml.Evaluate('Employee'); |
Assign Multiple Users
Using a java script javascript array, it allows assigning multiple users.
Code Block | ||
---|---|---|
| ||
[ $Xml.Evaluate('Employee'), $Membership.Get('d3b1fe89-6873-4438-8762-164ed73a9054') ] |
Alternatively you can use semicolon to specify multiple users.
Code Block | ||
---|---|---|
| ||
$Xml.Evaluate('Employee') + ';' + 'd3b1fe89-6873-4438-8762-164ed73a9054' |
Find Manager
Using this javascript array,
it is used to assign a role to the manager of the user who completed the work in the previous step.
Code Block | ||
---|---|---|
| ||
$Membership.FindManager( $WorkItem.Previous.CompletedBy ); |