taskwiki icon indicating copy to clipboard operation
taskwiki copied to clipboard

Unclear meaning of task dependencies

Open bodograumann opened this issue 8 years ago • 6 comments

(This is mostly because I used vimwiki (for a short time) before trying taskwiki and have not used taskwarrior before that...)

Taskwarrior

First we need to establish what a task dependency means in taskwarrior. Unfortunately their documentation is rather sparse on that. Most importantly I noticed that a blocking task receives a huge urgency boost. This makes sense in light of the following:

[...] It would also tell me which ones I cannot work on now. Tasks that are depended upon could affect the 'next' report, because those tasks need to be done first. Ideally a task could depend on multiple other tasks. I would need to both add and remove a dependency. Dependencies are a commonly understood concept, and so would be useful to many users. [...]

So the fact that task A depends on task B means the latter has to be completed before the former can be started.

Vimwiki

On the other hand there are nested todo-lists in vimwiki where

The symbol between [ ] depends on the percentage of toggled child items

Here a parent item is used more as a category and a progress tracker for its children. In taskwarrior this would rather be represented by tags, projects or sub-projects.

Now taskwiki wants to bring the power of taskwarrior to vimwiki and thereby changes the semantic of nested vimwiki todo-lists, but the discrepancy between these two concepts leads to problems.

Documentation

The documentation does not state the new semantics. The following example

* [ ] Tidy up the house !!
  * [ ] Wash the dishes
  * [ ] Declare war on the cobwebs

does not conform to the taskwarrior semantics and is thereby misleading. It should rather be written as

=== Tidy up the house | project:Home.tidy priority:M ===
* [ ] Wash the dishes
* [ ] Declare war on the cobwebs

Conversion

If you previously used vimwiki for todo-lists, you would have to make adjustments just like in the above example.

Vimwiki Commands

The vimwiki command to mark a task as done is a little easier to access, so one might be tempted to do so. Now if you have a task dependency

* [ ] Make sandwich
  * [ ] Find butter

find the butter and press ctrl+space on Find butter, the parent task Make sandwich will automatically be marked as complete too, which is not what you want.

bodograumann avatar Jan 22 '17 11:01 bodograumann

I agree with this complaint. The problem is, in my opinion, in taskwarrior missing subtasks capabilities (this is planned, hopefully in the near future). Then we will switch from using dependencies in the indented task lists to subtasks.

Dependency chains, as you describe them, might be also implemented, but I wouldn't like to make every non-idented list of tasks a sequence of dependent tasks. So a new syntax (or maybe just a viewport flag) would need to be invented for that.

tbabej avatar Jan 23 '17 07:01 tbabej

Is this still planned for taskwarrior? It seems to me there is not much development going on at the moment...

bodograumann avatar Dec 16 '18 10:12 bodograumann

Still planned. However, as you correctly point out, the development is moving at a snail pace.

tbabej avatar Dec 17 '18 00:12 tbabej

Can you link to the issue where it's planned/discussed on the taskwarrior repo?

honeyspoon avatar Jul 12 '20 22:07 honeyspoon

An issue about subtasks seems to have recently been opened about it here : https://github.com/GothenburgBitFactory/taskwarrior/issues/2279 However, I couldn't find an older issue about this.

koalp avatar Jul 14 '20 18:07 koalp