How the task dependency works



MLO can work with sequential and parallel projects, holding tasks that can not start until other tasks are finished.

Dependency is a special option that allows you to block the appearance of a task in the To-Do list until certain other tasks are completed. When all the dependencies are satisfied, then the task appears in the To-Do list.

Thus, the dependency function helps to implement the GTD approach: to capture everything but clearly understand what to do next, without the distraction of secondary tasks.


How to set up task dependency

Dependency for multiple tasks

All/Any conditions

Delayed dependency


How to set up task dependency

Suppose you plan to buy a new bike, but realize that it’s actually impossible until you complete a project and get your bonus. You’d like to add this task to the list so that it, on the one hand, would not clutter up your To-Do list, and on the other hand, would not be completely lost.

To set up a dependency for a task open its Properties in the Edit mode: Dependencies -> click to add dependencies -> Select the task (use Ctrl for multi select) -> Ok.

Setup window

Tip. To quickly set a dependency drag a primary task into a secondary one with the right mouse button. Then select 'Add to the dependency' in the menu that appears. This will make the secondary task dependent on the primary.

It’s like you freeze the dependent task for a while. It will become active and appear in To-Do only after certain other actions are done.

Dependency for multiple tasks

Basically the dependency feature can be viewed as a more sophisticated version of another MLO feature - complete subtasks in order. But if in the case of subtasks in order they are activated strictly one after another inside the selected branch, with dependencies the order and number of tasks do not matter. Completing several tasks can "unfreeze" several other tasks from any branch, not affecting due dates (or start dates) of the dependent tasks.

Here is an example when the completion of one task activates not only the next task on its branch, but has an impact on other projects:

The project 'Make repairs' includes among other such subprojects as electrics and walls with their subtasks.

Dependency for multiple tasks

We will not be able to plaster, paint the walls and glue wallpaper until we have electrics. We set the dependency for these tasks.

Dependency for multiple tasks

Note. The dependent task is indicated by the corresponding icon.


And we can install the sockets only after all the work on the 'Walls' project has been completed. Set the dependency as well.

Dependency for multiple tasks

And we get a concise to-do list that is easy to manage:
First, we lay electric cords, then move on to walls and only after that we get back to electricity and install sockets.

Dependency for multiple tasks

Tip. If you still need to see the dependent tasks in the view 'Active Actions', set 'Available' in the Action Filter.

All/Any conditions

Dependency can be satisfied when performing all or at least one of the selected tasks.

If you want to unblock task A when only one of the tasks B, C or D is completed click on ALL/ANY link to set the appropriate option.

All/Any conditions

Delayed dependency

MLO also provides for a concept of a task not becoming active until after a certain time period. We call it delayed dependency.

For example, you can see the task "Hang wallpaper" activated in 1 day after you complete the dependent task "Paint the door".

Delay

Keep in mind that the "Delay" option affects when the next task will become "Active" but does not act on the dates.

Note. If all tasks need to be completed to open the dependency (option ALL set) then the delay will count from the time of the last task completed. If ANY option is set for the dependency then the delay will count from the time of the first task completed in the dependency list.