Release Notes 09-2017

Wir freuen uns Ihnen im September 2017 wieder neue Synesty Studio Release-Notes zu präsentieren.
Wir haben die letzten Wochen und Monate an vielen eher unsichtbaren Themen an der Plattform gearbeitet, die die Grundlage für dieses und kommende Releases bilden.

Datenanalyse und Datenqualitätsprüfung in Datastores

In Kundengesprächen geht es oft um das Thema Datenqualität, denn hoch qualitative und fehlerfreie Datensätze sind Voraussetzung für vollautomatisierte Prozesse.
Deshalb bauen wir den Bereich Datastores weiter in diese Richtung aus.

In diesem Release kommt eine neue Datenanalyse-Funktion, mit der sie eine Auswertung Ihrer Daten im Datastore erhalten können. 
Grundlage für diese Auswertung ist ein Datastore-Schemaopen in new window mit entsprechenden Validierungsregeln.

Damit haben Sie die Möglichkeit auf einen Blick zu sehen, wieviel und welche Daten, nicht den definierten Regeln entsprechen. Aktuell können Sie folgende Regeln im Schema definieren:

  • Reguläre Ausdrücke (RegEx)
  • Liste mit festen erlaubten Werten
  • Pflichtfeld / Optionales Feld

Damit lässt sich definieren, wie bestimmte Felder gefüllt sein müssen. Die Analyse zeigt Ihnen welche Daten in Ordnung sind und welche einer Nachbearbeitung bedürfen, so dass Sie fehlerhafte Daten schnell erkennen und sukzessive korrigieren können.

Sandbox Workspaces

Jeder Kunde ab Starter-Paket kann ab sofort einen sog. Sandbox-Workspaceerstellen (mehr über die verschiedenen Workspacesopen in new window). 
Das ist ein separater Bereich, in dem man Flows und Steps ausprobieren kann, ohne dass diese gegen die monatlichen Limits zählen. Es soll wörtlich ein Sandkasten zum Spielen sein.


Man kann darin, wie im normalen Account Projekte, Flows, Datastores und Mappingsets erstellen und damit arbeiten. Genau wie in der kostenlosen Testphase, die jeder Neukunde erhält, stehen darin alle Steps aller Add-Ons zur Verfügung, auch ohne dass man diese kostenpflichtig gebucht hat. Das Backend wie man es bisher kannte - also der Nicht-Sandbox-Workspace - nennt sich jetzt Default-Workspace.

Zusammegefasst hat die Sandbox folgende Funktionen und Limitierungen

  • Alle Steps sind verfügbar auch ohne Add-On Buchung

  • Spreadsheets und Datastores unterliegen der 25 Zeilen-Begrenzung für Testzwecke

  • max. 5 Flows können erstellt werden

  • Zeitplanung und URL-Trigger sind nicht möglich´

  • Alle Limits wie Datensätze, Runs und Traffic sind wie in der Testphase begrenzt, aber zählen nicht gegen das monatliche Account-Kontingent.

  • Flows und Datastores können zwischen Sandbox und Default-Workspace hin und her kopiert / verschoben werden.

Wir wollen damit die Lust am Ausprobieren fördern und es damit einfacher machen, schnell mal ein neues Add-On zu testen, ohne dass man dafür das Add-On buchen muss oder seine regulären monatlichen Limits verbraucht.

Diese neue Funktion befindet sich ab sofort in der Beta-Testphase. Eine produktive Nutzung aller Inhalte in Sandbox Workspaces ist nicht gestattet.
Die Funktion steht nur im neuen UIopen in new window zur Verfügung.

Neue Add-Ons

Shopify AddOn

open in new window

Mit dem Shopify Add-Onopen in new window können Sie eine Anbindung an Shopify realisieren, um Produkt-, Kunden- und Auftragsdaten zwischen shopify und externen Systemen auszutauschen.

Zum Handbucheintragopen in new window.

ITScope AddOn

open in new window

Das neue kostenlose ITscope Add-Onopen in new window ermöglicht es Produktdaten-Exports aus ITscope abzurufen. Als Ergebniss erhält man ein Spreadsheet mit den exportierten Produkten und eine Liste der CSV-Dateien zur weiteren Verarbeitung.Zum Ausprobieren steht eine Vorlageopen in new window bereit, in der man nur noch seine ITscope API-Zugangsdaten und die Export-ID eintragen muss. Daraufhin werden die Produktdaten über die Schnittstelle in einen Datastore importiert.

