Digitaler Personalakt

Der digitale Personalakt ist der wichtigste Anwendungsfall des DM-Moduls: Jeder Mitarbeiter erhält pro Mandant eine identische, vordefinierte Ordnerstruktur in einem Dokumenten-Repository (üblicherweise Alfresco). Die Dokumente sind im HR-Expert unter dem Reiter "Dokumente" der Person sichtbar und können zusätzlich über konfigurierbare Teilansichten (Aktion dm_folderExplorer) für Endbenutzer freigegeben werden – z.B. eine Nur-Lese-Sicht auf die eigenen Gehaltszettel.

Architektur im Überblick

Vier Bausteine wirken zusammen:

  • Repository (DmRepository): der physische Ablageort. Zwei Typen: DB (Ablage in der Webdesk-Datenbank) oder CMIS_ALFRESCO (Alfresco via CMIS). Ein Repository gehört einem Mandanten (oder ist mandantenlos bei Einzelmandant-Systemen) und hat einen unveränderlichen Root-Pfad – eine nachträgliche Änderung würde bestehende Dokumente unsichtbar machen.
  • Metadaten-Struktur (DmMetaStructure): die Vorlage der Ordnerstruktur. Sie ist an eine Entitätsklasse gebunden (für den Personalakt: HrPerson) und besteht aus einem Baum von Metafoldern.
  • Metafolder (DmMetaFolder): ein Knoten der Vorlage mit Name, Beschreibung, Ordnernamen-Makro (Velocity) und Berechtigungen. Das Makro des Wurzel-Metafolders erzeugt den personenspezifischen Ordnernamen, z.B. ${HrPerson.getPerson().getLastName()}_${HrPerson.getPerson().getFirstName()}. Untergeordnete Metafolder haben meist fixe Namen ("Verträge", "Lohn- und Gehaltsverrechnung", "Sonstige", ...).
  • Zuordnung (DmRepositoryMetaStructure): verbindet pro Mandant genau eine Metadaten-Struktur mit einem Repository und legt den Eltern-Ordnerpfad innerhalb des Repositories fest.

Der vollständige Pfad eines Mitarbeiterordners ergibt sich somit aus:
Repository-Rootpfad + Eltern-Ordnerpfad der Zuordnung + Makro-Ergebnis des Wurzel-Metafolders + fixe Unterordner

Die Verknüpfung Person ↔ Ordner wird nicht über den Pfad, sondern über einen persistenten Entity-Link gespeichert. Jeder erzeugte Ordner merkt sich außerdem seinen Ursprungs-Metafolder – daran erkennt das System Systemordner (aus der Vorlage erzeugt, durch Benutzer weder umbenennbar noch löschbar) und unterscheidet sie von frei angelegten Benutzerordnern darunter.

Einrichtung Schritt für Schritt

1. Repository anlegen

Unter Repositories (dm_showRepositories / dm_editRepository): Name, Mandant und Typ wählen. Bei CMIS_ALFRESCO:

  • Standardverbindung verwenden: nutzt die zentral hinterlegte Alfresco-Verbindung (URL, Benutzer, Passwort aus den DM-Optionen), alternativ eigene Verbindungsdaten pro Repository (Passwort wird verschlüsselt gespeichert).
  • Site: Auswahl einer bestehenden Alfresco-Site oder Anlage einer neuen direkt aus dem Formular (Kurzname, Titel, Sichtbarkeit).
  • Zusätzlicher Root-Pfad: optionaler Unterpfad innerhalb der Site.
  • Verbindung testen prüft die Erreichbarkeit, bevor gespeichert wird.

2. Metadaten-Struktur definieren

Unter Metadaten-Struktur bearbeiten (dm_editMetaDataStructure):

  • Entitätsklasse wählen – für den Personalakt HrPerson. Diese Bindung ist nachträglich nicht änderbar.
  • Den Ordnerbaum aufbauen; pro Metafolder das Ordnernamen-Makro setzen (leer = fixer Name). Die Entität steht im Makro unter ihrem einfachen Klassennamen zur Verfügung. Das System weist Makros zurück, die für zwei Personen denselben Ordnernamen erzeugen würden.
  • Pro Metafolder Berechtigungen festlegen (siehe unten).
  • Die Struktur einem Repository zuordnen (Eltern-Ordnerpfad angeben) und optional direkt aus dem Editor propagieren (asynchron, mit Fortschrittsanzeige).

Für Neueinrichtungen erzeugt der Mandanten-Setup-Assistent auf Wunsch Alfresco-Site, Repository, Zuordnung und Erstpropagierung in einem Durchgang.

3. Ordnerstrukturen erzeugen (Propagierung)

