Personenverwaltung

Informationen zu Import / Export, Berechtigungen, Rollen, Status, Subadministrator ...

Neue Person erstellen

Administratoren (und Subadministratoren innerhalb ihrer verwaltbaren Ressourcen) können neue Personen manuell anlegen. Klicken Sie im Administrationsbereich > Personen auf die Schaltfläche Neue Person.

Die minimalen Informationen, die für die erfolgreiche Erstellung eines Personeneintrags benötigt werden, sind:

image.png

Zusätzlich können Sie ein Profilbild (jpg, png) hochladen, oder weiterhin folgende Informationen eintragen: eine Personalnummer, die Sprache, in der die Person die Lernplattform sehen wird, die Rolle, Organisationseinheit & Tätigkeit, sowie auch die Frequenz der Benachrichtigungen (social Sammelmails) und ein Geburtsdatum, das auf den Zertifikaten der Person erscheinen würde.

Personen exportieren

Aus der Personenverwaltung können Personen in einer CSV Datei exportiert werden. Im Administrationsbereich > Personen > klick aufs button Funktionen und Auswahl der Option Exportieren.

image.png

 Wählen Sie aus der Liste die Personen die sie exportieren möchten und klicken Sie dann auf den Exportieren button. Im nachfolgenden pop-up können Sie die Sprach- und Kodierungseinstellungen unternehmen (MS-ANSIder UTF-8).

image.png

 Sobald Sie Ihre Präferenzen gesetzt haben, klicken Sie auf Weiter und wählen Sie Download im nächsten Dialog. 

image.png

 Wir empfehlen die Erweiterte Suche für das Filtern der Personen für den Export zu verwenden, wie im unten stehenden Beispiel: 

image.png

Import von Personen

Über den Import von Personen kann der Administrator auch grössere Mengen Benutzerdaten einlesen. Voraussetzung hierfür ist eine der Spezifikation entsprechende CSV-Datei. Im Administrationsbereich > Personen > klick auf den Funktionen Button und dann die Option Importieren wählen.

Der Import der CSV Datei wird sehr restriktiv behandelt, so dass diese in der Spezifikation kann geändert werden (Deaktivieren/Archivieren) oder sie können beim Import gelöscht werden

image.png

Haben Sie die entsprechenden radiobuttons selektiert und via Wählen die richtige CSV Datei gewählt, dann können Sie auf Weiter klicken um den Import zu starten. Je nach Grösse der Datei kann der Import eine längere Zeit benötigen, was an der progress bar während dem Upload zu erkennen ist. 

Ist der Import ausgeführt worden, werden sie eine confirmation pop-up einer Zusammenfassung der gespeicherten Änderungen in der Datenbank (Name, Fehlerursache usw) erhalten.

Info

Archivierte Personen: Zählt die Personen, bei denen der Status auf "Archiviert" geändert wurde.

Deaktivierte Personen: Zählt die Personen, bei denen der Status auf "Deaktiviert" geändert wurde.

Aktivierte Personen: Zählt die Personen, bei denen der Status auf "Aktiviert" geändert wurde.

Fehler: Zählt die Fehler die erzeugt wurden, und daher keine Änderung vorgenommen wurde.

Neue Personen: Zählt die neuen Personen, die durch dem Import, im System erstellt worden sind.

Tätigkeit: Zählt die Tätigkeiten, die durch dem Import, im System neu erstellt wurden.
Tätigkeiten werden beim Import auch erstellt wenn der Import abgebrochen wurde oder fehlerhaft ist

Organisationseinheiten: Zählt die Organisationseinheiten, die durch den Import, im System neu erstellt wurden.
Organisationseinheiten werden beim Import auch erstellt wenn der Import abgebrochen wurde oder fehlerhaft ist.

Aktualisierte Personen: Zählt die Werte die importiert worden sind. Es findet kein Abgleich statt, ob ev. die importierten Werte schon zuvor vorhanden waren. Bedeutet, die bereits vorhanden Wert werden ev. mit dem leichten Wert überschrieben. Die gesamte Anzahl ist ausschlaggebend, nicht nur die "geänderten" Werte.

CSV Import

Spezifikation CSV-Aufbau für Personenimport

Als Feldtrennung muss ";" verwendet werden

Description Config Expected
Header Am einfachsten gelangt man zu einer CSV-Vorlage, indem man eine Person exportiert. Das durch den Export erhaltene CSV-File kann anschliessend angepasst und dann als Import-CSV verwendet werden.
Grundsätzlich muss das der Header des CSV-Files wie folgt aussehen:


