Files
Laufzettel/docs/issues/002-epic-phase-2.md
T
florian.wilde b688e2ebc8
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
docs(phase-2): Phase 2 in acht Meilensteine schneiden (#56)
2026-10-04 16:20:42 +00:00

58 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# #002 Phase 2: Verzeichnis-Alternativen, Bausteine, Anhänge
**Status:** in Arbeit
**Meilenstein:** v0.2.0
**Labels:** phase-2
**Geschätzt:** 76 h **Tatsächlich:** –
## Ziel
Was der MVP bewusst offen gelassen hat, in acht Meilensteinen. Die Reihenfolge ist nicht beliebig:
M15 legt die Weiche, die M16 braucht, und M17 die Zusammensetzung, auf der M18 aufsitzt.
## Meilensteine
| # | Meilenstein | Geschätzt | Hängt an |
|---|---|---|---|
| M15 | [#028 Quellenarten und Microsoft-Graph-Quelle](028-graph-quelle.md) | 10 h | – |
| M16 | [#029 SCIM-Endpunkt als Alternative zum Abgleich](029-scim-endpunkt.md) | 12 h | M15 |
| M17 | [#030 Wiederverwendbare Bausteine](030-bausteine.md) | 12 h | – |
| M18 | [#031 Abteilungsspezifische Zusatzabschnitte](031-abteilungsabschnitte.md) | 8 h | M17 |
| M19 | [#032 Anhänge und Fotos an Schritten](032-anhaenge.md) | 10 h | – |
| M20 | [#033 Live-Aktualisierung per SSE statt Polling](033-sse-live.md) | 6 h | – |
| M21 | [#034 Benachrichtigungen per Mail und Webhook](034-benachrichtigungen.md) | 10 h | – |
| M22 | [#035 Mitarbeiter-Selbstauskunft](035-selbstauskunft.md) | 8 h | – |
## Aufgaben
- [x] SCIM-Endpunkt als Alternative zum Pull-Abgleich → M16
- [x] Microsoft-Graph-Quelle für reine Entra-ID-Umgebungen ohne LDAP → M15
- [x] Wiederverwendbare Bausteine: Abschnitte, die mehrere Vorlagen teilen → M17
- [x] Abteilungsspezifische Zusatzabschnitte (Fachsoftware je Abteilung) → M18
- [x] Anhänge und Fotos an Schritten → M19
- [x] Live-Aktualisierung per SSE statt Polling → M20
- [x] Benachrichtigungen per Mail und Webhook → M21
- [x] Mitarbeiter-Selbstauskunft: ein Mitarbeiter sieht die Läufe zu seinen Geräten, nur lesend → M22
Die Haken bedeuten **in einen Meilenstein geschnitten**, nicht umgesetzt. Der Stand je Meilenstein
steht in seiner eigenen Datei.
## Drei Entscheidungen, die vor dem Code fallen müssen
Sie stehen je Meilenstein als erste Aufgabe, mit Empfehlung. Zwei davon greifen weit:
1. **Wie ein Baustein die Unveränderlichkeit überlebt** (M17). Empfehlung: Verweis im Entwurf, tiefe
Kopie beim Veröffentlichen. Ein Lauf sieht weiterhin konkrete Schritte und muss nichts lernen.
2. **Wo Anhänge liegen** (M19). Empfehlung: Dateisystem, Metadaten in der Datenbank — mit der Folge,
dass Compose-Stand, native Installation und `sicherung.md` ein Volume brauchen. Eine Sicherung,
die nur die Datenbank mitnimmt, verliert ab dort Daten.
3. **Was eine Selbstauskunft zeigt** (M22). Empfehlung: Titel, Status, Zeitraum, Gerät — **keine**
Schritte, Notizen, Kommentare oder Anhänge. In einem Lauf stehen Arbeitsnotizen über Menschen;
eine Selbstauskunft ist keine Akteneinsicht.
## Vorleistung im MVP
- `Verzeichnisquelle` ist bereits mehrfach anlegbar und trägt einen Typ-fähigen Aufbau, damit Graph und SCIM daneben passen
- `VorlagenAbschnitt` hängt an der Version, nicht an der Vorlage — ein geteilter Baustein kann später als eigene Entität referenziert werden
- Polling ist in einem Route Handler gekapselt, der sich gegen SSE tauschen lässt