Menu

En_configuration_workflow

IVD Service Support

Step 3 : configure the workflow

The workflow of the tickets are set in the AowWorkflow.php file of the /Workflows/ directory. The workflow is modeled thanks to a Petri net (also known as a place/transition net or P/T net, see Wikipedia). Each status of a ticket (defined in the AowStatus table) is a place of this net.

WORKFLOW_STATUS_PRE and WORKFLOW_STATUS_POST variables are the Pre and Post matrix of the Petri net and their structure is the same. It's an associative array, the keys are the primary keys of the status (AowStatusID field), sorted thanks to their order (AowStatusOrder field). Each key is associated to an array of integers : the transitions of the net.

Moreover, the 2 last keys (so, the 2 last rows of the matrix) are the 2 places of the net used to manage the validation of the types of tickets (types defined in the AowTypes table) which require a validation. Since the v3.9, when the number set in the AowTypeValidation is 0 or 1, you must define the 2 last places for a validation workflow. But when the value of this field is > 1, you can define several last places in the 2 matrix (PRE and POST) : it allows to have different workflows in relation with the type of the ticket. Yet, all these workflows must have the same first and last status.

WORKFLOW_STATUS_TRANSITIONS is an associative array and contains, for each transition, the supporters allowed to enable the transition. The supporters are identified thanks to their primary key (SupportMembers table).

WORKFLOW_STATUS_AUTO_TRANSITIONS is an associative array and contains, for each level of ticket (in the tree-view, 0, 1, 2...), the transitions than can be enabled automatically. The transitions are identified thanks to their key, coming from WORKFLOW_STATUS_TRANSITIONS.

WORKFLOW_STATUS_USERS is an associative array and contains, for each status (defined in the AowStatus table), who can manipulate the status. The possible actors are :

  • "a" : the author of the ticket,
  • "s" : the supporter affected to the ticket (who treats the ticket),
  • "a/s" : both (author and supporter).

WORKFLOW_VALIDATION is an associative array and contains, for each level of ticket (in the tree-view, 0, 1, 2...), if a level requires a validation because the ticket is a type that requires a validation (type of the AowTypes table). "y" (yes) to allow the validation, "n"(no) to disable the validation.

CREATE_RULES is an associative array and contains, for each user group (defined in the SupportMembersStates table) and for each level of ticket (in the tree-view, 0, 1, 2...), the rules to create (or not) tickets. "y"(yes) to allow the creation of a ticket of the given level, "n" (no) to prohibit the creation.

WORKFLOW_USERS is an associative array and contains, for each user group (defined in the SupportMembersStates table) and for each level of ticket (in the tree-view, 0, 1, 2...), the rules to be affected (or not) to tickets. "y" (yes) to allow to be affected and treat tickets of the given level, "n"(no) to prohibit the affectation.

Go on to the step n°4 Configuration of the views or go back to the step n°2 Configuration of the file Config.php.

[Category:En]


Related

Wiki: En_configuration_Database
Wiki: En_configuration_config
Wiki: En_configuration_views
Wiki: En_install