Zum Hauptinhalt springen

Dokumenten-Verwaltung — NextCloud-Integration (A-1)

Bezug: A-1, R3, R9, S-2, OP-DOC-1 · Status: Richtung gesetzt; MVP-Integrationsweg entschieden (Slice 2, 0.3.0)WebDAV + App-Passwort; OAuth2/Webhooks/Group-Folders bleiben Produktiv-Verfeinerung (OP-DOC-1 Rest).

Entscheidung (A-1)

Dokumente werden in NextCloud abgelegt — Medidentas baut kein eigenes DMS (G-1 Standardwerkzeuge-bevorzugen). Medidentas hält pro Dokument nur Referenz + Status + Metadaten (S-2), nicht die Datei-Kopie. NextCloud bringt out-of-the-box: Versionierung, Zugriffsrechte, Verschlüsselung, Sharing-Links, EU-/Self-Hosting (Datenresidenz, G-5).

Referenz-Modell

  • Die Datei lebt in NextCloud; nextcloud_ref ist der stabile Verweis.
  • Status ist sprechend (G-3) und treibt die True-North-Fragen (was fehlt? was ist fällig?).
  • Vollständigkeit („Onboarding-Dokumente vollständig?") wird aus den Pflicht-Items abgeleitet (G-2), nicht als Flag gespeichert.

Integrationsweg (OP-DOC-1)

MVP-Entscheidung (Slice 2, 0.3.0) — die linke Spalte ist umgesetzt, die rechte bleibt offene Produktiv-Verfeinerung (OP-DOC-1 Rest):

AspektMVP (umgesetzt)Produktiv-Verfeinerung (offen)Begründung
APIWebDAV (MKCOL/HEAD/PUT) für Ordner + Datei-CRUDOCS-API für Shares/Group-FoldersWebDAV deckt Anlegen/Ablegen/Existenzprüfung vollständig; OCS erst bei Rollen-Shares nötig.
AblagestrukturOrdner je Mandant (Medidentas/Mandanten/<Name> (<id>)) + Standard-UnterordnerGroup Folders je Team/RolleEindeutiger Pfad (id-Suffix) genügt; Group Folders koppeln an R7/OP-AUTH-1.
AuthApp-Passwort (Basic Auth, Worker-Secret)OAuth2 (Rotation/Ablauf, least-privilege)Schnell produktiv; OAuth2 ist Sicherheits-Verfeinerung (RISK-16).
BenachrichtigungAbgleich/Reconciliation (idempotenter exists-Check, RISK-6)Webhooks (notify_push/Flow)Pull-Abgleich ist robust ohne Webhook-Infra; Push spart Polling.

Umgesetzt (Slice 2): NextCloudClient-Vertrag (server/src/nextcloud/client.ts, WebDAV-Impl + FakeNextCloud für Tests), Ablage-Pfadlogik (domain/ablage.ts), Dokument-Dienst (api/dokument-service.ts: provisionieren · Abgleich · Status + Item-Propagation · Hochladen). Konfiguration über Worker-Secrets NEXTCLOUD_URL/NEXTCLOUD_USER/NEXTCLOUD_APP_PASSWORD (nie im Repo, RISK-8); ohne Konfiguration liefert die API 503 (kein Eigenbau-DMS, G-1).

Sequenz: Dokument anfordern → erhalten

Offene Punkte

  • OP-DOC-1 (Rest): OAuth2 statt App-Passwort (RISK-16), OCS-Group-Folders je Rolle (R7/OP-AUTH-1), Webhooks (notify_push) statt Pull-Abgleich. MVP-Weg (WebDAV/App-Passwort/Ordner/Abgleich) ist umgesetzt.
  • OP-DSGVO-1: AVV mit NextCloud-Hosting, Verschlüsselung at-rest/in-transit, Datenresidenz.
  • Verknüpfung zu R4 Unterschriften: signiertes Dokument fließt nach Abschluss zurück nach NextCloud (siehe Unterschriften.md).