M17 – Wiederverwendbare Bausteine #50

Closed
opened 2026-10-04 16:19:17 +00:00 by florian.wilde · 0 comments
Owner

Ziel

„Datensicherung prüfen“ steht in vier der sieben Vorlagen, wortgleich. Wer den Ablauf ändert, ändert
ihn heute viermal — oder dreimal und vergisst den vierten. Ein Baustein ist ein Abschnitt, den
mehrere Vorlagen teilen.

Woran es hängt

Eine veröffentlichte VorlagenVersion ist unveränderlich. Das trägt die Nachvollziehbarkeit des
ganzen Archivs: ein Lauf zeigt auch in zehn Jahren genau die Schritte, die damals abgearbeitet
wurden. Ein Baustein, der sich ändert, darf das nicht antasten.

Zu entscheiden

  • Baustein mit eigener Version, beim Veröffentlichen tief kopiert — Empfehlung. Ein
    Entwurf verweist auf einen Baustein; beim Veröffentlichen löst der Dienst den Verweis in
    echte Abschnitte und Schritte auf. Damit bleibt alles, was danach kommt, unberührt: Lauf,
    Schrittergebnis, Druckansicht und Archiv sehen weiterhin konkrete Schritte und müssen nichts
    lernen.
    Die Alternative — Läufe verweisen zur Laufzeit auf den Baustein — hieße, dass die Unveränder-
    lichkeit an einer zweiten Stelle durchgesetzt werden muss, und dass jede Abfrage über Schritte
    zwei Wege kennen muss. Das ist der Preis für eine Bequemlichkeit, die niemand verlangt hat.
  • Was „Baustein aktualisieren“ für laufende Arbeiten bedeutet: nichts. Eine neue
    Baustein-Version wirkt erst in der nächsten veröffentlichten Vorlagenversion. Das muss die
    Oberfläche sagen, sonst erwartet man Durchschlag.

Aufgaben

  • Modelle Baustein und BausteinVersion mit denselben Regeln wie bei Vorlagen: höchstens ein
    Entwurf, veröffentlichte Version unveränderlich (Trigger, nicht nur Dienst)
  • VorlagenAbschnitt kann statt eigener Schritte einen Baustein nennen — nur im Entwurf
  • Veröffentlichen löst auf: tiefe Kopie der Baustein-Abschnitte und -Schritte in die Version,
    mit Vermerk, aus welchem Baustein und welcher Version sie stammen
  • Editor: Baustein einfügen, als Einheit anzeigen, nicht Schritt für Schritt bearbeitbar; ein
    Hinweis nennt Baustein und Version
  • Eigene Verwaltung für Bausteine, Recht vorlagenBearbeiten (wer Vorlagen pflegt, pflegt
    Bausteine)
  • „Wo wird dieser Baustein benutzt“ — vor dem Ändern will man das wissen
  • Anleitung Kapitel 04

Akzeptanzkriterien

  • Test: eine neue Baustein-Version ändert keine veröffentlichte Vorlagenversion und keinen
    laufenden Lauf
  • Test: die Druckansicht eines archivierten Laufs ist nach einer Baustein-Änderung Zeichen für
    Zeichen dieselbe
  • Test: die nächste veröffentlichte Vorlagenversion enthält die neue Baustein-Version
  • Test: ein Baustein lässt sich nicht löschen, solange eine Vorlage ihn im Entwurf nennt
  • Test: Export und Import einer Vorlage mit Baustein ergeben eine inhaltsgleiche Vorlage — die
    Datei trägt die aufgelösten Schritte, keinen Verweis auf einen Baustein, den die andere
    Installation nicht hat

Quelle im Repo: docs/issues/030-bausteine.md

## Ziel „Datensicherung prüfen“ steht in vier der sieben Vorlagen, wortgleich. Wer den Ablauf ändert, ändert ihn heute viermal — oder dreimal und vergisst den vierten. Ein **Baustein** ist ein Abschnitt, den mehrere Vorlagen teilen. ## Woran es hängt Eine veröffentlichte `VorlagenVersion` ist **unveränderlich**. Das trägt die Nachvollziehbarkeit des ganzen Archivs: ein Lauf zeigt auch in zehn Jahren genau die Schritte, die damals abgearbeitet wurden. Ein Baustein, der sich ändert, darf das nicht antasten. ## Zu entscheiden - [ ] **Baustein mit eigener Version, beim Veröffentlichen tief kopiert** — Empfehlung. Ein Entwurf **verweist** auf einen Baustein; beim Veröffentlichen löst der Dienst den Verweis in echte Abschnitte und Schritte auf. Damit bleibt alles, was danach kommt, unberührt: `Lauf`, `Schrittergebnis`, Druckansicht und Archiv sehen weiterhin konkrete Schritte und müssen nichts lernen. Die Alternative — Läufe verweisen zur Laufzeit auf den Baustein — hieße, dass die Unveränder- lichkeit an einer zweiten Stelle durchgesetzt werden muss, und dass jede Abfrage über Schritte zwei Wege kennen muss. Das ist der Preis für eine Bequemlichkeit, die niemand verlangt hat. - [ ] **Was „Baustein aktualisieren“ für laufende Arbeiten bedeutet:** nichts. Eine neue Baustein-Version wirkt erst in der **nächsten** veröffentlichten Vorlagenversion. Das muss die Oberfläche sagen, sonst erwartet man Durchschlag. ## Aufgaben - [ ] Modelle `Baustein` und `BausteinVersion` mit denselben Regeln wie bei Vorlagen: höchstens ein Entwurf, veröffentlichte Version unveränderlich (Trigger, nicht nur Dienst) - [ ] `VorlagenAbschnitt` kann statt eigener Schritte einen Baustein nennen — nur im **Entwurf** - [ ] Veröffentlichen löst auf: tiefe Kopie der Baustein-Abschnitte und -Schritte in die Version, mit Vermerk, aus welchem Baustein und welcher Version sie stammen - [ ] Editor: Baustein einfügen, als Einheit anzeigen, nicht Schritt für Schritt bearbeitbar; ein Hinweis nennt Baustein und Version - [ ] Eigene Verwaltung für Bausteine, Recht `vorlagenBearbeiten` (wer Vorlagen pflegt, pflegt Bausteine) - [ ] „Wo wird dieser Baustein benutzt“ — vor dem Ändern will man das wissen - [ ] Anleitung Kapitel 04 ## Akzeptanzkriterien - [ ] Test: eine neue Baustein-Version ändert **keine** veröffentlichte Vorlagenversion und **keinen** laufenden Lauf - [ ] Test: die Druckansicht eines archivierten Laufs ist nach einer Baustein-Änderung Zeichen für Zeichen dieselbe - [ ] Test: die nächste veröffentlichte Vorlagenversion enthält die neue Baustein-Version - [ ] Test: ein Baustein lässt sich nicht löschen, solange eine Vorlage ihn im Entwurf nennt - [ ] Test: Export und Import einer Vorlage mit Baustein ergeben eine inhaltsgleiche Vorlage — die Datei trägt die aufgelösten Schritte, keinen Verweis auf einen Baustein, den die andere Installation nicht hat --- Quelle im Repo: `docs/issues/030-bausteine.md`
florian.wilde added this to the v0.2.0 milestone 2026-10-04 16:19:17 +00:00
florian.wilde added the phase-2backendfrontend labels 2026-10-04 16:19:17 +00:00
Sign in to join this conversation.