enh: auto-archive done tasks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
TKDO |
Confirmed
|
Medium
|
Unassigned |
Bug Description
Instead of manually moving completed tasks to a different branch and/or file, it would be nice to have them archived automatically. Recurring tasks are, of course, exempt from this.
Some approaches for this are:
- delete the task when completed
- move the task to a different file, such as 'done.otl'
- move the task to a different branch in the same file
(probably, append it to a branch called "Done")
The first approach (delete) is simple and straightforward. However, it doesn't leave any record except an entry in the action log.
The second approach (move to different file) is somewhat less straightforward. Should all tasks go into the same 'done.otl' file? If not, where is the filename specified? It could be per taskfile, and specified as an option to Taskfile(). Or, it could be per branch, specified as an option on a metadata line. The per file approach makes the most sense to me.
The third option (move to 'Done' branch) is what I personally prefer, but it's even less straightforward. Should only top-level tasks be moved, with a single 'done' branch per file? Should each branch have its own 'done' branch, created as needed (and then the branch itself would be moved to a higher-level 'done' branch when it's completed)? Should the 'done' branch have a special marker, such as '[D] Done'? Or, perhaps a regular completed marker like '[X] Done'? Or, just a plain 'Done'? Should the 'done' branch be hidden like regular ignored text?
Some other questions to answer...
- Should the completion date/time be appended to the task for later reference? If so, should it be added to the title, or kept in a metadata line?
- Should archival happen every time a task is completed, or only when the user requests cleanup?
Changed in tkdo: | |
status: | New → Confirmed |
milestone: | none → 0.7 |
Changed in tkdo: | |
milestone: | 0.8 → 0.9 |
importance: | Undecided → Medium |
Delaying until at least 0.8, since it's not started and 0.7 is otherwise almost ready to release.