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:
-
Der Erstimport sollte in der Regel immer manuell ausgeführt werden. Damit kann direkt überprüft werden, ob der Datenabgleich generell funktioniert oder nicht.
-
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:
Beispiel 2¶
Einen Magellan-Import nach Enbrea alle 30 Minuten:
Beispiel 3¶
Einen Enbrea-Export nach Magellan alle 2 Stunden:
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.
oderBeispiel 2 Import¶
Die Kurzform von Beispiel 1 (--provider oder -p
).
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.
Beispiel 2 Export¶
Die Kurzform von Beispiel 1 (--provider oder -p
).
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:
Beispiel 2¶
Einen Enbrea-Export nach Magellan nicht mehr automatisieren:
Beispiel 3¶
Alle Enbrea-Importe und/oder -Exporte aus der Windows-Aufgabenplanung löschen:
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:
-
Im Suchfeld der Windows-Taskleiste
Aufgabenplanung
eintippen und die Windows-Aufgabenplanung öffnen. -
In der Windows-Aufgabenplanung in der rechten Aktionsleiste auf
Einfache Aufgabe erstellen
klicken. -
In dem nun geöffneten Assistenten einen Namen für die neue Aufgabe eingeben und optional eine Beschreibung. Anschließend auf
Weiter
klicken. -
Auf der nächsten Ansicht musst definiert werden, wie oft der Abgleich ausgeführt werden soll. Die Auswahl bleibt bei
Täglich
, bitte aufWeiter
klicken. -
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. -
Auf der nächsten Ansicht musst definiert werden, was denn nun geschehen soll. Die Auswahl bei
Programm starten
belassen und aufWeiter
klicken. -
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 Dateienbrea.json
befindet.
Das Ganze sieht dann so aus. Anschließend auf
Weiter
klicken. -
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 aufFertig stellen
klicken. -
Die Aufgabe wird erstellt und gleich danach öffnet sich das Eigenschaftsfenster der Aufgabe.
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.
-
Unter
Sicherheitsoptionen
die OptionUnabhängig von der Benutzeranmeldung ausführen
auswählen und mitOK
bestätigen. -
Es erscheint die Aufforderung, sich mit einem passenden Windows-Benutzerkonto zu authentifizieren. In der Regel sollte das eigene Windows-Benutzerkonto ausreichen.
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:
-
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
-
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.