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_refist 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):
| Aspekt | MVP (umgesetzt) | Produktiv-Verfeinerung (offen) | Begründung |
|---|---|---|---|
| API | WebDAV (MKCOL/HEAD/PUT) für Ordner + Datei-CRUD | OCS-API für Shares/Group-Folders | WebDAV deckt Anlegen/Ablegen/Existenzprüfung vollständig; OCS erst bei Rollen-Shares nötig. |
| Ablagestruktur | Ordner je Mandant (Medidentas/Mandanten/<Name> (<id>)) + Standard-Unterordner | Group Folders je Team/Rolle | Eindeutiger Pfad (id-Suffix) genügt; Group Folders koppeln an R7/OP-AUTH-1. |
| Auth | App-Passwort (Basic Auth, Worker-Secret) | OAuth2 (Rotation/Ablauf, least-privilege) | Schnell produktiv; OAuth2 ist Sicherheits-Verfeinerung (RISK-16). |
| Benachrichtigung | Abgleich/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).