taskwiki
taskwiki copied to clipboard
Unclear meaning of task dependencies
(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.
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.
Is this still planned for taskwarrior? It seems to me there is not much development going on at the moment...
Still planned. However, as you correctly point out, the development is moving at a snail pace.
Can you link to the issue where it's planned/discussed on the taskwarrior repo?
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.