Zum Handbucheintragopen in new window.

SpreadsheetFilter - Neuer Operator für Zeilenvalidierung

Mit dem SpreadsheetFilter Step kann man ab sofort leichter valide und invalide Zeilen eines Spreadsheets mit hinterlegtem Schemaopen in new window filtern. D.h. immer dann, wenn man ein Spreadsheet mit hinterlegtem Schema hat (SearchDatastore oder SpreadsheetMapper mit konfiguriertem targetSchema), kann man jetzt einen Filterausdruck schreiben, der die ganze Zeile validiert. 
Mit anderen Worten kann man jetzt leichter sagen "Gib mir nur validen Zeilen". Valide bezieht sich auf die Validierung gegen die im Schema definierten Regeln.

Zum Handbucheintragopen in new window

Die Funktion steht nur im neuen UIopen in new window zur Verfügung.

Studio Features

Datastore Inline-Editierung

Einige unserer Kunden nutzen Synesty als abgespecktes PIM-System und bearbeiten oft Daten in Datastores per Hand. 
Damit diese manuelle Bearbeitung schneller von der Hand geht, ist es jetzt möglich diese Daten direkt in der Übersicht zu bearbeiten.

Ein Doppelklick auf ein Feld genügt, um in den Inline-Editiermodus zu gelangen.

Das Feld Processing Statuskann ebenfalls direkt in der Übersicht schnell bearbeitet werden.

Die Funktion steht nur im neuen UIopen in new window zur Verfügung.

Neue Steps zur effektiven Bearbeitung von Spreadsheet-Daten

SpreadsheetMultiColumnFunction

Mit diesem Step kann man eine Funktion auf ein oder mehrere Spalten anwenden. Die Spalten kann man als Liste oder auch mit sog. Wildcards selektieren.

Die Funktionen verhalten sich analog zu den Funktionen, die es im SpreadsheetMapperopen in new window schon gibt.

  • Search and Replace (Standardwert) - klassisches Suchen / Ersetzen mit und ohne reguläre Ausdrücke
  • Trim spaces and linebreaks - Entfernung von Zeilenumbrüchen und Leerzeilen
  • Substring (Teilzeichenketten z.B. die ersten 80 Zeichen)
  • Scripting (Freemarker) - Nutzung von Freemarker Scripting wie im Wert-Feld im SpreadsheetMapper.

Wir bedanken uns bei Daniel Jackel, der durch seine Anregungen und konstruktive Mitarbeit im Forumopen in new window zu diesem neuen Step beigetragen hat.

Neue Funktion mappingMode im SpreadsheetMapper

Der neue optionale Modus "Pass-Through" im SpreadsheetMapper erlaubt es, z.B. nur 2 Spalten eines Spreadsheets zu bearbeiten, ohne alle anderen Spalten im Mapping zu definieren. Alle anderen Quell-Spalten werden einfach "durchgeschliffen". Die anderen nicht-definierten Spalten sind quasi nur in der Step-Vorschau (Auge-Icon) und bei der echten Ausführung zu sehen - nicht aber beim Bearbeiten des Spreadsheets.

Wann brauche ich das?

Bisher hat sich der SpreadsheetMapper eher starr bzw. nach dem WYSIWYG-Prinzip verhalten, d.h. es kam genau das raus, was man definiert. 
Manchmal hat man es aber mit dynamischen Daten zu tun. D.h. z.B. kann ein Lieferant plötzlich neue zusätzliche Spalten schicken. Das hieß bisher, dass man in diesem Fall immer wieder in die Konfiguration des SpreadsheetMappers gehen musste, um diese neue Spalten hinzuzufügen, obwohl man gar keine Funktion auf diese neue Spalten anwenden wollte. Man wollte sie z.B. nur in den Datastore importieren (Stichwort autoExtendSchema) oder einfach nur in der Ausgabe-Datei mit einem SpreadsheetCSVWriter haben.

Mit dem neuen "Pass-Through"-Modus kann man diese Situation lösen und einfach alle nicht-definierten Quellspalten durchschleifen.

