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.