Synesty Studio verfügt inzwischen über eine Vielzahl verschiedenster Steps. Der Großteil der Steps stellt Funktionen für den Export und Import von Daten aus verschiedenen, externen Systemen (Lieferanten, CRM-, ERP- und Shopsysteme etc.) bereit. Aber auch für die Weiterverarbeitung der Daten innerhalb eines Flows stehen zahlreiche bekannte (z.B. SpreadsheetMapper) und weniger bekannte Steps zur Verfügung. Die unbekannteren Steps stellen spezielle Funktionalitäten zur Verfügung, die im Alltag nicht häufig benötigt werden, aber dennoch sehr hilfreich sein können. Einige dieser "Spezial-Steps" sollen in diesem Artikel vorgestellt und deren Funktion anhand von Beispielen aus der Praxis erläutert werden.
Dieser Step kann die Flow-Ausführung (Flow-Run) in verschiedenen Status (_FEHLER/ERROR, WARNUNG/WARNING, ERFOLGREICH/SUCCESS_
) beenden, wenn eine bestimmte Bedingung (condition) zutrifft. Als Bedingung kann ein Ausdruck in Freemarker Syntax genutzt werden. Dabei können auch die Ergebnisse vorheriger Steps als Bedingung verwendet werden. Über das "Plus" Zeichen am condition Feld erhalten sie einige vorbereitete Vorschläge für mögliche Bedingungen.
Das Auswahl-Feld actions entscheidet dabei über das genaue Verhalten des Steps:
Tipp für die Auswahl der action: Entscheidend für die Auswahl der action ist, wann es für sie wichtig ist informiert zu werden. Beachten sie dabei auch ihre persönlichen Einstellungen für Benachrichtigungen unter Mein Konto - Einstellungen. Fehler/Error sollten sie z.B. immer dann verwendet werden, wenn ein sofortiges bzw. schnelles Eingreifen notwendig ist (z.B. fehlende Datei auf einem FTP Server). Die action Stiller Erfolg kann hingegen immer dann verwendet werden, wenn kein wirklicher Fehler vorliegt, aber z.B. ein leeres Ergebnis eines vorherigen Steps zu einem Fehler in weiteren Verlauf des Flows führt.
Anwendungsbeispiele:
Link zum Handbuch:
Der SpreadsheetMapper Step stellt eine Vielzahl Funktionen für die Ver- und Bearbeitung der Inhalte eines Spreadsheets zur Verfügung. Ab und an kommt es vor, dass eine spezielle Funktion auf viele Spalten angewendet werden soll. In diesem Fall ist die Konfiguration in jeder einzelnen Spalte des SpreadsheetMapper Steps sehr aufwendig. Um den Zeitaufwand bei der Konfiguration zu verringern kann der SpreadsheetMultiColumnFunction Step eingesetzt werden. Die Funktionen die auf mehrere Spalten (columns) angewendet werden können sind:
Tipp: Die Spalten-Titel im Feld columns können auch Wildcards (* für eine beliebige Anzahl Zeichen, sowie ? für kein oder ein einzelnes Zeichen) enthalten. Das erleichtert die Auswahl von Spalten mit ähnlichen Titeln. Zum Beispiel können die Spalten image1, image2, image3 und image4 über den Wert image? im Feld columns ausgewählt werden. Über das Auswahlfeld mode können sie zusätzlich konfigurieren, ob die ausgewählte Funktion auf zutreffende Spalten oder allen anderen Spalten angewendet werden soll.
Anwendungsbeispiele:
Das Input-Spreadsheet:
Das Ergebnis-Spreadsheet:
Link zum Handbuch:
Der SpreadsheetSplitter Step kann dafür genutzt werden, um einen Spreadsheet in eine Liste von Spreadsheets (SPREADSHEETLIST) zu teilen. In Kombination mit dem SpreadsheetCSVWriter oder TextHTMLWriterMultiOutput lassen sich auf einfache Weise mehrere, aufgeteilte HTML, CSV, XML, JSON oder sonstige Dateien aus einem Input Spreadsheet erzeugen. Für die Aufteilung stehen zwei verschiedene Modi (Auswahl "mode") zur Verfügung:
Tipp: Die Umwandlung (Mapping) der Daten sollte am besten immer vor dem SpreadsheetSplitter Step erfolgen. Das Ergebnis (SPREADSHEETLIST) des Steps kann nicht mit einem SpreadsheetMapper weiterverarbeitet werden.
Anwendungsbeispiel:
Link zum Handbuch:
Der TextHTMLWriterMultiOutput stellt eine Erweiterung des TextHTMLWriter Steps dar. Im Gegensatz zum TextHTMLWriter kann der TextHTMLWriterMultiOutput direkt Dateien bzw. Dateilisten erzeugen.
Anwendungsbeispiele:
<#assign fileContent></#assign>
Blocks erzeugt und besteht im wesentlich aus einer einfachen HTML Tabelle mit zwei Spalten (Artikelnummer und Herstellername). Die Template Funktion ${output(fileContent, (category+".html"), "UTF-8")}
am Ende der Freemarker list-Anweisung sorgt dafür, dass eine Datei mit diesem Inhalt (fileContent) und dem Dateinamen (category+".html") erstellt wird.Link zum Handbuch:
Wie der Name dieses Steps schon verrät, können aus Werten einer Spalte eines Spreadsheets neue Zeilen erzeugt werden. Der Inhalt der ausgewählten Spalte (splitColumn) wird dabei mittels des angegebenen Trennzeichens (delimiter) in einzelne Werte aufgeteilt. Für jeden dieser Werte wird im Ergebnis-Spreadsheet des Steps eine neue Zeile erzeugt. Die Werte der anderen Spalten bleiben dabei erhalten.
Anwendungsbeispiele:
Dieser Step wird sehr oft für die Erzeugung von Variantenzeilen verwendet. In der Praxis kommt es vor, dass in den Quelldaten die Varianten-Ausprägungen (z.B. Größen) eines Artikels nur Komma-separiert in einer Spalte vorhanden sind. Für die Anlage der Varianten im Zielsystem wird aber eine Zeile pro Variante benötigt. In diesem Fall kann der SpreadsheetColumnValueSplit2Rows Step alle Werte der Spalte Größen (splitColumn) in neue Zeilen auftrennen und die Variationen können importiert werden.
Konfiguration des Steps:
Das Input-Spreadsheet:
Das Ergebnis-Spreadsheet:
Link zum Handbuch:
Synesty Studio bietet eine Vielzahl verschiedener Steps für die Umwandlung, Bearbeitung und andere Aufgaben an. Um die Funktionsweise und die Ergebnisse der Steps kennen zu lernen, bietet es sich an, die Steps an einfachen Beispielen auszuprobieren. Alle im Artikel genannten Flowbeispiele finden sie als Projektexport im ZIP Format zum herunterladen und ausprobieren. Viel Spaß dabei!