Tasks may not only be created within normal folders as single, stand-alone tasks, but also within other tasks. The containing task becomes the parent or main task, and the task created becomes a subtask of the parent task. A task may contain several subtasks. Contractors of a task may organize their work on the original task in subtasks which they then assign to other users. Also, task creators may pre-define some division of labour by defining not only the parent, but also some subtasks. Work on the parent task may be completely or partly distributed to subtasks, in the latter case leaving some work to the parent task contractor.
The data flow between parent task and subtasks as well as between peer subtasks is organized via shared data fields. For example, an input field of the parent task may also be defined to be the input field of a subtask, or the output field of some subtask may be defined to be the input field of another subtask. This way, a set of subtasks may be combined into a network of tasks that take their input from the parent input fields or peer task output fields and feed their output into the parent output fields or peer task input fields. Figure 31 shows a schematic example of a workflow of subtasks.
Figure 31: A workflow formed by subtasks (Rq: Requestor, Ct/Us: Contractor/User)
As opposed to standard, pre-defined workflows, this kind of a user-defined workflow is specified ad-hoc, may be copied for re-use and may be changed at runtime by adding more subtasks or removing others depending on progress of work.
More:
Linking subtasks to workflows: shared data fields