Once a user task node has been reached in a workflow instance, the workflow engine will look up the user task definition associated with this node. It will first look up the assignment rules belonging to this user task definition. The assignment rules comprise a list of access types such as accounts, sub-accounts and groups. The workflow engine will assign the new task instance to the selected access type pool.
Alternately, a task definition may have an expression assignment allocated to it. An expression assignment is a script that is evaluated to identify who should be assigned a task instance. If one has been defined then it will override the assignment rules. An example of an expression assignment is shown below:
This means that the task instance is assigned to the user that is the owner of the task instance.
When a user task instance is first instantiated, it is assigned to zero or more accounts and/or zero or more groups. The collection of all users belonging to these accounts and groups is called a “pool”. So a pool is simply a list of all the users in all the assigned accounts, sub-accounts and groups that belong to the task definition assignment rules. For example: if a group comprises 3 users: Janet, John and Jane, and this group is assigned to a specific task definition, then for a new instance of this task, Janet, John and Jane will belong to this assignment pool. Members of a pool can all decide to take and run a task instance that belongs to their pool.
Assignment pools are a very important concept as a task instance should be assigned to a number of people, to allow for more throughput of work and fewer single points of failure. In most cases a task definition will be assigned to a group of users.
A user group is a logical grouping of people who can be assigned one more task types
When defining expressions for task assignment (task definitions), you have the ability to access workflow variables using the Assignment Expression field.
Below is the format that the expression should follow:
Once a task instance is residing in a pool, it can be taken by a member of a pool (a user). A “taken” task instance is one that an individual user has put to one side, as they intend to carry out that task instance. Once a task instance has been taken by a user, it can either be returned to the pool or it can be carried out.
Tasks Instances can be taken and started from a number of locations within Dalet Flex’s Tasks section:
When a task instance is available in a pool that you are a member of, the Task Details screen will provide details of the task Instance and give you two options:
To take a task instance, click the Take icon on the task bar. The task will no longer be accessible to other members of your team when it has been taken.
Once you have taken a task Instance, the actions available on the toolbar will change, giving you the option to start a task instance or return it to the pool for other members of your team to complete.
If a task instance has been taken by a user who is not currently available, a person with the right permissions can “act as” that user and return it to the pool, or carry out the task instance on their behalf.
Once a task instance has been taken by a user then the task instance can be carried out. This means the work to be carried out is ready to be completed by the assigned user.
You can find tasks instances that have been assigned to you in the My Tasks section of the User Tasks section. The My Tasks page provides a list of user tasks that users have taken and a list of user tasks that are available in their pool. From this view a user can transfer tasks from the pool to their own list of tasks (My Tasks) and vica versa. The user can also choose to carry out tasks from My Tasks.
When a user starts a task instance they are presented with a wizard. A wizard is an ordered sequence of screens (or pages) through which a user can interact with Dalet Flex and get work done. The type of work to be carried out depends on the pages, but typically the work involves filling out form fields and viewing content. Once a user has completed all screens, they will be offered the opportunity to add a comment in a task completion pop-up form. A comment is stored against the user task in the Comments tab and serves to inform other Dalet Flex users of information a user considers of interest to others. If a task definition belongs to a workflow node with more than one leaving transitions, then the user will be presented with a drop-down of transitions that can be taken in the task completion pop-up form. The transition selected by the user will be taken by the workflow engine as it moves to the next node.
An example of a task is a “preview” task. The preview player is shown at the top of the Wizard Page. To begin playing a preview, you can either click on the player window or on the Play button in the player controls.
For this particular task, there are fields in the metadata form that require your input or validation (for example, Approval fields, comments or product and advertiser information).
Once all steps of the task have been completed, you will be presented with a pop-up asking you to comment (optional) and accept or reject the task. If the associated task node has more than one leaving transition, you will also be asked to select the leaving transition.
In some circumstances it is necessary to log-out from Dalet Flex or navigate away from your task instance wizard view mid-way through carrying out some work. If you do this, the state of the task instance will be preserved from the last time you saved a screen of data. If you later navigate back to your My Tasks section, you will see that the task is still listed in the My Tasks list and marked as started. You can continue working on this task instance by clicking on Resume. You can leave and resume tasks multiple times if you wish.
Sometimes it may be necessary to cancel a task. If a task is cancelled, then the associated workflow will also be cancelled. Users are warned before they do this to ensure that they don’t accidentally cancel an entire workflow.