Import aus Untis
Untis ist eine Stundenplan-Software. Enbrea kann Daten aus dem Untis-XML-Exportformat sowie aus dem Untis-DIF-Format (GPU012.TXT, GPU013.TXT und GPU014.TXT) einlesen. Diese Dateien müssen zunächst aus Untis heraus exportiert werden. Dies kann in Untis per Kommandozeile automatisiert werden.
Wie funktioniert der Import?¶
Der Workflow besteht grob aus drei Schritten:
-
Enbrea Cli exportiert Untis-Daten durch Nutzung von Untis auf Kommandozeilenebene. Es werden die folgenden Exportdateien generiert:
untis.xml
: XML-Datei mit Stammdaten und StundenplaninformationenGPU012.TXT
: CSV-Datei mit AbsenzgründenGPU013.TXT
: CSV-Datei mit AbsenzenGPU014.TXT
: CSV-Datei mit Vertretungsinformationen
-
Enbrea Cli liest die Untis-Exportdateien und generiert ECF-Dateien.
-
Enbrea Cli importiert die generierten ECF-Dateien nach Enbrea. Sollten sich im Vergleich mit dem letzten Import keine Änderungen ergeben haben, wird kein Import durchgeführt.
Initialisierung¶
-
Falls noch nicht geschehen, bitte einen Zeitraum in Enbrea anlegen und auf Ihrem lokalen Computer Enbrea Cli installieren.
-
Im Windows-Explorer ein neues Verzeichnis
c:\enbrea
anlegen (das Verzeichnis kann natürlich auch anders heißen). -
Im Suchfeld der Windows-Taskleiste
Eingabeaufforderung
eintippen und die Windows-Eingabeaufforderung öffnen. -
Mit Befehl
cd
in das soeben angelegte Verzeichnis wechseln: -
Nun folgenden Befehl eintippen:
Es wird jetzt eine JSON-formatierte Konfigurationsdatei
enbrea.json
angelegt, die als Vorlage für die weitere Konfiguration dient.
Konfiguration¶
Die gesamte Konfiguration des Imports befindet sich in der soeben angelegten Textdatei enbrea.json
. Diese Datei in einem Texteditor öffnen und die gewünschten Eigenschaften überschreiben.
Die folgenden Eigenschaften müssen angepasst werden. Sie konfigurieren den individuellen Zugang zu Enbrea:
Allgemeine Konfiguration
Url
-
URL zu Ihrer Enbrea-Instanz
AccessToken
-
Enbrea-Zugriffstoken
SchoolTerm
-
Kürzel des Enbrea-Zeitraums, in den importiert werden soll.
Die folgenden Eigenschaften müssen beim Abgleich mit einer lokalen Untis-Datei überschrieben werden:
Untis mit lokaler Datei
Untis.DataProvider
-
Wert =
File
Untis.DataFile
-
Vollständiger Dateiname der Untis-Datei
Die folgenden Eigenschaften müssen beim Abgleich mit Untis-MultiUser auf alle Fälle überschrieben werden:
MultiUser-Untis
Untis.DataProvider
-
Wert =
Server
Untis.ServerSchoolNo
-
Offizielle Schulnummer der eigenen Schule
Untis.ServerSchoolYear
-
Das Untis-Schuljahr, aus dem Exportiert werden soll.
Untis.ServerUserName
-
Ein Untis-Benutzername.
Untis.ServerPassword
-
Ein Untis-Benutzerkennwort.
Alle andere Eigenschaften sind schon vorkonfiguriert, können aber natürlich jederzeit überschrieben werden.
Bitte beachten
Der Backslash (= umgedrehter Schrägstrich) in Dateipfaden muss in einer JSON-Datei stets gedoppelt werden, also \\ statt \.
Beispiel für lokale Untis-Datei¶
Das Ergebnis für den Abgleich mit einer lokalen Untis-Datei könnte wie folgt aussehen:
{
"Url": "https://enbrea.cloud/meine-schule",
"AccessToken": "9067eff1-6817-4e59-855c-9ace4e51f139",
"SchoolTerm": "1. HJ 20223/2004",
...
"Untis": {
"DataProvider": "File",
"DataFile": ".\\untis\\example.gpn",
"ExportFolder": ".\\untis\\export\\gpu",
"ExportQuote": "\"",
"ExportSeparator": ",",
"ExportFilesAsUtf8": false,
"TargetFolder": ".\\untis\\export"
}
}
Beispiel für Untis-Multiuser¶
Das Ergebnis für den Abgleich mit Untis-MultiUser, könnte wie folgt aussehen:
{
"Url": "https://enbrea.cloud/meine-schule",
"AccessToken": "9067eff1-6817-4e59-855c-9ace4e51f139",
"SchoolTerm": "1. HJ 20223/2004",
...
"Untis": {
"DataProvider": "Server",
"ServerSchoolNo": "12345",
"ServerSchoolYear": "2023-2024",
"ServerUserName": "admin",
"ServerPassword": "qwertz",
"ExportFolder": ".\\untis\\export\\gpu",
"ExportQuote": "\"",
"ExportSeparator": ",",
"ExportFilesAsUtf8": false,
"TargetFolder": ".\\untis\\export"
}
}
Testen¶
-
Im Suchfeld der Windows-Taskleiste
Eingabeaufforderung
eintippen und die Windows-Eingabeaufforderung öffnen. -
Mit folgendem Befehl in unser Enbrea-Verzeichnis wechseln:
-
Folgenden Befehl eintippen und bestätigen:
Die Daten aus Untis werden ins ECF-Format übersetzt und anschließend nach Enbrea übertragen.
Bitte beachten
Der Export im Untis - Multiuserbetrieb funkioniert nur wenn auf dem Rechner auf dem das PowerShell Skript ausgeführt wird, keine Anmeldung an der Untis-Datenbank erfolgt ist.
Automation¶
Die Synchronisation zwischen Untis und Enbrea kann natürlich automatisiert werden. Am einfachsten geht dies mit dem Enbrea Cli-Befehl create-import-task
.
Ein Beispiel:
-
Im Suchfeld der Windows-Taskleiste
Eingabeaufforderung
eintippen und die Windows-Eingabeaufforderung als Administrator öffnen. -
Mit folgendem Befehl in unser Enbrea-Verzeichnis wechseln:
-
Folgenden Befehl eintippen und bestätigen:
Mit diesem Aufruf wird der in enbrea.json
konfigurierte Untis-Import nach Enbrea alle 15 Minuten ausgeführt.
Eine ausführliche Beschreibung der Möglichkeiten rund um das Thema Automation findet sich im Kapitel Automation.
Tipps & Tricks¶
Manueller Export aus Untis¶
Voraussetzung für den Abgleich mit Untis ist der Export der GPU-Dateien und der XML-Datei aus Untis heraus. Enbrea Cli macht dies standardmäßig vollautomatisch und doch kann es Situationen geben, wo dieser Schritt manuell durchgeführt werden soll.
In diesem Fall würde man den Parameter DataProvider
in der JSON-Konfigurationsdatei auf ManualExport
setzen und den Export aus Untis selbst starten. Untis bietet dafür zwei Möglichkeiten an: Interaktiv oder per Kommandozeile.
Eine ausführliche Beschreibung beider Wege findet sich im GitHub-Wiki zu PSUntis, einem Open-Source PowerShell-Modul, mit dem die benötigten Exportdateien aus Untis mit einem einzigen Befehl erzeugt werden können.