feat(doku): Anleitung, PDF und Ende-zu-Ende-Abnahme (#36)
This commit was merged in pull request #36.
This commit is contained in:
+72
-2
@@ -20,11 +20,12 @@ als Unterpunkte mit Aufgabe und Dauer.
|
||||
| #015 | M10 – Dashboard und Archiv | 2 h 20 min |
|
||||
| #016 | M11 – Verzeichnis und LDAP-Abgleich | 3 h 25 min |
|
||||
| #017 | M12 – Seed der sieben Vorlagen | 1 h 30 min |
|
||||
| | **Summe** | **27 h 40 min** |
|
||||
| #018 | M13 – E2E-Tests, Anleitung, PDF | 2 h 15 min |
|
||||
| | **Summe** | **29 h 55 min** |
|
||||
|
||||
| Meilenstein | Tatsächlich | Status |
|
||||
|---|---|---|
|
||||
| v0.1.0 | 27 h 40 min | in Arbeit |
|
||||
| v0.1.0 | 29 h 55 min | in Arbeit |
|
||||
|
||||
---
|
||||
|
||||
@@ -829,3 +830,72 @@ als Unterpunkte mit Aufgabe und Dauer.
|
||||
[#021](issues/021-stabiler-schluessel-vorlagen.md) (stabiler Schlüssel für Seed-Vorlagen)
|
||||
- #018 E2E-Tests, Anleitung und PDF — die Hauptabläufe in beiden Betriebsmodi, die bebilderte
|
||||
Anleitung für Techniker und Admins und der PDF-Export über Chromium.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-26 · Sitzung 14 · 05:30–10:50
|
||||
|
||||
**Issue:** #018 (M13)
|
||||
**Version:** 0.1.0
|
||||
|
||||
### Erledigt
|
||||
|
||||
- **Vier Teile parallel**: vorhandene Abläufe robust machen, vier neue Abläufe, die Anleitung, der
|
||||
PDF-Export. Das Fundament — gemeinsamer Helfer, Vorabprüfung, Betriebsmodus — kam vorher von mir
|
||||
- **Anleitung** unter `docs/anleitung/`: neun Kapitel, rund 11.600 Wörter, getrennt für Technik und
|
||||
Verwaltung, mit 35 Bildern und einem Fehlerbehebungskapitel aus 18 echten Meldungen
|
||||
- **`pnpm docs:pdf`**: 72 Seiten A4, Deckblatt, Inhaltsverzeichnis, Seitenzahlen, hell gedruckt,
|
||||
ohne neue Abhängigkeit (`react-markdown` über `react-dom/server`)
|
||||
- **Markierungen** in den Screenshots: Rahmen in der Akzentfarbe mit Nummer, für die Stellen, die
|
||||
ein Kapitel gerade beschreibt
|
||||
- **Vier neue Abläufe**: Hauptablauf von vorn bis hinten, Onboarding mit Zwischenablage-Vergleich,
|
||||
Rollen, und 390 px auf achtzehn Seiten
|
||||
- **101 Ende-zu-Ende-Abläufe** grün (vorher 67), Gesamtsuite unverändert grün
|
||||
|
||||
### Entscheidungen
|
||||
|
||||
- **Die Voraussetzungen eines Laufs werden geprüft, nicht behauptet.** `tests/e2e/global-setup.ts`
|
||||
fragt vor dem ersten Ablauf: läuft ein gebauter Stand, steht der Seed-Bestand, und liest der
|
||||
Server **dieselbe** Datenbank wie der Testprozess? Jede Meldung nennt die Ursache und was zu tun
|
||||
ist. Die dritte Frage hat in #017 einen halben Abend gekostet.
|
||||
- **Das PDF kommt nicht ins Repo.** Es entsteht aus Kapiteln und Bildern, die beide versioniert
|
||||
sind, und würde bei jedem Lauf 8,7 MB neu anhängen. Der Auftrag sagt „liegt jedem Release bei“ —
|
||||
genau so wird es gemacht.
|
||||
- **Die `beispiel:*`-Skripte bleiben.** Sie sollten laut ihrem Kopfkommentar mit #017 verschwinden;
|
||||
dort wurden zwei Dinge verwechselt. Der Seed richtet eine **Installation** ein, die Skripte
|
||||
stellen her, was **Screenshots und Abläufe** brauchen: einen offenen Entwurf, einen halb
|
||||
abgearbeiteten Lauf, eine Person aus dem Verzeichnis.
|
||||
|
||||
### Probleme
|
||||
|
||||
- **Das Projekt „handy" prüfte 412 px statt 390.** `devices["Pixel 7"]` ist 412 breit; CLAUDE.md und
|
||||
das Abnahmekriterium nennen 390. Jeder „trägt am Handy ohne horizontales Scrollen"-Test lief damit
|
||||
gegen eine Breite, die niemand verlangt hatte — zweiundzwanzig Pixel, die eine ausbrechende Seite
|
||||
tadellos aussehen lassen. Nach der Korrektur blieb die Suite grün; die Zusage hielt also, sie war
|
||||
nur nie geprüft.
|
||||
- **Eine Auskunft, die niemand je gesehen hat.** Ein angemeldeter Benutzer ohne Recht wurde auf
|
||||
`/anmelden?fehler=keinrecht` geschickt — und die Anmeldeseite schickt einen Angemeldeten sofort
|
||||
weiter auf die Übersicht. Die Meldung „Für diesen Bereich fehlt dir die Berechtigung" war
|
||||
unerreichbar, der Kommentar im Code versprach sie trotzdem. Jetzt gibt es `/kein-zugriff`.
|
||||
- **Zwei Tests, die Schaden anrichteten.** Der Verzeichnis-Ablauf nahm die erste vorhandene Quelle
|
||||
und schrieb ihre Attributzuordnung um — in einer echten Installation die produktive. Und ein
|
||||
Nachlauf setzte die Namensregeln auf leer, statt den vorherigen Wert zurückzustellen: er löschte,
|
||||
was der Seed eingerichtet hatte. Beides stammt aus meinen eigenen Meilensteinen.
|
||||
- **Vier stille Annahmen**: Vorlage über die Position in der Liste, „die Datenbank enthält schon
|
||||
Läufe", `test.skip` bei fehlenden Daten, und Fixtures im Kopfkommentar statt geprüft. Alle vier
|
||||
fielen erst auf, als zum ersten Mal gegen eine **frisch eingerichtete** Installation geprüft
|
||||
wurde.
|
||||
- **Sechs Abläufe kannten die Kundenebene nicht.** Im Modus DIENSTLEISTUNG hat jedes Anlege-Formular
|
||||
ein Feld mehr, und es ist Pflicht: `kundeErmitteln` wirft sonst. Schlimmer als das Feld ist die
|
||||
Regel dahinter — ein Lauf kann strukturell kein Gerät und keine Abteilung eines fremden Kunden
|
||||
wählen, dafür sorgen zusammengesetzte Fremdschlüssel. „Irgendein Kunde" ist dort nicht ungenau,
|
||||
sondern rot. Beim Onboarding war es sogar eine Reihenfolge: die Kundenwahl stand hinter dem
|
||||
Namensvorschlag, und ohne Kunden können die Namensregeln gar nicht greifen.
|
||||
- **Parallele Arbeit an einem Verzeichnis geht schief.** Eine Wegwerf-Probe für den PDF-Bau hat die
|
||||
`README.md` der Anleitung überschrieben, während sie geschrieben wurde. Wiederhergestellt, aber
|
||||
der Ablageort für Proben gehört in das Verzeichnis für Zwischenstände, nicht neben die Arbeit.
|
||||
|
||||
### Nächster Schritt
|
||||
|
||||
- #019 Betriebswege und Release `v0.1.0` — `deploy/install.sh`, der Proxmox-One-Liner, die
|
||||
Betriebsdokumentation und der Tag mit Release-Notes.
|
||||
|
||||
Reference in New Issue
Block a user