Die Reihenfolge ist zwingend, wird eine Spalte verschoben, gelöscht, oder hinzugefügt ist der Import nicht mehr möglich.

Wird der Header (die oben angezeigten 4 Zeilen) nach unten verschoben, werden nur die Daten unterhalb des Headers importiert. Sollten sich Daten darüber befinden werden diese ignoriert.
date Ist editierbar und spielt derzeit keine Rolle.
language Ist ein Pflichtfeld und muss befüllt werden, Möglichkeiten "de", "fr", "en", "it". Die erfasste Sprache definiert in welcher Sprache die Merkmale (OE/Tätigkeit) im System gegengeprüft oder importiert werden.
encoding "ansi" Definiert die Zeichenkodierung (erlaubt die eindeutige Zuordnung von Schriftzeichen - darf nicht geändert werden)
person-id System-ID des Benutzer. Wird vom System automatisch vergeben und darf nicht angepasst werden. Wird beim aktualisieren einer Person als Identifikation verwendet.
status enabled = aktiviert
archived = archiviert
disabled = deaktiviert
name Pflichtfeld
prename Pflichtfeld
username Optionale Identifikation Pflichtfeld
password Neue Person:
  • Wird hier ein Passwort gesetzt kann sich der User damit einloggen.
  • Wird hier kein Passwort definiert (empfohlen) muss der Benutzer im Loginprozess ein neues Passwort erstellen mittels der "Passwort vergessen" Funktion.
Vorhandene Person aktualisieren:
  • Bei bestehenden Benutzern bleibt das bestehende PW in der DB unberührt, wenn das Feld in der Liste leer ist.
  • Passwörter können upgedatet werden, indem in die Excel-Liste ein neues PW eingetragen wird. Das alte PW wird überschrieben.
email Optionale Identifikation Es handelt sich um ein Pflichtfeld, es wird geprüft ob es sich beim Eintrag um eine Emailadresse handelt.
personal-id Optionale Identifikation Es gibt keine Mindestlänge
Maximallänge ist 255 Zeichen
Nicht zu verwechseln mit "person-id"
Muss nicht eindeutig sein
role Es gibt folgende Möglichkeiten, es handelt sich um ein Pflichtfeld
  • learner
  • default-subadministrator
  • administrator

Niedrige Rollen können keine höheren Rollen importieren oder ändern!
language Es handelt sich um ein Pflichtfeld. Vorhandene Sprachen (de, en, fr, it).
orgunit, jobdescription (orgunits/jobdescription) for Admin
  • OE/Tätigkeit können beim Import leer sein. (Vorsicht: nach leeren OE/Tätigkeiten kann nicht gesucht werden)
  • Ist eine OE/Tätigkeit in der Liste, aber noch nicht im System vorhanden, dann wird diese neu angelegt.
  • Ist eine neue OE/Tätigkeit in der Liste, im System ist jedoch eine andere hinterlegt, wird die alte entfernt und die neue hinzugefügt, die OE/Tätigkeit wird durch den Import ausgetauscht.
  • Möchte man eine zweite OE/Tätigkeit im System ergänzen muss auch die alte OE/Tätigkeit in der Liste vorhanden sein. Die Erfassung von mehreren muss mit dem Zeichen " | " getrennt werden.
  • Möchte man eine Pfad einer OE/Tätigkeit im System erfassen, muss dies mit dem Zeichen " / " erfolgen.
is_deletable Definiert ob die angelegte Person mit der Einstellung "löschbar ja/nein" erstellt wird.
  • 0 = Nein (Person ist nicht löschbar)
  • 1 = ja (Person ist löschbar)
change_password Definiert ob die angelegte Person mit der Einstellung "PW-ändern ja/nein" erstellt wird.
Es handelt sich um ein Pflichtfeld, und folgende Einstellungen sind möglich:
  • 0 = Nein (Person muss beim nächsten Login das PW nicht ändern)
  • 1 = ja (Person muss beim nächsten Login das PW ändern)
  • leer = keine Änderung

Bei einem Export sind die Felder in "change_password" leer.

Speicherung unter OSX

Speicherung von Listen unter OSX in Excel: "Windows Comma Separated" wählen.


System-Konfigurationen

Die Konfiguration für die Standardpasswortvergabe und die Identifzierungsmöglichkeiten werden vom Systemadmin unter: Default php im Parameter "person_import" vorgenommen.

Übersetzung von OE/Tätigkeit:

