Task dependencies

16 views
Skip to first unread message

whatever

unread,
Aug 28, 2010, 4:48:32 PM8/28/10
to TiddlyWiki
Hi!

I'm trying to establish a list of active tasks. Each task is tagged
with its name and, when finished, with a corresponding finish tag.
Example:
Task name: task1
Tags: task1
Tags when finished: task1_finished

Each task is in its own tiddler, however, they are displayed in the
Project tiddler, which also contains all the tags (task1,
task1_finished etc.).

There's a whole bunch of task and each one is only active when all the
previous tasks have the taskX_finished tag. Also, the problem is that
while the sequence of tasks is always the same, not all the tasks are
always used.

For example, I may use task1, task2, task3, task7 and task8, but not
task4, task5 and task6. So if I want task8 to be active, the tiddler
must contain both task1 and task1_finished tags or neither. The same
for all the preceding tasks.

I want to make a table, where each column displays the project which
have a certain task active:
task1 task2 task3 task4 task5 task6 task7 task8
Project

I've tried the following:
<<matchTags task8 AND (task1 AND task1_finished) AND NOT (task1 AND
NOT task1_finished) AND (task2 AND task2_finished) AND NOT (task2 AND
NOT task2_finished) AND (task3 AND task3_finished) AND NOT (task3 AND
NOT task3_finished) AND (task7 AND task7_finished) AND NOT (task7 AND
NOT task7_finished) AND NOT task8_finished>>

and

<<list filter "[tag[task8 AND (task1 AND task1_finished) AND NOT
(task1 AND NOT task1_finished) AND (task2 AND task2_finished) AND NOT
(task2 AND NOT task2_finished) AND (task3 AND task3_finished) AND NOT
(task3 AND NOT task3_finished) AND (task7 AND task7_finished) AND NOT
(task7 AND NOT task7_finished) AND NOT task8_finished]]">>

Any ideas?

w

Tobias Beer

unread,
Aug 28, 2010, 5:42:32 PM8/28/10
to TiddlyWiki
Hi w,

First question: Why tag a task with itself?

Furthermore, I NEVER tag a high-level item (e.g. a project) with its
subitems (e.g. tasks). I would strongly recommend that you tag your
tasks with the corresponding project, not the other way around!

Also, whether a task is finished or open is independent form it's
name. Therefore, you should have two more tags indicating a task-
status: "todo" and "done". In tbGTD [1] I went so far as to prefix
certain tags for easier recognition. Thus, there are #todo, #done,
#waiting, etc... with # indicating that these are task-status-tags.
Likewise I would have $active or $future or $completed as project-
status-tags.

Finally, other than you knowing about it, I fail to see how exactly
you are modeling task-dependencies. As for that I would simply tag a
task with another task and thus have the latter depend on the
former ...just like high level items ((sub-)projects) depend on
subitems (tasks).

What do you mean with "the sequence of tasks is always the same"? I
prefer to think in stages and thus have tasks not only tag to a
project but also to a "stage", such that one might only get from one
stage to another if the previous stage had been completed, think
"milestones". So, a stage 1 task for project A might be equivalent to
a stage 1 task of project B, but they're not called the same as that
would violate TiddlyWiki's unique naming conventions. Therefore, have
them tag to a stage of a unique name and you know what point in the
project you're at.

Eventually you might want a table for project xyz to look like this...

|open tasks|done tasks|h
|open tasks for stage 1 of project xyz|done tasks for stage 1 of
project xyz|
|open tasks for stage 2 of project xyz|done tasks for stage 2 of
project xyz|
|etc...|p.p...|

No offense, but unless you're no longer in a design stage of your task
management you might want to consider designing it from scratch.

Eventually, (especially x-tab of) tbGTD may really be of help to you
(see toolbar or help documentation).


Cheers and good luck,

Tobias.


[1] http://tbgtd.tiddlyspot.com/

whatever

unread,
Sep 3, 2010, 3:02:33 PM9/3/10
to TiddlyWiki
Hi!
I figured it out.
For example:
These conditions must be fulfilled in order for Task8 to be active:
<<list filter "[tag[Task8 AND active_Task8 AND NOT (Task1 AND
active_Task1) AND NOT (Task2 AND active_Task2) AND NOT (Task3 AND
active_Task3) AND NOT (Task4 AND active_Task4) AND NOT (Task5 AND
active_Task5) AND NOT (Task6 AND active_Task6) AND NOT (Task7 AND
active_Task7) AND NOT finished_Task8 AND NOT Completed AND NOT
Archived]]">

These conditions must be fulfilled in order for Task3 to be active:
<<list filter "[tag[Task3 AND active_Task3 AND NOT (Task1 AND
active_Task1) AND NOT (Task2 AND active_Task2) AND NOT finished_Task3
AND NOT Completed AND NOT Archived]]">

I have a table with a list of tasks for header and in each column is a
corresponding list of projects with active corresponding task.

By default, all projects are tagged active_TaskX. I use Eric's
CheckboxToggleTag (http://www.TiddlyTools.com/#CheckboxToggleTag) to
first set the tag TaskX and when that task is complete, I toggled
active_TaskX off and replace it with finished_TaskX.

I have 8 tasks and they always follow the same order, but they're not
always all used.

Oh yeah, I switched to fET, but the principle is the same.

w
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Tobias Beer

unread,
Sep 7, 2010, 8:20:32 AM9/7/10
to TiddlyWiki
Hi whatever,

Just remembered that I also once created this...

http://lastfm.tiddlyspot.com/#cycleTagsInfo

...which might be of help.

Tobias.

whatever

unread,
Sep 7, 2010, 12:13:11 PM9/7/10
to TiddlyWiki
Wow, that looks awesome. I'll have to see if I can use that.:D
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages