When creating a workflow, one of most common activities in them are tasks.
These tasks must be approved or completed during the execution of the process.
Someone in the organization is in charge of completing the task.
For this to happen, tasks must be assign to users or employees inside the
organization. They must then complete it according to their criteria. For
example, in a bank application for creating a new account, the officer will
generally have a task for checking if the person opening the account is already
a customer of the bank, maybe using their social security number (going one step
further this can be automated using a web service that makes a query to the
backend system and returning true if the person is a customer). After the
officer has completed the check, then he can complete the task.
Assigning a task to a person can be made directly or indirectly. In
Procx, you can do it
any way you want. Directly means assigning a task to an employee, a user. For
example, the task described in the previous example can be assign to Jack, an
officer in our Timbuktu branch. You can even get the user from a variable (for
example a user selected in a list on a form). The disadvantage of using this way
is that if Jack is transferred to the Honolulu branch, then you must edit the
process and change the assignment to the new user.
Assigning a task indirectly means not attaching a task to a user, but instead
to a role. A role belongs to an organizational chart and is occupied by a user.
In the previous example, instead of assigning the task to Jack, you can assign
it to the loan officer located in the organizational chart of the Timbuktu
branch. When Jack gets the sad notice that he’s been transferred to Honolulu,
then the only thing to be done is change the user assigned to the loan officer
role in the organizational chart. No other changes are needed in the process and
everything continues to run smoothly.
This is why assigning tasks to roles is the preferred practice when building
workflows generally and one that is totally supported in Procx.