Zum Handbucheintragopen in new window mit Beispielen.

Step SpreadsheetColumnRemover

Diesen gibt es schon länger (siehe vergangene Releasenotesopen in new window) und er sei hier nur der Vollständigkeit halber erwähnt, weil er die beiden obigen Steps recht gut ergänzt.
Dieser Step kann mehrere Spalten von einem Spreadsheet entfernen, ohne das man dafür einen weiteren SpreadsheetMapper nehmen muss. Dabei kann man sehr komfortabel über einen Filter-Ausdruck angeben, welche Spalten entfernt oder behalten werden sollen (z.B. mode=EXCLUDE und Filter: item_* entfernt dynamisch alle Spalten, deren Spaltenname mit item_ beginnt). Das ist z.B. sehr praktisch um Hilfsspalten auf einen Schlag zu entfernen.

Zählvariablen in Flows

Es gibt einige Anwendungsfälle (wie z.B. hier im Forumopen in new window), da möchte man im Spreadsheet oder Step-übergreifend eine Zahl hochzählen, aber dies z.B. nur wenn bestimmte Bedingungen zutreffen.
z.B. Zähle hoch, wenn Spalte Kategorie="Schuhe"

Bisher gab es dafür keine Lösung.
Ab jetzt gibt es Zählvariablen (zu finden bei Flow-Variablen unter Referenz-Variablenopen in new window).

Eine Zählvariable (Counter) wird immer beim Flow-Start mit 0 initialisiert. Counter überleben ein komplette Flow-Ausführung und können an allen Stellen wo Freemarker verwendet wird hochgezählt werden... d.h. auch im SpreadsheetMapper.

Beispiele:

${counter.inc()} => Ausgabe: 1
${counter.inc()} => Ausgabe: 2
${counter.inc("wort1")} => Ausgabe: 1
${counter.inc("wort1")} => Ausgabe: 2
${counter.inc("wort2")} => Ausgabe: 1
${counter.inc("wort2")} => Ausgabe: 2
${counter.inc("wort2")} => Ausgabe: 3

Das ganze kann man wie gewohnt nach allen Regeln der Kunst mit if/else nutzen, um nur unter bestimmten Bedingungen zu zählen.

Beispiel

Sonstiges

  • Neuer Step HTML2Spreadsheet - kann einzelne HTML-Elemente aus einem HTML-Input heraus extrahieren und daraus ein neues Spreadsheet erzeugen. Als Input kann ein FILE, FILELIST oder SPREADSHEET dienen. Ist der Input ein SPREADSHEET, kann man eine Spalte auswählen, die den zu parsenden HTML-Text enthält.

  • SpreadsheetCSVWriter mit neuer Option TrimMode - um automatisch alle Zeilenumbrüche in allen Spalten zu entfernen.

  • SpreadsheetCSVReader mit neuer Limit Option- zum begrenzen der Zeilen, die eingelesen werden. Sehr praktisch zum Testen großer CSV-Dateien.

  • Neue Template Funktionposition_of(string)

    • Ermittelt die n-te Position eines Zeichens bzw. Teilstrings innerhalb einer Zeichenkette. 
      Ein Beispiel mit anderen Worten: "An der wievielten Positionen kommt "-" (Bindestrich) zum zweiten mal vor?"
    • Position of the 2nd occurence of "-" is ${position_of("1-2-3-4", "-",2)}
  • Verbindungsprüfung für Meine Verbindungen - einige Verbindungstypen (z.B. FTP und Shopware) haben jetzt eine Möglichkeit direkt im Account die eingestellten Zugangsdaten zu testen. Oft zeigt diese Funktion auch noch einige nützliche Daten zur Verbindung an wie z.B. ShopIDs. Nicht bei allen Verbindungstypen ist diese Funktion möglich, da die APIs der Systeme manchmal keine sinnvolle Testmöglichkeit bieten.

  • XMLFileSplittermit neuer Option auto-remove invalid XML Data- z.B. zur Entfernung leerer CDATA TAGs, die den XMLFileSplitter aus dem Tritt bringen.

  • Step-Vorschau: Verbesserte Fehlermeldung - mit Anzeige in welchem vorhergehenden Step der Fehler aufgetreten ist.