# #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