Workflows
Workflows sind ein Werkzeug, um bestimmte Aktionen in einer definierten zeitlichen Abfolge und Abhängigkeitskette auf einen Datensatz auszuführen.
Workflow erstellen
- Öffnen Sie das Shop-Dashboard
- Öffnen Sie die Workflow-Tabelle in der Kachel "Workflow"
- Klicken Sie in der Toolbar auf
- Speichern Sie den Datensatz
Übersicht der Einstellungen
Name | Beschreibung |
---|---|
Workflow | Bezeichnung des Workflows |
Erlaubte Callbacktypen | Wählen Sie hier die Tabellen aus, für deren Datensätze Sie den Workflow verwenden möchten |
Workflow bearbeiten
- Öffnen Sie einen Workflow-Datensatz
- Klicken Sie in der Toolbar auf
- Step anlegen: Hier können neue Steps angelegt werden.
- Element löschen: Elemente (Schritte & Verknüpfungen zwischen Schritten) können über diesen Button gelöscht werden.
- Step bearbeiten: Wird ein Schritt ausgewählt, erscheint dieser Button bei dem jeweiligen Schritt. Bei Klick auf den Button öffnet sich ein Modal mit verschiedenen Konfigurationsmöglichkeiten
Step bearbeiten
Jeder Schritt besitzt Parameter, die unabhängig von der Funktion des Schritts sind ("Ist erster Schritt" - "Zugriff für Anwender erlaubt").
In Abhängigkeit zum gewählten "Callback", werden dem Formular weitere Felder hinzugefügt (In diesem Fall ist der Callback "E-Mail an Anwender versenden". Das Formular wird um "Betreff der E-Mail" und "Inhalt der E-Mail" erweitert.
Bereich | Beschreibung |
---|---|
Ist erster Schritt | Diese Option schließt aus, dass ein Workflow jemals an einem anderen Punkt dieses Workflows einsteigen kann. Bei einem Bestell-Workflow wäre das in der Regel der Workflow Step "bestellt". Bei automatisierten Workflows darf es diesen Schritt nur ein Mal geben. |
Ist letzter Schritt | Diese Option bewirkt, dass der Workflow nach Abschluss dieses Steps als abgeschlossen gilt. Diese Option sollte bei Schritten gewählt werden, die den Workflow terminieren. |
Bezeichnung | Frei wählbarer Name des jeweiligen Steps. Dieser sollte so gewählt werden, dass er zum Kontext passt und auch für Laien verständlich ist. |
Wartezeit bis zum automatischen Ausführen | Dieses Feld enthält die automatisierte, zeitgesteuerte Logik der Workflows. Die Option "niemals als cron" sorgt dafür, dass der jeweilige Schritt von der automatisierten Abarbeitung ausgeschlossen wird. Optionen anders als "niemals als cron" und "-" sorgen für eine zeitgesteuerte Prüfung für die Automation. Beispiele für die Automation sind:
|
Wird ab diesem Tag ausgeführt | Hier wird ein Datum angegeben, ab dem der Step ausgeführt werden darf. Vorher wird dieser Step ignoriert, aber nicht übersprungen. |
Callback | Hier kann Verarbeitungs-Logik für den Workflow Step gewählt werden. Beispiele für Verarbeitungs-Logik sind:
... und viele mehr. |
Icon (Font-Awesome) | Hier kann eine Icon-ID von Font-Awesome angegeben werden, um dem Workflow Step eine leichtere Wiedererkennbarkeit zu geben. Font-Awesome Icon-IDs können bei font-awesome.com nachgeschaut werden. |
Zugriff für Anwender erlaubt | Ist diese Checkbox aktiv, können Anwender auf diesen Workflow Step reagieren und seinen Abschluss beeinflussen. Kern-Thema sind hier Datenstrukturen und Rechte. |
Workflow Steps verknüpfen
Steps können über die grafische Workflow Oberfläche verknüpft werden. Diese Verknüpfungen sind unidirektional und legen die Abfolge der Abarbeitung fest.
Hierzu genügt es mit der linken Maustaste auf den Namen gedrückt einen Pfeil vom Ursprungsstep zum Zielstep zu ziehen.
"Erstellen von Druckdaten" wird nicht ausgeführt, bevor der vorherige Step abgeschlossen wurde und die konfigurierte Wartezeit erreicht wurde oder der Step 2 manuell gestartet wurde.
Die Steps lassen sich in beliebiger Reihenfolge aneinander schalten. Hierbei ist zu beachten, dass es keine echte Parallelisierung gibt (es wird immer nur ein Step pro Workflow-Warteschlange gleichzeitig ausgeführt) und die Schritt-Abfolge bei der Ausführung immer linear verläuft. Im vorherigen Beispiel hängen die Steps "Nachbestellen des Artikels" & "Druckdaten versenden" vom Step "Erstellen von Druckdaten" ab. Diese werden bei der Ausführung des Workflows aber nicht beide parallel aktiviert sondern es ist nur ein aktiver Folge-Step von "Erstellen von Druckdaten" möglich - entweder "Nachbestellen des Artikels" oder "Druckdaten versenden". Sofern die Steps automatisch starten entscheidet die Wartezeit der Schritt-Einstellungen darüber, welcher Schritt gewählt wird. Eine Entscheidung über den Anwender ist hier möglich, wenn für die Wartezeit der verzweigten Schritte "niemals als Cron" gewählt wird. Diese Einstellung sorgt dafür, dass die Schritte nie über den Automatismus ausgeführt werden.
Aufgrund dieses linearen Verlaufs der ausgeführten Schritte ist es auch nicht möglich, mehrere Bedingungen für Schritt 4 im oberen Beispiel einzustellen. Schritt 4 wird ausgeführt, sobald entweder Step 2 oder Step 3 erfolgreich beendet wurden. Es findet also keine Prüfung statt, dass beide zulaufenden Steps 2 und 3 erfolgreich beendet sein müssen. Dies wäre auch gar nicht möglich, da entweder Step 2 oder Step 3 ausgeführt werden, nicht aber beide.
Workflow Step löschen
Um einen Workflow Step zu löschen genügt ein Klick auf den zu löschenden Step und anschließend ein Klick auf den Button "Element löschen".
Man braucht hier keine Bedenken haben das System selbst zu beeinträchtigen. Allerdings wird der Workflow bei einem Wegfall von Verknüpfungen (Pfeile in der Workflow Oberfläche) an der Stelle des gelöschten Step abgebrochen und sollte vor allem im Live Betrieb schnellst möglich wieder zusammen gefügt werden.
Workflow Warteschlange, ... Schritte und ... Schritt-Einstellungen
Die Tabellen "Workflow Warteschlange", "Workflow Schritte" und "Workflow Schritt-Einstellungen" sind technischer Natur und können von Anwendern höchstens zur Prüfung betrachtet werden. Änderung an deren Inhalt sollten nur von Technikern oder unter deren Aufsicht durchgeführt werden.
Workflow-Schritte und Callbacktypen
Um einen Workflow konfigurieren zu können, sollte zunächst ein Datensatz in der "Workflows"-Tabelle angelegt werden. Diesem Workflow können ein frei wählbarer Name und optionale Callbacktypen zugewiesen werden.
Diese Callbacktypen reduzieren die Anzahl der im Workflow konfigurierbaren Schritte. Handelt es sich beispielsweise um einen Workflow, der Bestellbestätigungen versendet, macht es somit u.U. wenig Sinn Workflow-Schritte wählbar zu machen, die Editordaten verarbeiten. Das Feld "Erlaubte Callbacktypen" bietet somit eine Whitelist für Workflow-Schritte. Ist das Feld leer, sind alle Schritte wählbar. Besitzt ein Workflow-Schritt keine Callbacktypen, so wird er immer aufgelistet.
Plugin | Name | Callbacktypen |
---|---|---|
callActionOrder | Call to Action - Bestellung | shopArticle, shopOrder |
callActionStep | Call to Action | - |
createCustomerNestedRelease | Erzeuge Kundenausgaben | shopUser, shopSessionArticle, shopSessionArticleNestedRelease |
createDeliveryNote | Lieferschein erstellen | shopArticle, shopOrder |
createInvoice | Rechnung erstellen | shopArticle, shopOrder |
createMailCampaign | E-Mail-Kampagne erstellen | mailCampaign, mailRecipient, mailTemplate |
createPrintFile | Druckdaten erstellen | shopArticle, shopOrder, shopSessionArticle |
createShipmentLabel | Versandschein erstellen | shopArticle, shopOrder, shopSessionArticle, shopDeliveryMethod, shopDeliveryTime |
disableOrderArticle | Bestellten Artikel deaktivieren | shopArticle, shopOrder, shopOrderArticle |
enableOrderArticle | Bestellten Artikel aktivieren | shopArticle, shopOrder, shopOrderArticle |
exportOrder | Bestellung exportieren | shopArticle, shopCompany, shopOrder, shopOrderArticle, shopSessionArticle, shopSupplier |
mailOrderConfirmation | Bestellbestätigung versenden | shopArticle, shopOrder, shopOrderArticle, shopUser, mailRecipient |
mailOrderSupplier | E-Mail an den Lieferant des Artikels versenden | shopOrder, shopOrderArticle, shopSupplier, shopUser, mailRecipient |
mailShopSessionArticleUser | E-Mail an den Kunden des Session Artikels versenden | mailRecipient, mailControlTemplate, shopOrder, shopOrderArticle, shopSessionArticle, shopSupplier, shopUser |
mailShopUser | E-Mail an einen Kunden versenden | mailControlTemplate, shopUser |
mailSomeone | E-Mail an jemanden versenden | - |
mailSpoolerCampaignPush | E-Mails aus einer Kampagne in den Spooler aufnehmen | mailCampaign, mailRecipient |
mailSpoolerCampaignSend | E-Mails einer Kampagne aus dem Spooler versenden | mailCampaign, mailRecipient |
mailSupplier | E-Mail an einen Lieferanten versenden | shopOrder, shopSupplier |
mailUser | E-Mail an einen Kunden versenden | shopGuest, shopOrder, shopUser |
triggerWorkflowByRole | Neuen Workflow starten (nach Rolle) | - |