Die Mitarbeiterordner entstehen über drei Mechanismen, die sich ergänzen:

  1. Automatisch beim Anlegen eines neuen Mitarbeiters im HR-Expert. Ist das Repository dabei nicht erreichbar, schlägt das Speichern der Person nicht fehl – es wird nur eine Warnung protokolliert; die Struktur wird später nachgezogen.
  2. Lazy beim ersten Zugriff: Beim Öffnen des Dokumente-Reiters im HR-Expert – und seit Version 4.64 auch beim Öffnen einer dm_folderExplorer-Konfiguration – wird die Struktur bei Bedarf erzeugt bzw. eine unvollständige Struktur automatisch repariert.
  3. Massenhaft per Job propagateMetaStructure (oder per Knopf im Struktur-Editor): erzwingt die Vorlage für alle Entitäten der zugeordneten Mandanten. Die Propagierung legt fehlende Ordner an, benennt Ordner um, wenn sich das Makro-Ergebnis geändert hat (z.B. nach Namensänderung der Person), verschiebt Ordner bei geänderter Vorlagen-Hierarchie und entfernt Ordner entfallener Metafolder – letzteres nur, wenn sie keine Dokumente mehr enthalten.

Der Dokumente-Reiter im HR-Expert

Der Reiter Dokumente an der Person (verfügbar bei lizenziertem DM- und WF-Modul) zeigt links den Ordnerbaum, rechts die Dokumententabelle:

  • Ordnerbaum: Systemordner sind fix; darunter können Benutzerordner angelegt, umbenannt (F2) und gelöscht werden.
  • Dokumente: Upload per Knopf oder Drag & Drop (Maximalgröße konfigurierbar), Umbenennen inline, Verschieben in andere Ordner per Dialog, Löschen, Download per Klick auf den Namen. Beim Upload eines gleichnamigen Dokuments wird nach Bestätigung die bestehende Datei aktualisiert.
  • Dokument aus Vorlage: erzeugt ein neues Dokument aus einer Dokumentvorlage (Seriendruckfelder werden aus den Personendaten befüllt).
  • Digitale Signatur: für PDF/DOCX kann (bei aktivierter Option) ein Signatur-Workflow gestartet werden; DOCX wird dafür nach PDF konvertiert.
  • Dokumente an Teilbereichen: Auch Unterbereiche der Person (Gehalt, Ausbildung, Schulungen, Zeugnisse, Austritt, ...) haben eigene "Dokumente"-Schaltflächen; diese Dokumente werden über Entity-Links dem jeweiligen Datensatz zugeordnet.

Beim Löschen bzw. Historisieren einer Person wird der Personalakt-Ordner mitbehandelt: beim Historisieren per Soft-Delete (Umbenennung mit Lösch-Suffix), beim endgültigen Löschen per Hard-Delete – sofern dies nicht über die DM-Option "DM-Daten beim endgültigen Löschen behalten" unterbunden ist.

Teilansichten für Endbenutzer (dm_folderExplorer)

Die konfigurierbare Aktion dm_folderExplorer macht Ausschnitte des Personalakts im Webdesk-Portal zugänglich. Es gibt zwei Konfigurationstypen:

  • Repository: zeigt einen fixen Ordnerpfad eines Repositories (mit ausblendbaren Unterordnern). Geeignet für gemeinsame Ablagen, nicht für personenspezifische Sichten.
  • Metadaten-Struktur: der Personalakt-Fall. Konfiguriert werden:
    • Metadaten-Struktur und als Wurzel ein Metafolder daraus – z.B. der Metafolder "Lohn- und Gehaltsverrechnung" für eine reine Gehaltszettel-Sicht.
    • Entity-Ermittlungsskript: ein JavaScript, das den angemeldeten Benutzer auf die Personalakt-Entität abbildet. Für den Standardfall HrPerson: appCtx.getBean('HrPersonService').getPerson(entity) (im Kontext stehen entity = angemeldete PoPerson, currentUser und appCtx).
    • Ausgeblendete Metafolder: Unterordner der gewählten Wurzel, die in dieser Ansicht nicht erscheinen sollen.

Dazu kommen die allgemeinen Optionen Nur Lesen (für Selfservice-Sichten empfohlen), Ordnerbaum standardmäßig anzeigen und Standard-Seitengröße. Die Aktion bietet Breadcrumbs, Upload (sofern nicht readonly), Versionsverwaltung, Anzeige verknüpfter Entitäten und ZIP-Download ganzer Ordner (Ordner-Berechtigungen werden dabei berücksichtigt).

Für jede Konfiguration gilt: Der Benutzer sieht seinen eigenen Ausschnitt – die Wurzel wird zur Laufzeit über das Skript und die Metadaten-Struktur auf den konkreten Ordner der eigenen Person aufgelöst und bei Bedarf erzeugt.

Gehaltszettel-Verteilung (PS-Integration)

