UCS@school Benutzerimport - Best Practices

From Univention Wiki

Jump to: navigation, search
Produktlogo UCS Version 4.3
Produktlogo UCS@School Version 4.3

Ergänzend zu dem Dokument Szenarien zum Einsatz von UCS@school sowie dem technischen Handbuch zum UCS@school Benutzerimport soll dieser Artikel konzeptionelle und organisatorische Fragen sowie gängige Vorgehensweisen zum Benutzerimport in UCS@school beleuchten.

Allgemein

Dieser Artikel entstand zum Zeitpunkt von UCS 4.3 und UCS@school 4.3 v4 und bildet die derzeitigen Möglichkeiten ab.

Ziel des Artikels ist es, übliche Vorgehensweisen zum Benutzerimport als Best Practices zu etablieren. Betreibern einer UCS@school-Installation - insbesondere Multi-Server-Umgebungen auf Schulträgerebene - soll transparent vermittelt werden, welche Abläufe mitsamt den notwendigen Voraussetzungen für eine erfolgreiche Pflege der Benutzerkonten umgesetzt werden müssen.

Datenquelle als Basis für den Benutzerimport

Als Grundlage für den Benutzerimport dient eine externe Datenquelle. Dies ist in aller Regel eine Schulverwaltungssoftware oder für Lehrkräfte und Mitarbeiter_innen eine Personalsoftware, in der die notwendigen Daten bereits für andere Verfahren (Zeugnisvergabe, Klassenaufteilung, Stundenplanerstellung, Gehaltszahlungen ...) erfasst sind.

Diese Systeme werden genutzt, um einen Export in eine CSV-Datei zu erstellen, deren Inhalt dann wiederum von UCS@school in die eigene Datenhaltung (LDAP-Verzeichnisdienst) des IAM (Identity & Access Management) importiert wird.

Die so exportierten CSV-Dateien enthalten mindestens Angaben zum Vornamen, Nachnamen und einer eindeutigen ID, anhand der Personen auch bei Namensänderungen eineindeutig zugeordnet werden können.

UCSschool Benutzerimport 01.png

Schulübergreifende Datenquelle

Im Idealfall existiert eine schulübergreifende Datenquelle, also bspw. eine Datenbank für alle Lehrkräfte und Schüler_innen (vgl. SaxSVS, LUSD, Schülerverzeichnis in Bremen etc.), aus der eine CSV-Datei exportiert werden kann.

Hinweis: Die Verwendung einer schulübergreifenden Datenquelle erlaubt auch die Verwendung von schulübergreifenden Benutzerkonten. Personen, die bspw. an zwei Schulen arbeiten müssen, erhalten ein Benutzerkonto, das an beiden Schulen gültig ist.

Als Beispiel für eine solche CSV-Datei:

  • alle.csv ← enthält alle Schüler_innen, Lehrkräfte, Mitarbeiter_innen aller angeschlossenen Schulen.

Eine solche Datei muss dann mindestens folgende Informationen enthalten:

Vorname Nachname Eindeutige ID Rolle Schule(n) Klassen(n)
Beispiel Lehrkraft: Mary Somverville 42422323 teacher schule1,schule2 schule1-1A,schule2-2B
Beispiel Schüler_in: Ada Lovelace 23429913 student schule1 schule1-1A
Beispiel Mitarbeiter_in: Benny Buxbaum 13141516 staff schule2

Inhalt einer Beispiel-CSV-Datei:

"Vorname","Nachname","EindeutigeID","Rolle","Schulen","Klassen"
"Mary","Somerville","42422323","teacher","schule1,schule2","schule1-1A,schule2-2B"
"Ada","Lovelace","23429913","student","schule1","schule1-1A"
"Benny","Buxbaum","13141516","staff","schule2",""
[...]

