Taskwarrior - What's next? (Teil 4)
Taskwarrior ist eine Aufgabenverwaltung für die Kommandozeile. Von einfachen To-do-Listen bis hin zum Management kleinerer Projekte wird alles durch diese Anwendung abgedeckt.
Dies ist der 4. Teil des Workshops Taskwarrior. Alle Artikel dieses Workshops finden Sie in der Übersicht.
Achtung: In alten Versionen von Taskwarrior steckte ein hässlicher Fehler, der bei Verwendung des Kommandos task merge (bisher noch nicht in dieser Reihe behandelt) zu Datenverlust führen konnte. Das ist der schwerste Fehler, den Taskwarrior bis jetzt hatte. Es wird dringend empfohlen, auf die aktuelle Version 2.1.2 oder neuer zu aktualisieren oder das Kommando nicht einzusetzen.
In Teil 1 wurde die Installation von Taskwarrior und die drei Kommandos add, ls und done erklärt. In Teil 2 folgten dann die Befehle delete, undo, modify, config, show und die Attribute priority, project sowie die Filterung von Aktionen. Fehlt noch der Teil 3, in dem der generelle Aufbau eines Taskwarrior-Kommandos behandelt und begonnen wurde, Zeiten einzuführen. Dazu wurden die Datumsformate erklärt und die Attribute due, wait, scheduled und until sowie die Kommandos start und stop. Um sich die Daten anzeigen zu lassen, wurden die Reports list und waiting erwähnt.
Die meisten Ausgaben von Taskwarrior sind farbig. Es lohnt sich, die Beispiele nachzuvollziehen, um in den Genuss von »bunt« zu kommen. :-)
Wiederkehrende Aufgaben
Ein Feature, das eine moderne Aufgabenverwaltung bieten muss, sind wiederkehrende Aufgaben.
Darunter werden Aufgaben verstanden, die in regelmäßigen Abständen zu erledigen sind. Ein Beispiel könnte das Überweisen der Miete an den Vermieter sein (sofern man keinen Dauerauftrag eingerichtet hat).
Das folgende Kommando leistet das Gewollte:
$ task add due:eom recur:monthly "Miete bezahlen" Created task 1. $ task list ID Project Pri Due Active Age Description 2 20121031 - Miete bezahlen 1 task
Das ist verwirrend, oder? Eine Aufgabe mit der ID 1 scheint nicht zu existieren.
Wenn eine wiederkehrende Aufgabe angelegt wird, werden zwei Aufgaben erstellt. Eine, die die »Meta-Informationen« über die wiederkehrende Aufgabe enthält, und eine Aufgabe, die erledigt werden soll.
$ task 1,2 information
Name Value
ID 1
Description Miete bezahlen
Status Recurring
Recurrence monthly
Mask -
Due 20121031
UUID 47c026d4-0d93-4344-8cb7-1e03c57738ce
Entered 20121022 (37 secs)
Urgency 4.8
Date Modification
20121022 Mask set to
'-'.
Name Value
ID 2
Description Miete bezahlen
Status Pending
Recurrence monthly
Parent task 47c026d4-0d93-4344-8cb7-1e03c57738ce
Mask Index 0
Due 20121031
UUID cdf1ad91-debd-499f-8c8e-87f2b238d7bd
Entered 20121022 (31 secs)
Urgency 4.8
Hier ist deutlich sichtbar, dass die Aufgabe mit der ID 1 den Status Recurring hat. Sie ist also die Mutteraufgabe und die Aufgabe mit der ID 2 ist die, die erledigt werden soll.
Das Feld Parent task zeigt an, von welcher Elternaufgabe sie abstammt.
Wenn man eine wiederkehrende Aufgabe löschen möchte, muss man vor allem die Elternaufgabe löschen, sonst erscheint eine neue Inkarnation nach jedem Wiederholungsinterval aufs Neue.
Wiederholungsintervalle
Taskwarrior unterstützt einige Möglichkeiten, Wiederholungsintervalle zu spezifizieren.
| Wiederholungsintervalle | |
|---|---|
| daily, day, 1da, 2da, ... | Täglich oder alle 1/2/... Tage |
| weekdays | Wochentäglich, nicht an Samstagen oder Sonntagen |
| weekly, 1wk, 2wks, ... | Wöchentlich oder alle 1/2/... Wochen |
| biweekly, fortnight | Alle zwei Wochen |
| monthly, month, 1mo, 2mo, ... | Monatlich oder alle 1/2/... Monate |
| quarterly, 1qtr, 2qtrs, ... | Vierteljährlich oder alle 1/2/... Quartale |
| semiannual | halbjährlich |
| annual, yearly, 1yr, 2yrs, ... | Jährlich oder alle 1/2/... Jahre |
| biannual, biyearly, 2yrs | Alle zwei Jahre |
Endtermin für Wiederholungen setzen
Statt, wie im ersten Abschnitt beschrieben, eine wiederkehrende Aufgabe zu löschen, kann man ihr auch gleich zu Beginn mitgeben, wie oft sie wiederholt werden soll.
$ task add due:eom recur:monthly until:20131231 "Kreditrate bezahlen" Created task 3. $ task list ID Project Pri Due Active Age Description 2 20121031 18s Miete bezahlen 4 20121031 - Kreditrate bezahlen 2 tasks $ task 2,4 done Completed task 2 'Miete bezahlen'. Completed task 4 'Kreditrate bezahlen'. Completed 2 tasks. $ task list No matches.
Diese Aufgabe wird jeden Monat wiederholt, so lange bis der 31.12.2013 erreicht ist.
Da diese Aufgaben aber bereits alle erledigt wurden, wird dies auch gleich entsprechend markiert.

