Files
migrate-ecodms-to-paperless/rollen.yml.example
2026-09-04 19:51:02 +02:00

102 lines
3.8 KiB
Plaintext

# Uebersetzung der ecoDMS-Rollen nach Paperless-ngx.
# Nach rollen.yml kopieren und anpassen.
#
# GRUNDREGEL: Nicht eingetragene Rollen fuehren zum ABBRUCH, nicht zum
# stillen Verwerfen. Denn in Paperless bedeutet "keine Rechte gesetzt"
# nicht gesperrt, sondern UNBESCHRAENKT - ein Tippfehler wuerde Dokumente
# oeffnen, nicht schliessen. Bewusstes Weglassen wird als "type: null"
# notiert.
#
# Vorkommende Rollen ermitteln: der Pruefbericht von ecodms_extract.py
# gibt sie je Tranche unter "Rollen" aus. Ueber alle Tranchen zusammenfuehren.
# ---------------------------------------------------------------------------
# Zielstruktur - vor dem ersten Import in Paperless anlegen
# ---------------------------------------------------------------------------
# Nur Dokumentation; angelegt wird ueber die Django-Shell, siehe docs/01.
paperless_users:
- benutzer_a
- benutzer_b
paperless_groups:
Gruppe_A:
- benutzer_a
- benutzer_b
# Keiner Gruppe das Recht zum endgueltigen Loeschen geben. Zusammen mit
# Audit-Log, Versionierung und Papierkorb-Frist ist das der vierte Baustein
# der Nachvollziehbarkeit.
group_permissions:
default: [view, change] # ausdruecklich ohne delete
# ---------------------------------------------------------------------------
# Abbildung der ecoDMS-Rollen
# ---------------------------------------------------------------------------
# Greift, wenn nach der Uebersetzung kein Eigentuemer uebrig bleibt.
default_owner: benutzer_a
roles:
# Einzelbenutzer-Rollen tragen in ecoDMS ueblicherweise ein r_-Praefix.
r_benutzer_a:
type: user
paperless: benutzer_a
owner: true # wird Eigentuemer, wenn an einem Dokument beteiligt
r_benutzer_b:
type: user
paperless: benutzer_b
# Echte Gruppen ohne Praefix.
GRUPPENNAME:
type: group
paperless: Gruppe_A
# Globales Importrecht: Jeder hat Zugriff. Wird beim Import gesetzt und
# bei der ersten Klassifizierung durch die echten Berechtigten ersetzt.
# Wer es uebernimmt, oeffnet jedes Dokument fuer alle.
ecoSIMSUSER:
type: null
# ---------------------------------------------------------------------------
# doc_right -> Paperless-Objektrechte
# ---------------------------------------------------------------------------
# 'change' impliziert in Paperless kein 'view'. W muss deshalb beides setzen.
rights:
R: [view]
W: [view, change]
# ---------------------------------------------------------------------------
# Dokumente ohne Rechteeintrag
# ---------------------------------------------------------------------------
# In der Praxis haben viele Dokumente GAR KEINE Zeile in docrollen_hist -
# ecoDMS speichert offenbar nur ausdruecklich vergebene Berechtigungen.
#
# owner_only - nur default_owner, sonst niemand (empfohlen)
# unrestricted - kein Eigentuemer, fuer alle sichtbar
no_rights_policy: owner_only
# Optional: Eigentuemer aus klassifizierung.changeid ableiten statt pauschal
# default_owner. Das Feld enthaelt Klarnamen, keine Rollennamen.
owner_from_changeid: false
users_by_name:
"Vorname Nachname": benutzer_a
# ---------------------------------------------------------------------------
# Zusatzfelder
# ---------------------------------------------------------------------------
# Werden von "--setup" angelegt, unabhaengig davon, ob in der ersten Tranche
# schon Werte vorkommen. Der Name MUSS exakt dem Namen in der ecoDMS-Tabelle
# dynattribute entsprechen, sonst legt der Import ein zweites, gleichnamiges
# Feld an und die Werte verteilen sich auf beide.
#
# Typen: string, date, boolean, integer, float, monetary, url, documentlink
custom_fields:
Belegnummer: string
Zeitraum: string
Eingangsdatum: date
Zahlungsdatum: date
Wiedervorlage: date # aus klassifizierung.defdate
ecoDMS-ID: string
ecoDMS-Verknuepfung: documentlink