Alternativ kann auch eine CSV-Datei pro Rolle exportiert werden (bspw. bei getrennter Datenhaltung von Lehrkräften und Schüler_innen). In diesem Fall entfällt die Angabe der Rolle in der CSV-Datei und wird stattdessen beim Import als Parameter übergeben. Als Beispiel:

  • schueler_innen.csv 🡐 enthält alle Schüler_innen aller angeschlossenen Schulen
  • lehrkraefte.csv 🡐 enthält alle Lehrkräfte aller angeschlossenen Schulen
  • mitarbeiter_innen.csv 🡐 enthält alle Mitarbeiter_innen aller angeschlossenen Schulen

Nachdem die CSV-Datei(en) erstellt wurde(n), müssen folgende weitere Schritte umgesetzt werden:

  • Initial muss einmalig eine passende Konfigurationsdatei für den UCS@school Benutzerimport erstellt worden sein (vgl. technisches Handbuch zum UCS@school Benutzerimport). Dort wird bspw. hinterlegt, nach welchem Schema die Benutzernamen erstellt, ob E-Mail-Adressen generiert werden und wie die Zuordnung von Spaltennamen zu IAM-Attributen aussieht.
  • Transfer der CSV-Datei(en) auf das IAM-System (UCS Master): Hierbei kann UCS via ssh/scp, rsync, sftp oder smb angesprochen werden, um den Kopiervorgang der Datei vorzunehmen. Im Idealfall wird dieser Schritt automatisiert und findet ohne manuelle Eingriffe eines Administrators statt.
  • Start des UCS@school Benutzerimports auf der Kommandozeile des UCS Masters unter Einbeziehung der o.g. Konfigurationsdatei und der CSV-Datei. Im Idealfall wird dieser Schritt automatisiert (Cron) und findet ohne manuelle Eingriffe eines Administrators statt.
  • Abrufen der Ergebnisliste (durch den Benutzerimport generierte CSV-Datei auf dem UCS Master mit erzeugten Benutzerkonten inkl. Benutzernamen und Kennwörter) und Austeilen dieser Informationen an die Schulen

Schulspezifische Datenquellen

Existiert keine schulübergreifende Datenquelle, muss auf schulspezifische Datenquellen zurückgegriffen werden, bspw. das Schulverwaltungsprogramm der einzelnen Schulen. Dabei wird dann pro Schule und Rolle eine CSV-Datei von der jeweiligen Schule exportiert.

Hinweis: In diesem Fall ist die Verwendung von schulübergreifenden Benutzerkonten nicht möglich. Personen, die bspw. an zwei Schulen arbeiten müssen, erhalten auch zwei getrennte Benutzerkonten.

Als Beispiel für solche CSV-Dateien:

  • schule1-schueler_innen.csv 🡐 enthält alle Schüler_innen der Schule 1
  • schule1-lehrkraefte.csv 🡐 enthält alle Lehrkräfte der Schule 1
  • schule1-mitarbeiter_innen.csv 🡐 enthält alle Mitarbeiter_innen der Schule 1
  • schule2-schueler_innen.csv 🡐 enthält alle Schüler_innen der Schule 2
  • schule2-lehrkraefte.csv 🡐 enthält alle Lehrkräfte der Schule 2
  • schule2-mitarbeiter_innen.csv 🡐 enthält alle Mitarbeiter_innen der Schule 2
  • [...]


Eine solche Datei muss dann mindestens folgende Informationen enthalten:

Vorname Nachname Eindeutige ID Klassen(n)
Beispiel Lehrkraft: Mary Somverville 42422323 schule1-1A,schule1-1B
Beispiel Schüler_in: Ada Lovelace 23429913 schule1-1A
Beispiel Mitarbeiter_in: Benny Buxbaum 13141516

Inhalt einer Beispiel-CSV-Datei für Lehrkräfte:

"Vorname","Nachname","EindeutigeID","Klassen"
"Mary","Somerville","42422323","schule1-1A,schule1-1B"
[...]

Inhalt einer Beispiel-CSV-Datei für Schüler_innen:

"Vorname","Nachname","EindeutigeID","Klassen"
"Ada","Lovelace","23429913","schule1-1A"
[...]

Inhalt einer Beispiel-CSV-Datei für Mitarbeiter_innen:

"Vorname","Nachname","EindeutigeID"
"Benny","Buxbaum","13141516"
[...]

