Skip to main content
Skip table of contents

Dateiformat für Workflows

Workflowdefinitionen können als XMl Dateien definiert werden, damit sie extern erstellt und dann in eine Shop Installation eingespielt werden können. Alternativ können Workflows natürlich auch per SQL Script in eine neue Installation eingespielt werden, die die notwendigen Datensätze in den Tabellen der Shop Datenbank erzeugen.

Ein Workflow kann so aussehen:

CODE
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="SendInBlueRegistrierung" trigger="CustomerNew" start="#2">
   <step id="#2" name="1" action="Centauri.Shop.Workflows.Process.Get">
      <data>
         <parameter>name,link,title,appellation,firstname,surenme,company,company_department,company_memo,street,zip,city,country,sup_company,sup_company_department,sup_company_memo,sup_street,sup_zip,sup_city,sup_country,tel,email,vatid</parameter>
         <xpath>customer/surname,emailconfirm/link,customer/title,customer/appellation,customer/firstname,customer/surenme,customer/company,customer/company_department,customer/company_memo,customer/street,customer/zip,customer/city,customer/country,customer/sup_company,customer/sup_company_department,customer/sup_company_memo,customer/sup_street,customer/sup_zip,customer/sup_city,customer/sup_country,customer/tel,customer/email,customer/vatid</xpath>
      </data>
      <transition destination="#3" success="yes" />
   </step>
   <step id="#3" name="2" action="Centauri.Shop.Workflows.SendInBlue.Send" final="yes">
      <data>
         <parameter>subject,link,title,appellation,firstname,surenme,company,company_department,company_memo,street,zip,city,country,sup_company,sup_company_department,sup_company_memo,sup_street,sup_zip,sup_city,sup_country,tel,email,vatid</parameter>
         <subject>Registrierung</subject>
         <template>0</template>
      </data>
   </step>
   <mapping origin="*" />
</workflow>

In der Datei muss ein workflow Knoten vorhanden sein. Der Knoten benötigt folgende Attribute

Attribut

Inhalt

name

Der Name des Workflows im Zielsystem. Wird der Workflow importiert und ist dieser Name bereits vorhanden, wird dieser überschrieben.

trigger

Definiert mit einer Konstante den Auslöser des Workflows. Die möglichen Auslöser sind unten definiert.

start

Dieses Attribut verweist auf den Id des ersten Schritts.

Folgende Konstanten können als Auslöer eines Workflows verwendet werden:

Konstante

Bedeutung

ORDER

Ein neuer Auftrag im Online-Shop wurde erstellt.

CANCELATION

Ein Auftrag im Online-Shop wurde storniert.

NONCATALOG

Eine neue Freitextanfrage ist erstellt worden.

OFFERREQUEST

Eine neue Angebotsanfrage wurde erstellt.

CUSTOMERNEW

Ein neuer Kunde wurde registriert.

CUSTOMERUPDATE

Die Daten des Kunden wurden im Kundenkonto aktualisiert.

INVOICEUPDATE

Die Rechnungsadresse des Kunden wurde aktualisiert.

DELIVERYUPDATE

Die Lieferadresse des Kunden wurde aktualisiert.

COWORKERNEW

Ein neuer Mitarbeiter wurde im Kundenkonto angelegt.

COWORKERUPDATE

Die Daten eines Mitarbeiters wurden im Kundenkonto aktualisiert.

COWORKERDELETE

Ein Mitarbeiter wurde im Kundenkonto gelöscht.

MESSAGE

Ein Kunde hat eine Nachricht erstellt.

NEWSLETTERNEW

Ein neuer Newsletterempfänger wurde erstellt.

RECOMMEND

Eine neue Weiterempfehlung wurde angelegt.

OFFER

Ein Angebot wurde zu einer Angebotsanfrage erstellt.

TIMESTAMP

Der Workflow wird zeitgesteuert aufgerufen.

SCRIPT

Der Workflow wird durch einen anderen Workflow aufgerufen.

INTERNAL

Der Workflow wird hardcoded aufgerufen.

Unterhalb des Knotens können beliebig viele step Knoten angeordnet werden, die die einzelnen Schritte des Workflows definieren. Der step Konten erlaubt folgende Attribute

Attribut

Inhalt

id

Interne Bezeichnung des Schrittes - normalerweise einfach durchnumeriert. Die Angabe ist verpflichtend. Über diese Id werden Referenzen in der Workflow Definition hergestellt und z.B. der Start- und der nächste Knoten referenziert. Es gibt keine Formdefinition, d.h. es können einfache Zahlen, Zeichen oder die oben sichtbare #nn Schreibweise verwendet werden.

name

Definiert eine sichtbare Beschreibung des Schritts und sollte so sprechend gewählt werden, das bei späteren Aufzeichnungen damit der Sinn dieses Schritts identifiziert werden kann.

action

Definiert die Aktion des Arbeitsschritts. Die Angabe ist verpflichtend. Der Inhalt muss einer NET Klasse entsprechen, die von der Workflow Engine instanziert werden kann.

final

Dieses Attribut ist optional und definiert, ob der entsprechende Schritt ein Endpunkt im Workflow ist. Bei einem Knoten mit dem Attribut final auf den Wert yes stoppt die Workflow Engine die Ausführung..

Innerhalb des step Knotens kann ein data Knoten mit Parametern existieren, die die Aktion des Schritts steuern. Die erlaubten Unterknoten hängen von der Aktion ab. Beim Importieren wird nicht validiert, ob die Parameter überhaupt von der Workflow Aktion benutzt werden.

Innerhalb des step Knotens können außerdem eine beliebige Anzahl an transition Knoten existieren. Mit diesen Knoten wird der Übergang auf den nächsten Schritt definiert. Ein transition Knoten kann folgende Attribute enthalten

Attribut

Inhalt

destionation

Das Attribut definiert den Id des Schritts, der als nächstes ausgeführt werden soll. Die Angabe ist verpflichtend.

success

Das Attribut definiert, ob der Übergang nach einer erfolgreichen oder eine fehlgeschlagenen Aktion ausgeführt werden soll. Ist das Attrbut success auf den Wert yes gestellt, wird der Übergang nur bei erfolgreicher Ausführung gefolgt.

Unterhalb des workflow Knotens kann eine beliebige Anzahl an mapping Knoten vorkommen, die Nebenbedingungen definiert, ob der Trigger für den Workflow ausgelöst werden soll. Mögliche Attribute sind

Attribut

Inhalt

origin

Das Attribut kann entweder * oder ein Bezeichner für einen Auftragsursprung sein. Die Angabe ist verpflichtend. Der Trigger wird nur ausgeführt, wenn im Shop der entsprechende Auftragsursprung aktiv ist. Auftragsursprünge werden z.B. durch Definition in der web.config, durch EDI Strecken, durch Multishops, etc. festgelegt werden. Ist das Attribut auf * gesetzt, gilt der Trigger immer.

customergroup

Das Attribut definiert eine Kundengruppe, die aktiv sein muss, um den Trigger auszulösen. Das Attribut definiert den Namen der Kundengruppe. Ist eine entsprechend benannte Kundengruppe nicht vorhanden, wird der Trigger und damit der Workflow nicht ausgelöst.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.