Vorhandene Person ändern:

Mit dieser ID wird die Person eindeutig identifiziert. Ist die ID bereits im System vorhanden, werden die vorhanden Personendaten mit den neuen Daten aus der Liste überschrieben.

Ist die ID noch nicht im System oder das Feld leer, kann die Person über drei weitere Felder identifiziert werden.

Identifizierungsmöglichkeiten werden in folgender Priorität geprüft:

  1. "person_id" (Definition siehe "SpezifikatioSV-Aufbau")
  2. "personal_id" (Definition siehe "SpezifikatioSV-Aufbau")
  3. "email" (Definition siehe "SpezifikatioSV-Aufbau")
  4. "username" (Definition siehe "SpezifikatioSV-Aufbau")

Ablauf Fehlerhandling:

Error Messages

if (error_msg === 'orgunits_not_accepted') {
                validatorData.headline = auxiliary.gt('Dateiüberprüfung fehlgeschlagen');
                validatorData.text = auxiliary.gt('Organisationseinheiten nicht akzeptiert!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'too_many_header_lines') {
                validatorData.headline = auxiliary.gt('Dateiüberprüfung fehlgeschlagen');
                validatorData.text = auxiliary.gt('Falsche Anzahl Zeilen im Tabellen-Header!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'header_fields_invalide') {
                validatorData.headline = auxiliary.gt('Dateiüberprüfung fehlgeschlagen');
                validatorData.text = auxiliary.gt('Ungültige Felder im Tabellen-Header!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'no_person_header_found') {
                validatorData.headline = auxiliary.gt('Dateiüberprüfung fehlgeschlagen');
                validatorData.text = auxiliary.gt('Bitte überprüfen Sie den Tabellen-Header!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'no_valide_person_found') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Keine gültigen Personen gefunden!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_status') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Fehlerhafter Personenstatus!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_username') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Fehlerhafter Benutzername!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_role') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Fehlerhafte Benutzerrolle');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_personal_id') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Fehlerhafte Personalnummer');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_language') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Fehlerhafte Benutzersprache');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'wrong_person_is_deletable') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Nicht erlaubte Einträge in "Ist löschbar"!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'duplicate_person_id') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Doppelte Personen-ID!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'empty_username') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Benutzername ist leer!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'duplicate_username') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Doppelter Benutzername!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'duplicate_personal_id') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Doppelte Personalnummer!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'jobdescriptions_not_accepted') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Nicht erlaubte Einträge in "Tätigkeiten"!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'orgunits_not_accepted') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Nicht erlaubte Einträge in "Organisationseinheiten"!');
                validatorResult.push(validatorData);
                validatorData = [];
            }
            if (error_msg === 'role_not_accepted') {
                validatorData.headline = auxiliary.gt('Fehler');
                validatorData.text = auxiliary.gt('Nicht erlaubte Einträge in "Benutzerrollen"!');
                validatorResult.push(validatorData);
                validatorData = [];
            }

Person - Optionen auf der Detailview

Wenn Sie eine Person aus der Personenverwaltung ausgewählt haben, können Sie sich im Bereich Übersicht einen schnellen Überblick über die richtigen Daten verschaffen, darunter: die Anzahl der zugewiesenen Kurse, die Anzahl der veröffentlichten Beiträge, die letzten Login-Daten und einen schnellen Überblick über den Status der Person, wie im folgenden Beispiel:

image.png

image.png

image.png

image.png


image.png

Im Bereich Persönliche Angaben können Sie die Details der Person sehen und bearbeiten, vom Namen bis hin zur Organisationseinheit/Tätigkeit, mit ein paar speziellen Optionen:

image.png

 Der Bereich Zertifikate zeigt eine Liste aller für diese Person erhaltenen oder importierten Zertifikate.

Unter Zugewiesene Kurse können Sie sich entweder eine Auflistung aller Kurse im Bereich Alle anzeigen, oder Sie können eine gefilterte Ansicht der Kurse nach Status in den Bereichen In Arbeit, Nicht gestartet, Abgeschlossen, Nicht bestanden, Abgelaufen oder Unbezahlt (gilt nur für kostenpflichtige Kurse) aufrufen.

Via dem Aktionen dropdown können in diesen Bereichen verschiedene Funktionen auf bestehende Kurszuweisungen ausgelöst werden:

image.png

 In der Detailansicht der Person können Sie ebenfalls Kurszuweisungen der Person löschen, neue Zuweisungen erstellen, aber auch für die Personen relevante Reports herunterladen:

