Zum Hauptinhalt springen

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).