Erstellung von Ablageregeln

Sebastian Bartsch Aktualisiert von Sebastian Bartsch

In diesem Artikel möchten wir Ihnen einige Informationen und Hilfestellungen zur Erstellung von Ablageregeln in StorageRobot 5 geben.

Umstieg von früheren StorageRobot Versionen

Wenn Sie bereits mit früheren Versionen von StorageRobot vertraut sind, werden Sie bemerken, dass sich die Konfiguration stark verändert hat. Diese Veränderung betrifft sowohl die Definition was ein Ablageziel ist, als auch die Möglichkeiten die Ihnen zur Verfügung stehen.

Die meisten Anforderungen für die Sie früher zwei oder mehr Konfigurationen anlegen mussten, können heute durch die Ablageregeln mit einer Konfiguration umgesetzt werden. Darüber hinaus bietet das neue System deutlich mehr Optionen um in bestimmten Situationen flexibler agieren zu können.

Ablageziele

Der Begriff "Ablageziele" wurde gewählt, weil es in StorageRobot primär um die Verarbeitung von Dokumenten geht. In den meisten Fällen werden Dokumente in DocuWare, in einem Dateisystem oder auf einem FTP-Server abgelegt. Bei diesen klassischen Formen der Ablage wird das Dokument direkt verarbeitet.

Hinzu kommen weitere "Ablageziele" bei denen es nicht direkt um die Verarbeitung eines Dokument geht, sondern darum bestimmte Aktionen auszuführen. Diese Aktionen stehen in Abhängigkeit bestimmter Variablen oder aufgrund von Erfolg/Misserfolg einer Dokumentenablage.

Darunter fallen Schreiben in eine Datenbank oder das Versenden von Benachrichtigung-Emails.

Ablageregeln

Aufbau einer Regel

Jede Regel besteht aus insgesamt 5 Elementen

  1. Eine Name für die Regel (Optional). Erleichtert die Identifizierung der Regel.
  2. Die Bedingung ob die Regel ausgeführt wird.
  3. Das Storage Target, dies entspricht entweder einer tatsächlichen Ablage oder einer Aktion
  4. Das Verhalten, falls die Ablage/Aktion erfolgreich ausgeführt werden konnte.
  5. Das Verhalten, falls die Ablage/Aktion fehlgeschlagen ist.

Bedingungen

Eine Bedingung prüft ob der Wert einer Variable einem bestimmten Wert entspricht. Außer bei den Operatoren für Is empty und Is not empty muss bei Compare Value ein Wert eingegeben oder eine Variable als Wert für den Vergleich verwendet werden. Variablen werden per Drag & Drop aus der Variablenübersicht an der entsprechenden Stelle eingefügt.

Eine Sonderrolle nimmt der Operator Always ein. In diesem Fall ist die Regel ohne Bedingung immer WAHR. Sofern diese Regel durch einen vorherigen Goto Regel Sprung übergangen wurde, wird die Ablage oder Aktion in jedem Fall ausgeführt.

Bedingungen führen ausschließlich Textvergleiche durch. Daher sind auch keine spezifischen Operatoren für Zahlen- oder Datumswerte vorgesehen.

Aktionen (StorageTarget)

Das DropDown zeigt eine kategorisierte Übersicht sämtlicher konfigurierter Ablageziele / Aktionen. Sollte eine der Überschriften (Kategorie) keine Einträge enthalten, dann wurde hier bisher nichts konfiguriert.

Einige Einträge in der Kategorie File System werden systemseitig automatisch angelegt und können weder gelöscht noch umbenannt werden. Hierbei handelt es sich um Standard-Ablageziele. Hierzu zählen SystemError, Done und Backup.

Verhalten und Ergebnisvariable

Eine Aktion kann erfolgreich sein oder fehlschlagen. Beide Varianten werden analog konfiguriert.

Die jeweilige Variable (Success Variable oder Error Variable) wird dabei von der Aktion mit einem Wert gefüllt. So wird beispielsweise im Fehlerfall die entsprechende Fehlermeldung eingetragen sowie im Erfolgsfall entweder die DocuWare-DocID (StorageTaget: DocuWare) oder der Dateispeicherpfad (StorageTarget: FileSystem)

Über das entsprechende DropDown der Behavior-Spalte wird beeinflusst welche Regel als nächstes ausgeführt werden soll.

Die Auswahlmöglichkeiten Stop und Next Rule stehen immer zur Verfügung.

Stop bricht die Verarbeitung ab und es werden keine weiteren Regeln ausgeführt.

Auch keine Regeln die mit dem Always-Operator versehen wurden.
Stop ist die einzige Möglichkeit während der Ausführung zwischen mehreren Regeln abzubrechen.

Next Rule bedeutet, dass mit der nächsten Regel fortgefahren werden soll.

Ein Anwendungsbeispiel für die beiden bisher genannten Verhaltensweisen wäre, dass die Ausführung im Erfolgsfalls beendet werden soll (Stop) und im Fehlerfall eine entsprechende Notification versendet wird. Die Notification wäre dann eine Aktion die als Folgeregel konfiguriert wird.