image.png


Person löschen

Das Löschen von Personen löscht auch alle Personendaten und Lernfortschrittsinformationen. Wenn Sie die Daten behalten müssen, aber die Person nicht in allen Prozessen im Admin-Panel sehen möchten, können sie sich für die Archivierung der Person entscheiden.

Das Löschen einer Person funktioniert aus 2 Ansichten:

  1. Klicken Sie im Adminbereich > Personen auf die Schaltflächunktionen, wählen Sie Löschen, wählen Sie die gewünschte Person aus und klicken Sie aufs button Löschen. Sobald Sie im Popup-Fenster auK klicken, wird die Person aus dem System entfernt. 

    image.png

  2. Oder Sie können die Person suchen und auswählen, auf der Detailseit auf die Schaltfläche Funktionen klicken und Person löschen wählen. Mit dem Bestätigungsklick auf OK wird die Person aus dem System entfernt.

Rollen und Berechtigungen

Lernender Subadmin ohne verwaltbare Ressourcen Subadmin mit verwaltbaren Ressourcen Administrator/Systemadministrator
Zugriff auf Adminbereich Nicht gestattet Gestattet Gestattet Gestattet
Zugriff auf Adminbereich inklusive Gruppen Nicht gestattet Nicht gestattet Nicht gestattet Gestattet
Zugriff auf Personenimport Nicht gestattet Nicht gestattet Nicht gestattet Gestattet
Verwaltung von Kursen Nicht gestattet Nicht gestattet Nicht gestattet Gestattet
Zuweisung von Kursen Nicht gestattet Nicht gestattet Nur für verwaltbare Ressourcen Gestattet
Anlegen von Kursplänen Nicht gestattet Nicht gestattet Nur für verwaltbare Ressourcen Gestattet
Löschen von Kursplänen Nicht gestattet Nicht gestattet Nur für verwaltbare Ressourcen Gestattet
Verwaltung von Personen Nicht gestattet Nicht gestattet Nur für verwaltbare Ressourcen Gestattet
Verwalten von Organisationseinheiten und Tätigkeiten Nicht gestattet Nicht gestattet Nicht gestattet Gestattet
Verwalten von Schlagworten Nicht gestattet Gestattet Gestattet Gestattet

Status der Person (aktiviert, deaktiviert, archiviert)

Personen innerhalb des Swiss Learning Hub können 3 Status haben: aktiviert, deaktiviert, archiviert.

Aktiviert:

Deaktiviert:

Archiviert

So ändern Sie den Status einer Person

Es gibt 2 Möglichkeiten dies zu tun: 

  1. Entweder in der Personenverwaltung, Listenansicht: Wenn Sie auf die Schaltfläche Funktion klicken, haben Sie die Möglichkeit, eine oder mehrere Personen zu archivieren / aktivieren / deaktivieren. Wenn sie eine der Optionen wählen, können Sie die Person(en) auswählen, für die Sie die Änderung anwenden möchten, und dann die Massenaktion awenden.

  1. Oder in der Person Detailansicht, um den Status einer einzelne Person zu ändern:

Subadministrator: Verwaltbare Ressourcen zuweisen

Sobald eine Person die Rolle Subadministrator zugewiesen hat, kann der Administrator in der Personenverwaltung bei dieser Person sogenannte Verwaltbare Ressourcen definieren (vgl. Screenshot). Dadurch legt der Administrator fest, welche Personen bzw. welche Kurse der Subadministrator verwalten darf.

Personen

Die verwaltbaren Ressourcen Organisationseinheit (OE) und Tätigkeit *sind als Filter für die Personentabelle zu verstehen. D.h. ein Subadmin darf nur die Personen verwalten, bei denen die eingestellten Filter (Organisationseinheit, Tätigkeit) zutreffen. Wichtig hierbei ist, dass die beiden Filter als UND-Filter funktionieren.

Innerhalb seiner verwaltbaren Ressourcen kann der Subadmin Personen mit leichter- oder höheren Rolle sehen und somit auch verwalten, im Sinne von Kurse zuweisen, Reports erstellen usw; jedoch darf er nur Personen mit einer tieferen Rolle (Lernender) neu erstellen..

Kurse

Die verwaltbare Ressource Thema legt fest, welche Kurse ein subadmin verwalten darf. Durch die Festlegung eines Themas für einen Subadmin stellt der Administrator sicher, dass der Subadmin nur Kurse, die mit eben diesem Thema verknüpft sind verwalten darf.