From 70bcfdc4d86057c720a6f25dab9fa5f238304b6a Mon Sep 17 00:00:00 2001 From: Harlekin Date: Tue, 1 Sep 2026 23:21:38 +0200 Subject: [PATCH] Zwei Freigaben, Aktenzeichen-Muster und Einzeldokument-Export festgelegt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aus den echten Dokumenten der Abteilung, die bisher als Google Docs geführt wurden. Die Dokumente tragen zwei Angaben nebeneinander, "Foundation-Freigabe" und "Interne Freigabe". Den Zugriff steuert allein die interne Freigabe; die Foundation-Freigabe wird ein gewöhnliches Vorlagenfeld. Mit zwei sperrenden Achsen bekäme jede Sichtbarkeitsprüfung, jede Trefferzahl und jeder Negativtest eine zweite Dimension — Sichtbarkeit wird an genau einer Stelle entschieden, sonst ist sie nicht mehr nachweisbar. Das Aktenzeichen der Abteilung lautet AKT-PA-2026-62843, das Glossar schrieb AfiS-2026-0042 vor. Das Muster gehört zur Vorlage, nicht ins Programm: Präfix und Stellenzahl je Fallart, Nummernkreis je Präfix und Jahr. docs/08 kannte nur den Export einer ganzen Akte. Dokumente wie der Sonderarbeitsvertrag hängen aber an einer Person, nicht an einer Ermittlung, und brauchen einen eigenen Weg: Deckblatt, Dokument, Fußzeile, kein Verlauf. Stufe des Abrufers, Wasserzeichen und Protokollierung gelten dort genauso. Co-Authored-By: Claude Opus 5 --- TASKS.md | 4 ++++ docs/08-suche-und-export.md | 14 ++++++++++++++ docs/13-entscheidungen.md | 24 ++++++++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/TASKS.md b/TASKS.md index b8f365e..46a75e3 100644 --- a/TASKS.md +++ b/TASKS.md @@ -62,6 +62,8 @@ Das ist der schwierigste Teil. Wenn er steht, ist der Rest Formularbau. ## Phase 3 — Vorlagen und Abschnitte - [ ] `CaseTemplate` mit Feldtypen aus `docs/05-akten-und-vorlagen.md` +- [ ] Aktenzeichen-Muster je Vorlage: Präfix und Stellenzahl, Nummernkreis je Präfix und Jahr +- [ ] Feld „Foundation-Freigabe" als gewöhnliches Vorlagenfeld, ohne Wirkung auf den Zugriff - [ ] Vorlagen-Editor im Adminbereich, versioniert, mit Vorschau - [ ] Abschnitte rendern und bearbeiten, Autosave lokal alle 2 Sekunden - [ ] Versionierung mit Diff-Ansicht @@ -73,6 +75,7 @@ Das ist der schwierigste Teil. Wenn er steht, ist der Rest Formularbau. ## Phase 4 — Personalakten und Verknüpfungen - [ ] `PersonnelFile`, auch für Personen ohne Discord-Konto +- [ ] Dokumente an der Personalakte aus Vorlagen, z. B. Sonderarbeitsvertrag - [ ] Beteiligte einer Akte mit Rolle - [ ] Rückverweise auf der Personalakte, durch die Sichtbarkeitsprüfung gefiltert - [ ] Verknüpfungen zwischen Akten @@ -113,6 +116,7 @@ Das ist der schwierigste Teil. Wenn er steht, ist der Rest Formularbau. - [ ] Playwright-Container erzeugt PDF, Ergebnis gecacht - [ ] Schwärzung und Wasserzeichen im Export - [ ] Freigabeverfahren ab Stufe 3 +- [ ] Einzeldokument als PDF, ohne Verlauf, Aussehen aus der Vorlage - [ ] ZIP-Sammelexport und JSON-Vollexport für Admins ## Phase 9 — Schliff diff --git a/docs/08-suche-und-export.md b/docs/08-suche-und-export.md index 08f8019..57261f2 100644 --- a/docs/08-suche-und-export.md +++ b/docs/08-suche-und-export.md @@ -54,6 +54,20 @@ Der Export läuft als Hintergrundauftrag: Klick erzeugt einen Job, die UI zeigt Fortschrittsbalken und der Download startet automatisch, sobald der Job fertig ist. Bei über 3 Sekunden bekommt der Nutzer zusätzlich eine Benachrichtigung, damit er wegklicken kann. +### Einzeldokument als PDF + +Nicht jedes Dokument gehört zu einem Fall. Ein Sonderarbeitsvertrag, eine Beurteilung oder +eine Verpflichtungserklärung hängt an einer **Person**, nicht an einer Ermittlung. Solche +Dokumente entstehen aus einer Vorlage wie ein Fallabschnitt, werden aber einzeln ausgegeben: +Deckblatt, das Dokument selbst, Fußzeile. Kein Verlauf, keine Kopfdatentabelle einer Akte. + +Dieselben drei Regeln gelten: die Stufe des Abrufers wird respektiert, jede Seite trägt das +Wasserzeichen, jeder Abruf wird protokolliert. + +Die Vorlage bestimmt das Aussehen. Ein mehrseitiger Vertrag mit Paragraphen und +Unterschriftenzeilen ist eine andere Vorlage als ein einseitiger Vorfallsbericht, und beide +laufen durch dieselbe Druckansicht. + ### Weitere Wege - ZIP mit PDFs und Anhängen für Sammelexporte, nur mit Recht `admin` diff --git a/docs/13-entscheidungen.md b/docs/13-entscheidungen.md index b3e8aa5..5b04aa1 100644 --- a/docs/13-entscheidungen.md +++ b/docs/13-entscheidungen.md @@ -156,6 +156,30 @@ Die Alternative wäre gewesen, das Hochstufen zu erlauben und den Zugriff dabei Das erzeugt aber Akten, die ihr Urheber nicht mehr sehen kann, und macht die Frage „wer konnte das lesen" im Nachhinein schwer beantwortbar. +## Zwei Freigaben im Kopf, aber nur eine sperrt + +Die Dokumente der Abteilung tragen zwei Angaben nebeneinander: „Foundation-Freigabe 3" und +„Interne Freigabe: Restricted Access". Das Modell kennt nur eine Stufe je Akte. + +Festgelegt: **den Zugriff steuert allein die interne Freigabe**, also `Case.classification` +aus den Zugangsrollen des Discord-Servers. Die Foundation-Freigabe ist ein gewöhnliches +Vorlagenfeld — sie steht im Kopf des Dokuments und im PDF, sperrt aber nichts. + +Der Grund ist nicht Bequemlichkeit: mit zwei sperrenden Achsen bekäme jede +Sichtbarkeitsprüfung, jede Trefferzahl, jeder Facettenzähler und jeder Negativtest eine +zweite Dimension. Sichtbarkeit wird an genau einer Stelle entschieden, sonst ist sie nicht +mehr nachweisbar. + +## Aktenzeichen mit Präfix je Fallart + +Das Glossar schreibt `AfiS--<4-stellig>` vor, die tatsächlichen Dokumente der +Abteilung tragen `AKT-PA-2026-62843` — Präfix nach Abteilung, fünfstellige Nummer. + +Festgelegt: das Muster gehört zur **Vorlage**, nicht ins Programm. Jede Fallart bringt ihr +Präfix und ihre Stellenzahl mit, der Nummernkreis läuft je Präfix und Jahr. `CaseCounter` +bekommt dafür einen zusammengesetzten Schlüssel aus Präfix und Jahr statt nur dem Jahr. +Bestehende Aktenzeichen bleiben, wie sie sind. + ## Prisma 7 Die Dokumente nennen nur „Prisma + PostgreSQL 16". Eingesetzt wird Prisma 7, die