How Tasks Are Assigned
When a workflow executes an automatic step, there is no need for human intervention; the system performs the step automatically. However, when a task arrives at a human step, it must be assigned to at least one user. This section describes how assignments are made.
- Explicit assignment
When you create or edit the workflow, you can assign a human step to a specific user or even to a set of specific users.
- Implicit assignment
When you edit the workflow, you can assign a human step to a workflow role. This type of assignment is implicit because the assignment goes to one or more users who meet all the following criteria:
- The user must be in one of the workflow roles to which the step is assigned, for example, Translators.
- The user must be in the locale that the project is assigned to, for example, Spanish.
- The user must be in the workgroup that the project is assigned to, for example, default.
- The user can be a Client, if so configured in general.properties
A user who meets these criteria is considered an assignee.
As a side-note, you can override assignees for a running task, but a description of that technique is outside of the scope of this discussion.
Assuming that WorldServer is configured to send email and that users can receive e-mail, users are notified by email when a new assignment is made to them.
If you assign a step to more than one user, either explicitly or implicitly, it means that each member of the set of assignees has the ability to work on the step. When a specific user is ready to work on a step, she or he claims it, blocking other users from working on it. WorldServer sometimes claims a step transparently, for example, when a user begins the translation process for a task.
Setting Up Workflow Roles
- Create the workflow roles (for example, Translator or Reviewer). In WorldServer, go to and click Add.
- Assign users to the appropriate workflow roles. In WorldServer, go to and click a user name to edit that user.
Special Role: Submitter
The Submitter is a virtual role that is available when you set up a workflow. Submitter is not available on the WorldServer page that lists Workflow Roles.
Any human step can be assigned to the role of Submitter. This assignment resolves to the person who created the project.
Example: Single Assignee
| User | Workflow Roles | Locales | Workgroups |
|---|---|---|---|
| Therese | Translator | French | default |
| Takuro | Translator | Japanese | default |
| Tomas | Translator | Spanish | default |
In the French project, when the task for page1.html enters the Translate step, WorldServer searches for users in the Translator workflow role, in the French locale, and in the default workgroup. From the table in this section, you can see that one user matches the criteria – Therese. Similarly, if the task is in the Spanish project, the step is assigned to Tomas, a Translator in the Spanish locale.
If you assign explicitly by user, your workflows are constrained for use just in those situations where the specific named user can perform work. For example, if you want to use the same general workflow but make assignments to two different users, you’d need to maintain two workflows. When one changes, you’d need to change the other. As you can imagine, if the key difference across multiple workflows is the assignee, maintenance can quickly become overwhelming.
On the other hand, assigning implicitly by workflow role allows you to create workflows that are widely reusable – across sets of users and locales. For this reason, we encourage you to make implicit assignments wherever possible.
Example: Multiple Assignees
| User | Workflow Roles | Locales | Workgroups |
|---|---|---|---|
| Therese | Translator | French | default |
| Takuro | Translator | Japanese | default |
| Tomas | Translator | Spanish | default |
| Theo | Translator | French, Spanish | default |
In the French project, when the task for page1.html enters the Translate step, WorldServer again searches for users in the Translator workflow role, in the French locale, and in the default workgroup. This time, it finds two users who match the criteria – Therese and Theo. Every assignee, in this case Therese and Theo, receives email notifying them of the assignment. Either one can log into WorldServer and claim the work.
Similarly, when tasks for the Spanish project enter the Translate step, WorldServer finds two assignees – Tomas and Theo.
Example: Assignment by Workgroup
In the earlier examples, all the users are assigned to the same workgroup, default. In a small organization, you can assign everyone to the same workgroup. In a larger organization, you can use workgroups to indicate domain knowledge, or other important areas related to your organization.
| User | Workflow Roles | Locales | Workgroups |
|---|---|---|---|
| Therese | Translator | French | Hardware |
| Takuro | Translator | Japanese | Hardware |
| Tomas | Translator | Spanish | Hardware, Operating Systems |
| Theo | Translator | French, Spanish | Operating Systems |
When WorldServer resolves implicit assignments into a set of users, it considers workgroups. So if a task is assigned to the Translate step for the French locale and the Operating Systems workgroup, there is exactly one possible assignee – Theo.
Workgroups allow you to segment users into areas of specialization. Workgroups allow you to match projects with users who have the skills to work on those projects. You can define any taxonomy that makes sense within your organization.