Gelöschte Elemente: zurückholen, was mit einem Klick verschwand
Früher oder später löscht jemand das Falsche. Ein Klick auf den Papierkorb an einem Epic, eine schnell bestätigte Rückfrage, und dreißig Vorgänge sind weg. In GODAV Pro waren die Daten danach zwar noch vorhanden, weil von Anfang an „weich” gelöscht wird: Ein gelöschter Eintrag bekommt nur einen Zeitstempel und verschwindet aus allen Ansichten. Zurückholen ließ er sich aber nur mit direktem Zugriff auf die Datenbank. Mit der Ansicht „Gelöschte Elemente” ist das jetzt eine Sache von zwei Klicks für Administratoren.
Woran GODAV erkennt, was zusammengehört
Der Kern dieser Funktion ist unscheinbar: der Zeitstempel der Löschung. Wenn GODAV ein Epic samt Unterpunkten, Kommentaren und Anhängen löscht, bekommen alle diese Einträge in einem Schritt denselben Zeitpunkt. Dadurch lässt sich auch Wochen später noch sagen, was mit einem einzigen Klick verschwunden ist.
Das bestimmt, was beim Wiederherstellen mitkommt. Ich hätte einfach alles zurückholen können, was unter dem Epic hängt und gelöscht ist. Dann käme aber auch eine Aufgabe zurück, die jemand zwei Wochen vorher bewusst einzeln gelöscht hatte. Diese Entscheidung hat mit der späteren Löschung nichts zu tun, und sie stillschweigend rückgängig zu machen wäre ein Eingriff in fremde Arbeit. Also kommt genau das zurück, was im selben Moment gegangen ist, und keinen Eintrag mehr.
Beim Bauen ist dabei ein alter Fehler aufgefallen. Das Löschen eines Projekts setzte den Zeitstempel auch an Kommentaren, die schon vorher gelöscht waren, und überschrieb dabei deren alten Zeitpunkt. Sichtbar war das nie, denn gelöscht blieb gelöscht. Erst mit der Wiederherstellung wäre der fremde Kommentar plötzlich mit dem Projekt zurückgekommen.
Die Liste zeigt nur, was jemand wirklich gelöscht hat
Wer ein Epic mit 37 Unterpunkten löscht, erzeugt 38 gelöschte Einträge. In der Liste steht trotzdem nur einer: das Epic. Alle anderen tragen denselben Zeitpunkt und hätten dieselbe einzige sinnvolle Aktion, nämlich „das Epic zurückholen”. Was darunter hängt, zeigt die Vorschau.
Vor dem Wiederherstellen steht da, was mitkommt. Die Projekte in dieser Liste stammen aus automatischen Tests.
Die Vorschau ist mehr als eine Liste. Sie prüft, ob das Zurückholen überhaupt gelingen kann. Dabei unterscheide ich zwei Arten von Auskünften:
- Ein Hindernis sperrt den Knopf, lässt sich aber auflösen. Ist das Projekt eines Vorgangs ebenfalls gelöscht, muss erst das Projekt zurück. Trägt inzwischen ein anderes Projekt dasselbe Kürzel, muss man dort umbenennen.
- Ein Hinweis sperrt nicht. Er nennt etwas, das nicht mehr zu retten ist, zum Beispiel einen Iterationsplan, den es inzwischen nicht mehr gibt.
Die Regel dahinter: Etwas darf nur dann ein Hindernis sein, wenn der Administrator es selbst beheben kann. Eine Sperre, gegen die niemand etwas tun kann, wäre eine Sackgasse, und das Projekt bliebe für immer unten in der Liste liegen.
Vorschau und Wiederherstellung rechnen übrigens mit derselben Prüfung. Zwei getrennte Rechnungen wären zwei Antworten auf dieselbe Frage, und dann wäre die Vorschau genau die, der man nicht trauen kann.
So sieht die Ansicht heute aus. Einige Zeilen sind verpixelt.
Kein Papierkorb, kein endgültiges Löschen
Die naheliegende zweite Schaltfläche wäre „Endgültig löschen” gewesen. Die habe ich bewusst nicht gebaut. Ein echtes Löschen in der Datenbank nimmt Kommentare, Zeitbuchungen und Einträge im Änderungsprotokoll mit, also Aussagen über die Vergangenheit, die sich danach nicht mehr rekonstruieren lassen. Aus demselben Grund gibt es keine Aufbewahrungsfrist. „Nach 90 Tagen ist es weg” wäre ein Versprechen, das nur ein endgültiges Löschen einlösen könnte.
Die Ansicht ist deshalb kein Papierkorb, der sich irgendwann leert. Sie macht nur sichtbar, was ohnehin noch in der Datenbank steht.
Außerdem
- Die Schaltfläche zum Wiederherstellen ist blau, nicht rot. In GODAV steht Rot für das, was etwas wegwirft. Hier kommt etwas zurück.
- Kein Zähler am Symbol in der Kopfzeile. Eine Zahl gelöschter Einträge würde dauerhaft dort stehen und so tun, als gäbe es etwas zu erledigen.
- Das Änderungsprotokoll bekommt eine Zeile „Wiederhergestellt”. Sonst stünde dort „Gelöscht” als letztes Wort über einem Vorgang, den es wieder gibt.
- Keine Massenwiederherstellung. Jede Zeile hat ihre eigenen Prüfungen, und zwanzig Zeilen mit unterschiedlichen Hindernissen gleichzeitig darzustellen hilft niemandem.
Angefangen hat die Ansicht mit drei Reitern: Vorgänge, Projekte und Konten. Inzwischen sind es zwölf, von Risiken über Meilensteine bis zu Wiki-Seiten. Die Regeln mit Zeitstempel, Hindernis und Hinweis sind dieselben geblieben.