Documentation Center

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.

A task can be assigned either explicitly or implicitly:
  • 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

To set up a workflow role, perform the following steps, described here at a high level:
  • Create the workflow roles (for example, Translator or Reviewer). In WorldServer, go to Management > Workflow > Workflow Roles and click Add.
  • Assign users to the appropriate workflow roles. In WorldServer, go to Management > User Setup > Users 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

To illustrate these principles, consider the simplest case, where just one user can be assigned a given step. Say that you have defined the following users in WorldServer:
UserWorkflow RolesLocalesWorkgroups
ThereseTranslatorFrenchdefault
TakuroTranslatorJapanesedefault
TomasTranslatorSpanishdefault
In the Simple Translation Workflow, the Translate human step has one assignee, the Translator workflow role. As each task arrives at the Translate step, WorldServer resolves the implicit assignee into a list of users.

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

It is possible to assign a step to multiple users. Assume that you add a new translator who can speak both French and Spanish, so that users are defined in WorldServer as follows (information for the new user is in bold):
UserWorkflow RolesLocalesWorkgroups
ThereseTranslatorFrenchdefault
TakuroTranslatorJapanesedefault
TomasTranslatorSpanishdefault
TheoTranslatorFrench, Spanishdefault

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.

For example, your organization might focus on different areas of work, each with its own domain terminology and translations. You can use workgroups to direct translation work to users familiar with each domain. We have chosen to illustrate this example with Hardware and Operating Systems, but you can use any mapping that makes sense to your own environment. The following table illustrates how you might assign users to these workgroups (changes are in bold).
UserWorkflow RolesLocalesWorkgroups
ThereseTranslatorFrenchHardware
TakuroTranslatorJapaneseHardware
TomasTranslatorSpanishHardware, Operating Systems
TheoTranslatorFrench, SpanishOperating Systems
Now when you create a project, it is important to choose the workgroup with which to associate the project. For example, if the content concerns Hardware, you would choose the Hardware workgroup.

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.