7. LUSD Import#

Dieses Kapitel richtet sich an Administratoren, die Benutzerdaten aus der zentralen Datenbank für Lehrer und Schüler des hessischen Kultusministeriums importieren wollen.

UCS@school beinhaltet optionale Komponenten für die Importsoftware, mit der sich ein automatischer und periodischer Import von Benutzerdaten aus LUSD nach UCS@school einrichten lässt.

Siehe auch

LUSD - Lehrer- und Schülerdatenbank | Digitale Schule Hessen

für Informationen zur Lehrer- und Schülerdatenbank in Hessen.

7.1. Installation#

Die Komponenten für den LUSD Import werden über das Paket ucs-school-import-lusd auf einem UCS Primary oder Backup Directory Node installiert.

Auf der Kommandozeile installieren Sie das Paket mit dem folgenden Befehl:

$ univention-install ucs-school-import-lusd
$ mkdir -p /var/lib/ucs-school-import-lusd/

Um Daten aus LUSD abrufen zu können, muss sich das System beim hessischen Kultusministerium authentifizieren. Dazu ist ein privater Schlüssel erforderlich, den Sie als Datei /var/lib/ucs-school-import-lusd/auth_key im UCS-System ablegen müssen.

Wichtig

Um den privaten Schlüssel zu erhalten, wenden Sie sich bitte an Ihre Kontaktperson bei Univention.

Sie müssen den Schlüssel manuell auf das UCS@school System kopieren. Stellen Sie außerdem mit folgendem Befehl sicher, dass die Datei nur von dem Benutzer root ausgelesen werden kann.

$ chown root:root /var/lib/ucs-school-import-lusd/auth_key
$ chmod 600 /var/lib/ucs-school-import-lusd/auth_key

7.2. Verwendung#

Das Paket ucs-school-import-lusd erstellt während der Installation einen Cron Job, der den LUSD Import täglich ausführt. Der Name des Jobs lautet LUSD_import. Der Cron Job wird dabei durch UCR Variablen konfiguriert, wie im UCS Handbuch beschrieben.

Für den Cron Job wählt das Paket ucs-school-import-lusd einen zufälligen Zeitpunkt innerhalb des Betriebszeitraumes der LUSD Schnittstelle. Die LUSD Schnittstelle stellt ihre Daten nur während des Betriebszeitraum von 06:00 bis 22:00 Mitteleuropäische Zeit zur Verfügung.

Warnung

Der Cron Job lässt sich beliebig anpassen und auf eine andere Zeit verlegen. Beachten Sie dabei, dass die LUSD Schnittstelle nur während des Betriebszeitraums zur Verfügung steht.

Der Cron Job führ das Skript /usr/share/ucs-school-import-lusd/scripts/lusd_import aus. Als Administrator können Sie das Skript auch manuell starten, um einen LUSD Import durchzuführen:

$ /usr/share/ucs-school-import-lusd/scripts/lusd_import

Dabei lädt das Skript die Daten für alle konfigurierten Schulen herunter und importiert diese über die UCS@school Importsoftware. Die Parameter, die das Skript akzeptiert, erläutert der Abschnitt Kommandozeilenparameter.

Der Abschnitt Konfiguration erläutert die Konfiguration von Schulen für den LUSD Import.

Der LUSD Import verwendet zwar ein eigenes Skript, um die benötigten Daten vor dem Import herunterzuladen, ist aber ansonsten ein ganz normaler SiSoPi UCS@school Import. LUSD Import verwendet daher alle Hooks, die für den Import konfiguriert worden sind.

Bemerkung

Die LUSD Datenbank verlangt nicht, dass sich Schüler in einer Schulklasse befinden müssen. Da dies allerdings im Datenmodell von UCS@school vorgesehen ist, werden alle Schüler ohne Schulklasse automatisch in eine Klasse mit dem Namen lusd_noclass eingetragen.

Es gilt allerdings zu beachten, dass der LUSD Import spezielle Konfigurationsdateien verwendet. Diese befinden sich im Ordner /usr/share/ucs-school-import-lusd/import-config/. Sollten die dort hinterlegten Einstellungen nicht den Anforderungen Ihrer Umgebung entsprechen, können neue Konfigurationen von diesen abgeleitet werden. Im Abschnitt Konfiguration ist beschrieben, wie sich andere Konfigurationsdateien für den LUSD Import nutzen lassen.

7.2.1. Logging#