Die Angaben zu Rolle und Schule in der CSV-Datei entfallen und werden stattdessen beim Import übergeben. Die eindeutigen IDs müssen in diesem Fall nur im Rahmen der jeweiligen schulspezifischen Datenquelle eindeutig sein.

Nachdem die CSV-Datei(en) erstellt wurde(n), müssen folgende weitere Schritte umgesetzt werden:

  • Initial muss einmalig eine passende Konfigurationsdatei für den UCS@school Benutzerimport erstellt worden sein (vgl. technisches Handbuch zum UCS@school Benutzerimport). Dort wird bspw. hinterlegt, nach welchem Schema die Benutzernamen erstellt, ob E-Mail-Adressen generiert werden und wie die Zuordnung von Spaltennamen zu IAM-Attributen aussieht. Dabei kann auch pro Schule eine abweichende Konfigurationsdatei hinterlegt werden (bspw. wenn sich die Spaltennamen auf Grund von unterschiedlichen Schulverwaltungsprogrammen unterscheiden).
  • Nun bestehen zwei Möglichkeiten: Import auf der Kommandozeile oder Import über das grafische Interface (UMC Modul "UCS@school Benutzerimport"). Der Import auf der Kommandozeile erfolgt durch den Betreiber bzw. einen Administrator. Der Import über das grafische Interface kann pro Schule delegiert werden, bspw. an Mitarbeiter_innen der jeweiligen Schule.
    • Import auf der Kommandozeile - folgende Schritte müssen umgesetzt werden:
      • Transfer der CSV-Datei(en) auf das IAM-System (UCS Master): Hierbei kann UCS via ssh/scp, rsync, sftp oder smb angesprochen werden, um den Kopiervorgang der Datei vorzunehmen. Im Regelfall muss aber der Betreiber einen sicheren Kommunikationskanal (verschlüsselte E-Mail, Upload ...) bereitstellen, damit die Schulen ihre CSV-Dateien dem Betreiber übermitteln können.
      • Start des UCS@school Benutzerimports auf der Kommandozeile des UCS Masters durch den Betreiber unter Einbeziehung der o.g. Konfigurationsdatei(en) und der jeweiligen CSV-Datei. Im Idealfall wird dieser Schritt automatisiert (Cron) und findet ohne manuelle Eingriffe eines Administrators statt.
      • Abrufen der Ergebnisliste (durch den Benutzerimport generierte CSV-Datei auf dem UCS Master mit erzeugten Benutzerkonten inkl. Benutzernamen und Kennwörter) und Austeilen dieser Informationen an die Schulen
    • Import über das grafische Interface - folgende Schritte müssen umgesetzt werden:
      • Initial Installation des zugehörigen UMC-Moduls: ucs-school-import-http-api
      • Initial Hinzufügen der berechtigten Benutzerkonten zur Gruppe $SCHULE-import-all.
      • Pro Schule lädt eine so berechtigte Person die CSV-Dateien nacheinander über das Webinterface hoch und startet selbstständig den Import.
      • Als Ergebnis kann eine Ergebnisliste (durch den Benutzerimport generierte CSV-Datei mit erzeugten Benutzerkonten inkl. Benutzernamen und Kennwörter) von der berechtigten Person heruntergeladen und in der Schule verteilt werden.

Weitere Hinweise

  • Die oben genannten Verfahren können bei Bedarf auch gemischt werden. Bspw. können Lehrkräfte zentral aus einer schulübergreifenden Datenquelle importiert werden, während die Schüler_innen auf Basis von schulspezifischen Datenquellen durch Personal an den Schulen eingepflegt werden.
  • Existiert keine Datenquelle bzw. keine Datenquelle, die eindeutige IDs bereitstellen kann, ist die Verwendung des UCS@school Benutzerimports dennoch denkbar. Allerdings muss die eindeutige Zuordnung von Personen zu einem Benutzernamen/Benutzerkonto dann außerhalb von UCS@school erfolgen. Das ist in aller Regel ein nicht zu unterschätzender Aufwand und zudem fehleranfällig.
Personal tools