Wie kommen die Gehaltszettel in den Personalakt? Über das PS-Modul (Aktion ps_editSalaryAccounting) in Kombination mit der Split-PDF-Konfiguration des DM-Moduls:

  1. Die Lohnverrechnung liefert ein Sammel-PDF mit allen Abrechnungen eines Monats. Dieses wird in der Gehaltsverrechnungsmaske hochgeladen; als Ziel wird ein Metafolder gewählt (Standard: "Lohn- und Gehaltsverrechnung").
  2. Eine Split-PDF-Konfiguration (dm_editSplitPdfConfiguration) beschreibt, wie das Sammel-PDF zerteilt wird: Start-/Ende-Erkennungstexte, ein regulärer Ausdruck zur Extraktion der Personalnummer je Seite und ein Velocity-Ausdruck für den Dateinamen der Einzeldokumente (mit documentIdentifier und referenceDate).
  3. Beim Splitten wird jede extrahierte Personalnummer (inklusive Mandanten-Präfix- und Führende-Nullen-Behandlung) auf eine Person aufgelöst; nicht zuordenbare Teile werden als Warnung protokolliert.
  4. Ein Workflow-Schritt kopiert die Einzeldokumente anschließend in den jeweiligen Mitarbeiterordner. Optional wird pro Jahr ein Unterordner erzeugt (Muster konfigurierbar, Standard: Lohnzettel $year).

Zusammen mit einer readonly dm_folderExplorer-Teilansicht auf den Metafolder "Lohn- und Gehaltsverrechnung" ergibt sich der geschlossene Kreis: Abrechnung hochladen → splitten → verteilen → Mitarbeiter sieht nur die eigenen Gehaltszettel.

Berechtigungen

Zwei Ebenen wirken zusammen:

Ordner-Berechtigungen (Metafolder-Ebene)

  • Pro Metafolder: eine Standardberechtigung plus optionale Rollen-Berechtigungen (Rolle → Berechtigung). Werte: FULL (bearbeiten), VIEW (nur lesen), NONE (unsichtbar).
  • Die Auflösung wandert vom Ordner zum Wurzel-Metafolder; bei mehreren zutreffenden Regeln gewinnt die restriktivste (NONE vor VIEW vor FULL).
  • Der Eigentümer des Personalakts (die Person selbst) hat auf ihre Ordner immer FULL; Ordner ohne Metafolder-Ursprung (Benutzerordner) sind generell FULL.
  • Damit lässt sich z.B. der Anwendungsfall "Rolle Weiterbildung sieht nur die Kategorien Personalentwicklung und Weiterbildung" abbilden: auf den übrigen Metafoldern NONE als Rollenberechtigung für diese Rolle bzw. restriktive Standardberechtigungen setzen.
  • Berechtigungen gelten auf Ordnerebene, nicht pro Dokument.

Dokument-URL-Autorisierung

Jeder Dokument-Download läuft zusätzlich durch eine zentrale Prüfung: Aktionsberechtigung des Benutzers, Ordner-Berechtigung (siehe oben) und – für über Entity-Links zugeordnete Dokumente – modulspezifische Autorisierungs-Resolver (z.B. für HR-Personendokumente, Gehaltsabrechnungen, Reisekosten, Workflow-Anhänge). Ohne greifende Regel wird der Zugriff verweigert. Diese Prüfung ist über die DM-Option "Dokument-Autorisierung aktiviert" steuerbar.

Betrieb und Troubleshooting

  • Fehlende Ordner bei einzelnen Personen (z.B. "Ordner Sonstige fehlt"): Job propagateMetaStructure für die betroffene Zuordnung laufen lassen – er ergänzt fehlende Ordner strukturschonend. Seit Version 4.64 repariert auch der dm_folderExplorer unvollständige Strukturen beim Zugriff selbst.
  • Bestehende Alfresco-Ordner nachträglich einbinden: Job bindFoldersToMetaStructure verknüpft vorhandene Ordnerbäume mit einer Metadaten-Struktur (initial oder wiederholt).
  • Alt-Datenübernahme: Job convertAlfrescoObjectsToDmObjects wandelt generische Alfresco-Ordner/-Dokumente in DM-verwaltete Objekte um (mit Test- und Statistik-Funktion).
  • Aufbewahrungsfristen: Job deleteDocumentsFromMetaFolders löscht Dokumente eines Metafolders älter als X Jahre/Monate, protokolliert ins Lösch-Log.
  • Namensänderungen von Mitarbeitern schlagen erst bei der nächsten Propagierung auf die Ordnernamen durch.
  • Repository-Ausfall: Personen-Anlage funktioniert weiter (Warnung im Log); Dokumente-Reiter und Explorer melden den Fehler beim Zugriff.

Verwandte Seiten: Modul Document Management (Überblick).

Kommentare (0)