Zur Vereinfachung der Konfiguration stehen die Einträge Copy to Done bzw. Copy to Error (nur im DropDown für den Fehlerfall) zur Verfügung. Die jeweilige Auswahl erlaubt, dass das Dokument in den Done-Ordner oder in den Error-Ordner kopiert wird. Anschließend wird, wie bei Next Rule, mit der nächsten Regel fortgefahren.

Die nachfolgenden Einträge beginnen immer mit Goto und zeigen eine Goto Regel an. Der Text hinter Goto entspricht entweder dem von Ihnen vergebenen Namen der Regel oder wird aus der Bedingung der Regel erzeugt. Daher empfehlen wir für jede Regel einen Namen zu vergeben.

Funktionsweise

  1. Regeln werden nach dem Wasserfallprinzip, von oben nach unten, verarbeitet. Ausnahme ist, wenn eine Goto Regel verwendet wird.
  2. Eine Regel wird immer dann ausgeführt, wenn die Bedingung WAHR ist.
    Wenn die Bedingung nicht zutrifft, wird der komplette rechte Teil der Regel von StorageRobot ignoriert.
  3. Wenn durch eine Goto Regel ein Sprung durchgeführt wird, dann ist die Folge-Regel immer die darunter liegende Regel.
  4. Wenn die Bedingung der Goto Regel nicht erfüllt wird ist, dann wird ebenfalls mit der nächsten Regel fortgefahren
  5. Eine Goto Regel kann nicht auf sich selbst verweisen.
  6. Wenn zwei Regeln abwechselnd aufeinander verweisen und es dadurch zu einer Endlosschleife kommen könnte, dann wird die Verarbeitung spätestens nach drei Durchläufen abgebrochen.

Beispiel für ein komplexes Regelwerk

  1. Dokumentart leer - Wenn Xml_Dokumenttyp leer ist, dann Dokument nach File System:SystemError kopieren und mit der nächsten Regel fortfahren.
  2. Email bei Dokumentart leer - Wenn Xml_Dokumenttyp leer ist, dann Email:Dokumentenart ist leer versenden und anschließend stoppen.
Diese beiden Regeln bilden logisch eine Einheit. Die Tatsache, dass hier im Fehlerfall derselbe Ordner als Ziel verwendet wird kann für dieses Beispiel ignoriert werden. Fehlerordner sollten sich immer im lokalen Dateisystem befinden. Üblicherweise sind hier keine Fehler zu erwarten.
  1. Dokumentart nicht leer - Wenn Xml_Dokumenttyp nicht leer ist, dann in DocuWare ablegen und dann zur Regel Done Ordner springen. Im Fehlerfall soll das Dokument in SystemError Ordner kopiert werden. Durch das Wasserfallprinzip der Regelausführung geht es nach einem Fehler bei der nächsten Regel weiter.
  2. Email bei Fehler - Wenn My_DocuWare_ErrorMessage nicht leer ist, dann Email:Email bei Fehler verwenden und anschließend stoppen.
  3. Done Ordner - Wenn My_DocuWare_ErrorMessage leer ist, dann das Dokument in nach FileSystem:Done kopieren.
Eigentlich wäre hier keine zusätzliche Prüfung der Variable My_DocuWare_ErrorMessage nötig, da die Verarbeitung in allen anderen Fällen durch das Stop-Verhalten abgebrochen wurde. Dennoch schadet es nicht eine explizite Bedingung in bestimmten Fällen zu definieren um bei späteren Änderungen am Regelwerk die versehentliche Ausführung einer Regel ohne Bedingung zu verhindern.

Weiterführende Gedanken

Das obige Beispiel zeigt schon einen etwas komplexeren Regelablauf. Wenn Sie StorageRobot bereits seit langem kennen, werden Ihnen direkt zwei Dinge aufgefallen sein. Zum einen können jetzt situationsabhängig unterschiedliche E-Mails versendet werden. Das ermöglicht z.B. im Falle Email bei Dokumentenart leer gezielt die Fachabteilung zu informieren. Im Falle (Email bei Fehler), dass bei der Ablage in DocuWare etwas schief gelaufen ist, geht eine E-Mail an den zuständigen DocuWare Administrator.

Zum anderen werden Sie bemerkt haben, dass es nicht mehr nur einen Done-Ordner und einen Error-Ordner gibt. Es können parallel zur Ablage in DocuWare vollkommen unabhängige weitere Ziele im Dateisystem spezifiziert werden.

Weiterhin ist denkbar, dass Sie bei der Regel Dokumentart leer alternativ einen DocuWare Briefkorb als Ziel angeben. Auch dies erforderte in älteren StorageRobot Versionen eine zusätzliche Konfiguration.

Wie waren wir?

Bearbeitungsreihenfolge von Aktionen

Bis zum letzten Vorkommen eines Zeichens auslesen

Support