Die Logs für den LUSD Import befinden sich in der Datei /var/log/univention/ucs-school-import-lusd.log. Diese Datei enthält die Log Einträge des Kommandozeilenprogramms lusd_import.

Da es sich letztlich um einen normalen UCS@school Import handelt, findet man zusätzliche Informationen in den UCS@school Import Logs.

Wenn Sie als Administrator das Log Level auf DEBUG setzen, fügt das LUSD Kommandozeilenprogramm zusätzlich das gesamte Log des UCS@school Import Prozesses der Log Datei des LUSD Kommandozeilenprogramms hinzu.

7.3. Konfiguration#

Der LUSD Import wird über UCR konfiguriert. Folgende Variablen sind verfügbar:

ucsschool/import/lusd/log_level#

Bestimmt das Log Level für die Log Einträge, die dieser Import generiert. Erlaubte Werte sind: DEBUG, INFO, WARNING, ERROR und CRITICAL mit dem Standardwert INFO.

ucsschool/import/lusd/student_import_config_path#

Bestimmt den Dateipfad zu der Konfigurationsdatei für den Import von Schülern. Dabei handelt es sich um eine normale Konfigurationsdatei des Imports, wie sie im Abschnitt Konfiguration beschrieben ist. Der Standardwert ist /usr/share/ucs-school-import-lusd/import-config/user_import_lusd_student.json. Überschreiben Sie diese Einstellung nur, wenn der Import von Schülerkonten eine von der Standardkonfiguration abweichende Konfiguration verwenden soll.

ucsschool/import/lusd/teacher_import_config_path#

Bestimmt den Dateipfad zu der Konfigurationsdatei für den Import von Lehrkräften. Dabei handelt es sich um eine normale Konfigurationsdatei des Imports, wie sie im Abschnitt Konfiguration beschrieben ist. Der Standardwert ist /usr/share/ucs-school-import-lusd/import-config/user_import_lusd_teacher.json. Überschreiben Sie diese Einstellung nur, wenn der Import von Lehrerkonten eine von der Standardkonfiguration abweichende Konfiguration verwenden soll.

ucsschool/import/lusd/schools/.*#

Damit die Daten einer Schule importiert werden können, müssen Sie als Administrator diese erst für den LUSD Import konfigurieren. Da die Möglichkeit besteht, dass Schulen in der zentralen Datenbank für Lehrer und Schüler des hessischen Kultusministeriums eine andere Bezeichnung haben als in UCS@school, müssen Sie die Beziehung zwischen Schulen in UCS@school und dem LUSD explizit herstellen.

Dafür müssen Sie für jede Schule, für die der LUSD Import Daten importieren soll, eine UCR Variable in der Form ucsschool/import/lusd/schools/SCHULKUERZEL=DIENSTSTELLENNUMMER_IN_LUSD erstellen.

7.3.1. Kommandozeilenparameter#

Neben den UCR Variablen bietet das Skript /usr/share/ucs-school-import-lusd/scripts/lusd_import noch einige Optionen, die Sie beim direkten Aufruf einstellen können.

dry_run#

Diese Einstellung wird direkt an die UCS@school Importsoftware weitergegeben und bestimmt, ob ein dry-run ausgeführt werden soll oder nicht. Mehr Informationen zum dry-run entnehmen Sie dem Abschnitt Konfiguration entnehmen. Erlaubte Werte sind: true und false mit dem Standardwert false.

skip_fetch#

Diese Einstellung dient Software-Entwicklern zum Testen der LUSD Import Software. Erlaubte Werte sind true und false. Der Standardwert ist false. Bei dem Wert true ruft der LUSD Import keine Daten ab, sondern arbeitet mit den bereits vorhandenen Daten. Belassen oder setzen Sie den Wert im allgemeinen Betrieb auf false.

log_level#

Bestimmt das Log Level für die Log Einträge, die dieser Import generiert. Erlaubte Werte sind: DEBUG, INFO, WARNING, ERROR und CRITICAL mit dem Standardwert INFO.

7.4. Fehlerbehandlung#

Falls es bei dem LUSD Import zu Problemen kommt, finden Sie in diesem Abschnitt einige Möglichkeiten, mit denen Sie eventuell ein Problem selbst lösen können.

Wichtig

Konsultieren Sie immer zuerst die Log Datei, um potentielle Probleme zu identifizieren. Die Datei mit den Log-Einträgen lautet /var/log/univention/ucs-school-import-lusd.log.