Task Dependencies in InfoQube

In InfoQube, you can set dependencies between items, typically items which represent tasks. This is done using 3 fields:
  1. TaskID (System Field #97)
  2. NextTaskID (System Field #98)
  3. NextTaskDelay (System Field #93)
These are used in 2 contexts:
  1. Gantt chart, to show links between items, optionally defining the exact dependency (Finish to Start for example)
  2. Task management through the Next Task Actions settings
     

1. Gantt Chart Task Links and Dependencies

2. Next Task Actions

The purpose of this feature is to perform some operations on dependent items when an item is marked as done. Examples of operations are:
  • Set a due date
  • Change the item color
  • Have it shown in a To-Do's grid for immediate action
  • Repeating Tasks

1.1 Example 1

Consider the following scenario where we have a series of tasks as seen on a fictitious June 30th. Task 1 is due the next day so the item has turned blue.
 
 
One can use the TaskID, NextTaskID and optionally NextTaskDelay to define dependencies:
 
TaskID field:
  • By default items don't have any TaskIDs. This is by design as not all items are tasks and of those tasks, not all have dependencies.
  • The TaskID field is auto-generated. To set it, simply double-click on the cell and InfoQube will find the next available number.
NextTaskID field:
  • Once you've assigned TaskIDs, you can start entering NextTaskIDs.
  • Notice that you can enter a comma separated list of TaskIDs in the NextTaskID (see item 1.1 above)
  • Notes: NextTaskID may map to the item hierarchy but do not need to. In fact, you can have items from totally different hierarchies and/or different grids, etc and still create dependencies this way. In this example, these mostly follow the hierarchy, except the last one. The next task of item 1.1.2 (Task 4) is 1.2 (Task 5)
NextTaskDelay field:
  • Enter here the delay (in days) before the next task is due
  • If left blank, 0 is assumed
Next Task Actions settings:
  • Use Tools > Options > This file > General > Next task actions to define what operations should be applied to dependent items when an item is marked as done.
  • In this example, this setting is: AM:[DueDate] = [done] + [NextTaskDelay] | E:DueDate=.
    • This means that when you mark an item as done, dependent one(s) will have the field DueDate set to X days after completing the task (where X=NextTaskDelay)
    • If the done field is erased, the DueDate will be removed.
    • In the sample database, setting the DueDate also sets the item back color through the Urgency field
      (See the DueDate and Urgency Fields)
    • Starting v0.9.26PreRel54, you can also reference field values of the dependant items. To do so, enclose those field is curly brackets ( {Field1} )
      For example, you can have AM:[DueDate] = [done] + [NextTaskDelay] + {AdditionalDelay} (where the field AdditionalDelay is a field value of the dependant task.)
Once set up, let's see what happens as tasks are completed.
  1. Let say that Task 1 is completed 1 day ahead of scheduled, on June 30th.
    Task 2 is the next task, it will have a new DueDate equal to when Task 1 was done + 5 days (NextTaskDelay is equal to 5 for Task 1).
    Notice that the item color is set to yellow, to indicate that the item's deadline is not too far away:

     
  2. A week later on July 7th, Task 2 has turned Purple to indicate that the task is now late (as Urgency is now up to 2)


    It is finally completed and both dependent tasks (Task 3 and Task 4) will have a new DueDate of July 9th (Done date of Task 2 + 2 days):

    (notice how Task 2 looses its ItemColor as it is marked as done)
     
  3. Finally, Task 4 is marked as done, say on-time on July 9th.


    Now, notice that Task 4 has a dependent task (Task A) which is totally unrelated. Regardless, it then becomes the focus of attention.

    The To-Do's grid shows items which require attention. It will therefore now highlight Task A:

     

1.2 Example 2

As a second example, consider the task of watering plants. One can use an Event recurrence for this, but it is not really suitable.

That is, say you want to water the plants every 2 week, on Mondays. If one week, you forget and only water them the following Monday, a regular recurrence would warn you a week later, when really, it would be more suitable to do it 2 weeks later. This type of recurrence is known as "Interval-Since-Completion Recurring Task".

Setting this up is really easy in InfoQube:

  1. Set the NextTaskID equal to the TaskID and set the NextTaskDelay to 14 (days):

     
  2. As soon as you mark the item as done, a new DueDate will be set, 14 days later.
    If done on July 8th, the next DueDate will be July 22nd:

     
  3. If the next time you water the plants late, say on July 26th, the next date will be automatically set to 14 days later, on August 9th: