Zum Inhalt

Automation

Vorüberlegungen

Bei einer Automation des Enbrea-Imports oder des Enbrea-Exports ist eine entscheidende Frage stets, wie oft der Datenabgleich durchgeführt werden soll. Ein zu kurzes Abgleichintervall belastet den Enbrea-Server unnötig, ein zu langes Abgleichintervall kann die Arbeit mit Enbrea temporär blockieren, da neue Daten nicht rechtzeitig in Enbrea bzw. in der externen Fachanwendung vorhanden sind.

Leider ist es so, dass insbesondere ein Import von Daten nach Enbrea eine gewisse Zeit dauern kann, insbesondere wenn Stundenplan- und Vertretungsplandaten involviert sind. Die gute Nachricht dabei ist jedoch, dass dies in der Regel nur für den Erstimport gilt. Enbrea CLI erkennt automatisch, welche Daten sich im Vergleich zum vorherigen Import verändert haben. In diesem Fall werden nur die geänderten Daten nach Enbrea übertragen und das ist in der Regel nur ein Bruchteil des Erstimports. In den meisten Fällen muss gar nichts übertragen werden, da sich nichts geändert hat.

Mit diesm Wissen lässt sich für den Import folgende Strategie ableiten:

  1. Der Erstimport sollte in der Regel immer manuell ausgeführt werden. Damit kann direkt überprüft werden, ob der Datenabgleich generell funktioniert oder nicht.

  2. Nachfolgende Importe können mit einem kurzen Abgleichintervall von z.B. 5 Minuten automatisiert werden, da ab jetzt nur noch Änderungen übertragen werden.

Exporte aus Enbrea dauern in der Regel nicht so lange, da in diesem Fall auf Serverseite keine Mutationen (also Datenänderungen) durchgeführt werden müssen. Zudem ist der Bedarf nach Exporten im Allgemeinen (zur Zeit wird nur der Export nach Magellan und DaVinci unterstützt) wie auch kurze Abgleichintervalle im Speziellen nicht so ausgeprägt. Ein Exportintervall von z.B. 1 Stunde reicht in den meisten Fällen aus.

Windows-Aufgabenplanung

Eine vollständige Automatisierung gelingt am besten über die Windows-Aufgabenplanung. Die Aufgabenplanung ist Bestandteil von Windows und ermöglicht das Starten von Anwendungen einmalig oder wiederkehrend zu festgelegten Zeitpunkten.

Verplanung mit Enbrea CLI

Enbrea CLI stellt einen Satz an Befehlen zur Verfügung, mit denen ganz leicht das Starten von Import- und/oder Export-Workflows per Windows-Aufgabenplanung automatisiert werden kann. Eine vollständige Übersicht aller Befehle können Sie im Wiki zur Enbrea CLI nachlesen.

Aufgaben erzeugen

Neue Aufgaben können durch die Befehle create-import-task und create-export-task erstellt werden.

Wichtig!

Bitte beachten Sie, dass die Befehle create-import-task (oder create-export-task) erst einmal inaktiv erzeugt werden und gezielt aktiviert werden müssen durch den Befehl enable-import-task (oder enable-export-task).

Beispiel 1

Einen DaVinci-Import nach Enbrea alle 15 Minuten:

enbrea create-import-task -p davinci -c enbrea.json -i 15
Beispiel 2

Einen Magellan-Import nach Enbrea alle 30 Minuten:

enbrea create-import-task -p magellan -c enbrea.json -i 30
Beispiel 3

Einen Enbrea-Export nach Magellan alle 2 Stunden:

enbrea create-export-task -p magellan -c enbrea.json -i 120

Aufgabe aktivieren für Import

Der Befehl enable-import-task aktiviert die Aufgabe in der Windows-Aufgabenplanung zum Importieren von Daten aus einer externen Fachanwendung nach Enbrea.

Beispiel 1 Import

Aktiviert die Aufgabe in der Windows-Aufgabenplanung, welche Daten von DAVINCI nach Enbrea importiert.

enbrea enable-import-task --provider davinci
oder
enbrea enable-import-task --provider magellan

Beispiel 2 Import

Die Kurzform von Beispiel 1 (--provider oder -p).

enbrea enable-import-task -p davinci
oder
enbrea enable-import-task -p magellan

Folgende Parameter sind statt dem im Beispiel verwendeten Parameter davinci möglich:

  • davinci
  • magellan
  • untis
  • edoosys
  • schildnrw
  • bbsplanung
  • danis
  • excel

Aufgabe aktivieren für Export

Der Befehl enable-export-task aktiviert die Aufgabe in der Windows-Aufgabenplanung zum Exportieren von Daten in eine externe Fachanwendung aus Enbrea.

Beispiel 1 Export

Aktiviert die Aufgabe in der Windows-Aufgabenplanung, welche Daten von Enbrea nach Magellan importiert.

enbrea enable-export-task --provider Magellan
Beispiel 2 Export

Die Kurzform von Beispiel 1 (--provider oder -p).

enbrea enable-export-task -p Magellan

Aufgaben löschen

Bestehende Aufgaben können durch die Befehle delete-import-task, delete-export-task und delete-tasks wieder gelöscht werden.

Beispiel 1

Einen DaVinci-Import nach Enbrea nicht mehr automatisieren:

enbrea delete-import-task -p davinci
Beispiel 2

Einen Enbrea-Export nach Magellan nicht mehr automatisieren:

enbrea delete-export-task -p magellan
Beispiel 3

Alle Enbrea-Importe und/oder -Exporte aus der Windows-Aufgabenplanung löschen:

enbrea delete-tasks

Manuelle Verplanung

Das Konfigurieren der Windows-Aufgabenplanung via Enbrea CLI erlaubt zur Zeit nur die zeitliche Planung in minutenbasierten Intervallen. Wer hier andere Vorgaben machen möchte, kann dies jederzeit direkt in der Windows-Aufgabenplanung machen.

Ein Beispiel

Der Abgleich zwischen DaVinci und Enbrea soll täglich um 21:00 gestartet werden.

Los geht's:

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

    Windows-Aufgabenplanung

  2. In der Windows-Aufgabenplanung in der rechten Aktionsleiste auf Einfache Aufgabe erstellen klicken.

    Einfache Aufgabe erstellen

  3. In dem nun geöffneten Assistenten einen Namen für die neue Aufgabe eingeben und optional eine Beschreibung. Anschließend auf Weiter klicken.

    Name und Beschreibung

  4. Auf der nächsten Ansicht musst definiert werden, wie oft der Abgleich ausgeführt werden soll. Die Auswahl bleibt bei Täglich, bitte auf Weiter klicken.

    Aufgabentrigger

  5. Auf der nächsten Ansicht musst definiert werden, wann genau am Tag der Abgleich ausgeführt werden soll. Hier bitte die gewünschte Uhrzeit eintippen, in unserem Beispiel also 21:00. Anschließend auf Weiter klicken.

    Tägliche Wiederholung

  6. Auf der nächsten Ansicht musst definiert werden, was denn nun geschehen soll. Die Auswahl bei Programm starten belassen und auf Weiter klicken.

    Aktion

  7. Jetzt musst definiert werden, welches Programm gestartet werden soll. Es soll Enbrea CLI gestartet werden. Dazu müssen in die drei Felder folgende Angaben eingetippt werden:

    Programm/Skript

    Tippe hier enbrea.exe ein

    Argumente hinzufügen

    Tippe hier import -p davinci -c enbrea.json -l ".\davinci\export\log" ein. Der letzte Parameter -l besagt, dass die Ausgabe in eine Textdatei zur späteren Kontrolle geloggt werden soll.

    Starten in (optional)

    Tippe hier c:\enbrea (Beispiel) ein, also das Verzeichnis, in dem sich die Datei enbrea.json befindet.

    Das Ganze sieht dann so aus. Anschließend auf Weiter klicken.

    Programm starten

  8. Jetzt wird alles noch einmal zusammengefasst. Das sieht gut aus. Wird sind aber noch nicht ganz fertig. Daher bitte die Option Beim Klicken auf "Fertig stellen", die Eigenschaften für diese Aufgabe öffnen auswählen und erst dann auf Fertig stellen klicken.

    Zusammenfassung

  9. Die Aufgabe wird erstellt und gleich danach öffnet sich das Eigenschaftsfenster der Aufgabe.

    Eigenschaften

    Standardmäßig wird die Aufgabe nur dann ausgeführt, wenn Sie an Ihrem Computer aktiv angemeldet sind. Das ist aber nicht immer erwünscht. Möchte man die Aufgabe beispielsweise auf einem Windows-Server erstellen, dann soll diese ja auch dann ausgeführt werden, wenn kein Server-Administrator am Server angemeldet ist (Das ist ja der Standardfall). In diesem Fall muss die Konfiguration der Aufgabe angepasst werden.

  10. Unter Sicherheitsoptionen die Option Unabhängig von der Benutzeranmeldung ausführen auswählen und mit OK bestätigen.

    Sicherheitsoptionen

  11. Es erscheint die Aufforderung, sich mit einem passenden Windows-Benutzerkonto zu authentifizieren. In der Regel sollte das eigene Windows-Benutzerkonto ausreichen.

    Authentifizierung

Fertig. Es wurde eine Aufgabe erstellt, die Enbrea CLI zum Übertragen der Daten von DaVinci nach Enbrea täglich m 21:00 startet. Die Ausgabe wird in Textdateien geloggt. In unserem Beispiel sind die Log-Dateien im Ordner c:\enbrea\davinci\export\log zu finden.

Batch-Dateien

Wer sich einfach nur das Tippen ersparen möchte, kann sich die Enbrea CLI-Aufrufe in einer klassischen BATCH-Datei zusammenfassen.

Hier ein Beispiel für den Import der Daten von DaVinci nach Enbrea:

  1. Bitte eine leere Textdatei mit der Dateiendung .bat anlegen und folgenden Code hineinkopieren:

    @ECHO OFF
    rem Hier den Ordner der JSON-Konfigurationsdatei spezifizieren
    SET ConfigFolder="c:\enbrea"
    rem Speichert den aktuellen Ordnerpfad und wechselt den Ordner
    PUSHD %ConfigFolder%
    rem Enbrea CLI mit Parametern ausführen
    enbrea.exe import -p davinci -c enbrea.json
    rem Wechselt zurück zum Ordner, der durch pushd gespeichert wurde
    POPD
    rem Warten auf Tastendruck
    PAUSE
    
  2. Den Inhalt (vor allem den Ordnerpfad) nach Belieben anpassen und die Datei speichern.

Die Batch-Datei kann jetzt kann ganz einfach per Doppelklick ausgeführt werden. Sie startet Enbrea CLI zum Übertragen der Daten von DaVinci nach Enbrea. Die Ausgabe wird auf dem Bildschirm angezeigt.

Log-Dateien

Die Automation von Enbrea-Importen und -Exporten läuft im Hintergrund ab, als Administrator sehe ich erst einmal nicht, was passiert. Trotzdem benötige ich ein Kontrollinstrument, um nachprüfen zu können, ob eine Import oder ein Export erfolgreich war oder nicht. Und wenn er nicht erfolgreich war, welche Fehlermeldung ausgegeben wurde.

Zu diesem Zweck legt Enbrea CLI während eines automatisierten Imports oder Exports eine Log-Datei an, in welche die Ausgabe der Konsole umgeleitet wird. Dabei wird für jeden Tag eine neue Log-Datei angelegt. Log-Dateien, die älter als 90 Tage sind, werden automatisch wieder gelöscht.