Zum Inhalt

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:

  1. ENBREA CLI exportiert Untis-Daten durch Nutzung von Untis auf Kommandozeilenebene. Es werden die folgenden Exportdateien generiert:

    • untis.xml: XML-Datei mit Stammdaten und Stundenplaninformationen
    • GPU012.TXT: CSV-Datei mit Absenzgründen
    • GPU013.TXT: CSV-Datei mit Absenzen
    • GPU014.TXT: CSV-Datei mit Vertretungsinformationen
  2. ENBREA CLI liest die Untis-Exportdateien und generiert ECF-Dateien.

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

  1. Falls noch nicht geschehen, bitte einen Zeitraum in ENBREA anlegen und auf Ihrem lokalen Computer ENBREA CLI installieren.

  2. Im Windows-Explorer ein neues Verzeichnis c:\enbrea anlegen (das Verzeichnis kann natürlich auch anders heißen).

  3. Im Suchfeld der Windows-Taskleiste Eingabeaufforderung eintippen und die Windows-Eingabeaufforderung öffnen.

  4. Mit Befehl cd in das soeben angelegte Verzeichnis wechseln:

    cd c:\enbrea
    
  5. Nun folgenden Befehl eintippen:

    enbrea init -c enbrea.json
    

    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

  1. Im Suchfeld der Windows-Taskleiste Eingabeaufforderung eintippen und die Windows-Eingabeaufforderung öffnen.

  2. Mit folgendem Befehl in unser ENBREA-Verzeichnis wechseln:

    cd c:\enbrea
    
  3. Folgenden Befehl eintippen und bestätigen:

    enbrea import -p untis -c enbrea.json
    

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:

  1. Im Suchfeld der Windows-Taskleiste Eingabeaufforderung eintippen und die Windows-Eingabeaufforderung als Administrator öffnen.

  2. Mit folgendem Befehl in unser ENBREA-Verzeichnis wechseln:

    cd c:\enbrea
    
  3. Folgenden Befehl eintippen und bestätigen:

    enbrea create-import-task -p untis -c enbrea.json -i 15
    

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.