Tasks may contain subtasks. These subtasks may be pre-defined or created at runtime. The creation of subtasks may be continued through as many levels as desired. Work on a task may be completely or partly distributed to its subtasks. The subtasks of a main task may be combined to form a workflow. The same goes for the tasks of a project or phase. The tasks of a workflow are connected using common data (a task needs, e.g., as input a document that is by another task’s output) and conditions (a task may only be started, e.g., when another task has been finished). Such a user-defined workflow may be changed at runtime and may be copied for reuse.
The tasks of a workflow are automatically started by the system, if the necessary input data have been released. Processing of tasks in a workflow is automatically interrupted, if this is no longer the case. Subtasks are automatically cancelled when the main task is cancelled. Likewise the main task is automatically finished, if the output data of the main task have been released by execution of the subtasks. In this way the processing of workflows is supported by the system.
When we described the definition of input and output data of new tasks (see 22.214.171.124 Creating tasks: the general case), we have touched upon creating workflows within the tasks of a phase or project. Here we will treat the subject in more detail, also covering the case of workflows formed by the subtasks of a main task.