Welche Vorlagen auf der Geraeteseite als Kachel erscheinen, stand nur im Seed. Wer eine eigene Vorlage dort haben wollte, kam nicht heran; wer eine mitgelieferte loswerden wollte, auch nicht. Neue Seite Verwaltung -> Schnellstart: je Geraetetyp eine Liste, Reihenfolge ueber Hoch und Runter. Kein Drag & Drop -- der Editor braucht dnd-kit fuer hundert Schritte, hier sind es zwei bis vier Kacheln, und zwei Knoepfe sind am Handy verlaesslicher als eine Ziehgeste neben einer scrollenden Seite. Gespeichert wird die ganze Liste; position kommt aus ihrer Reihenfolge, damit es nur eine Wahrheit darueber gibt. Zur Auswahl stehen nur veroeffentlichte, nicht archivierte Vorlagen. Einstellung.schnellstartGepflegt haelt den Seed heraus, sobald jemand gespeichert hat -- auch bei unveraenderter Liste. Eine fehlende Zeile sagt nicht, ob sie noch nie da war oder bewusst entfernt wurde. Das Durchklicken des gebauten Stands fand einen Fehler, den die Suite nicht gesehen haette: die Umsortierung wurde nicht gespeichert. Altdaten tragen mehrere Zeilen auf position 0, und bei gleicher Position ist die Reihenfolge in Postgres nicht festgelegt -- Lesemodell und Dienst gaben sie unterschiedlich zurueck, und der Vergleich hielt die Umsortierung fuer einen Leerlauf. Behoben durch einen eindeutigen Tiebreak in beiden Abfragen, mit Regressionstest. Closes #34
3.7 KiB
3.7 KiB
#022 Schnellstart je Gerätetyp pflegen
Status: erledigt Im Tracker: #34 Meilenstein: v0.2.0 Labels: phase-2, frontend, backend Geschätzt: 3 h Tatsächlich: 1 h 10 min
Ziel
Welche Vorlagen auf der Geräteseite als Schnellstart erscheinen, steht in GeraetetypVorlage —
und lässt sich nur über den Seed setzen. In der Oberfläche gibt es dafür nichts. Wer eine eigene
Vorlage als Schnellstart für Notebooks haben will, kommt nicht heran; wer eine der sieben
Seed-Vorlagen dort loswerden will, auch nicht.
Aufgefallen beim Schreiben der Anleitung in #018: Kapitel 03 beschreibt den Schnellstart, konnte aber nicht sagen, wer ihn einrichtet.
Aufgaben
- Eigene Seite Verwaltung → Schnellstart (kein Abschnitt unter Einstellungen: acht Gerätetypen mit je einer Liste sind zu viel für eine Seite, die schon den Moduswechsel trägt)
- Nur veröffentlichte, nicht archivierte Vorlagen zur Auswahl; die Reihenfolge ist die
Reihenfolge der Kacheln (
position) - Recht
verwaltung, Änderung insProtokoll - Der Seed legt die Vorgaben weiter an, überschreibt aber nie eine im Betrieb geänderte Zuordnung — dieselbe Regel wie für alles andere im Seed
- Anleitung Kapitel 03 und 07 nachziehen
Akzeptanzkriterien
- Test: eine zugewiesene Vorlage erscheint als Kachel auf der Geräteseite des passenden Typs
- Test: eine archivierte Vorlage verschwindet aus dem Schnellstart, ohne dass jemand aufräumt
- Test:
LESERundTECHNIKERdürfen nicht ändern
Beim Umsetzen dazugekommen
- Die Reihenfolge läuft über Hoch und Runter, nicht über Drag & Drop. Der Vorlagen-Editor benutzt dnd-kit, weil dort hundert Schritte in Abschnitten liegen; hier sind es zwei bis vier Kacheln, und zwei Knöpfe sind am Handy verlässlicher als eine Ziehgeste neben einer scrollenden Seite.
Einstellung.schnellstartGepflegtals Marke. Eine fehlende Zeile inGeraetetypVorlagesagt nicht, ob sie noch nie da war oder bewusst entfernt wurde — ohne Marke käme eine entfernte Kachel beim nächsten Seed-Lauf zurück. Gesetzt wird sie auch bei unverändert gespeicherter Liste: das Speichern selbst ist die Aussage „ich pflege das jetzt“.- Gespeichert wird die ganze Liste, nicht Zeile für Zeile.
positionkommt aus der Reihenfolge des Formulars; zwei Wahrheiten über die Reihenfolge gäbe es sonst. - Das Durchklicken des gebauten Stands hat einen echten Fehler gefunden, den die Suite nicht
gesehen hätte: die Umsortierung wurde nicht gespeichert. Altdaten tragen mehrere Zeilen auf
position0 — der Seed zählt je Vorgabe von 0, und ein Beispielskript legte eine zweite dazu. Bei gleicher Position ist die Reihenfolge in Postgres nicht festgelegt, und das Lesemodell gab die Zeilen anders zurück als der Dienst. Der Vergleich „unverändert" hielt die Umsortierung deshalb für einen Leerlauf: die Marke wurde gesetzt, geschrieben wurde nichts. Behoben durch einen eindeutigen Tiebreak (position, dannvorlageId) in beiden Abfragen. - Dabei fiel auf, dass ich die Ursache zuerst falsch benannt hatte: eine zusätzliche Prüfung auf aufeinanderfolgende Positionen behebt den Fehler nicht (Gegenprobe gefahren, Tests blieben grün). Sie zieht nur alte Positionen gerade; der Kommentar sagt das jetzt so, und ein eigener Test deckt genau das ab.
- Zwei der drei Akzeptanzkriterien waren schon durch
tests/geraeteseite.test.tsgedeckt — die Kachel am passenden Typ und das Verschwinden einer archivierten Vorlage. Das stand bei #014 schon richtig im Leseweg; gefehlt hat nur die Pflege.