Files
Laufzettel/docs/issues/002-epic-phase-2.md
T
Florian Wilde 41778529fc
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s
docs(phase-2): Phase 2 in acht Meilensteine schneiden
Phase 2 stand bisher nur als acht Stichpunkte im Epic. Jetzt je Meilenstein eine
Datei mit Ziel, Aufgaben und Akzeptanzkriterien, dazu im Tracker gespiegelt:
#48 bis #55, zusammen 76 h geschaetzt.

Die Reihenfolge ist nicht beliebig. M15 fuehrt die Quellenart ein, die M16
braucht; M17 legt die Zusammensetzung fest, auf der M18 aufsitzt. Die anderen
vier haengen an nichts und koennen jederzeit dazwischen.

Drei Entscheidungen fallen vor dem Code und stehen je Meilenstein als erste
Aufgabe mit Empfehlung:

- Wie ein Baustein die Unveraenderlichkeit einer veroeffentlichten Version
  ueberlebt (Verweis im Entwurf, tiefe Kopie beim Veroeffentlichen). Ein Lauf
  sieht weiterhin konkrete Schritte und muss nichts lernen.
- Wo Anhaenge liegen (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.
- Was eine Selbstauskunft zeigt: Titel, Status, Zeitraum, Geraet, aber keine
  Schritte, Notizen, Kommentare oder Anhaenge. In einem Lauf stehen
  Arbeitsnotizen ueber Menschen; eine Selbstauskunft ist keine Akteneinsicht.

Refs #2
2026-10-04 18:20:12 +02:00

3.0 KiB
Raw Blame History

#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 10 h –
M16 #029 SCIM-Endpunkt als Alternative zum Abgleich 12 h M15
M17 #030 Wiederverwendbare Bausteine 12 h –
M18 #031 Abteilungsspezifische Zusatzabschnitte 8 h M17
M19 #032 Anhänge und Fotos an Schritten 10 h –
M20 #033 Live-Aktualisierung per SSE statt Polling 6 h –
M21 #034 Benachrichtigungen per Mail und Webhook 10 h –
M22 #035 Mitarbeiter-Selbstauskunft 8 h –

Aufgaben

  • SCIM-Endpunkt als Alternative zum Pull-Abgleich → M16
  • Microsoft-Graph-Quelle für reine Entra-ID-Umgebungen ohne LDAP → M15
  • Wiederverwendbare Bausteine: Abschnitte, die mehrere Vorlagen teilen → M17
  • Abteilungsspezifische Zusatzabschnitte (Fachsoftware je Abteilung) → M18
  • Anhänge und Fotos an Schritten → M19
  • Live-Aktualisierung per SSE statt Polling → M20
  • Benachrichtigungen per Mail und Webhook → M21
  • 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