Release Notes 02-2016

Wir freuen uns Ihnen im Februar 2016 wieder ein neues Synesty Studio Release zu präsentieren.

Kommende Veranstaltungen

Besuchen Sie uns auf den kommenden zwei Veranstaltungen und erleben Sie Synesty live vor Ort.

Datastore Management - Automatisches Löschen von Datensätzen

In Datastores gibt es jetzt einen neuen Menüpunkt Datastore-Management. Darin finden Sie ab sofort Konfigurationseinstellungen für einen Datastore. 
Diese stehen ab dem Plus-Paketopen in new window zur Verfügung.

Diese Seite beinhaltet aktuell 2 Konfigurationsmöglichkeiten.

  • Automatisches Löschen von Datensätzen
  • Änderungs-Tracking

Automatisches Löschen von Datensätzen

Die automatische Löschfunktion erlaubt Ihnen Datensätze automatisch zu entfernen, welche älter als X Tage sind (bezogen auf das Erstelldatum). Optional kann die Löschung noch auf ein oder mehrere Processing-Status eingeschräkt werden. Der Löschvorgang wird nachts gegen 3Uhr (GMT+1) ausgeführt. Das Referenzdatum ist 0:00 des Tages an dem der Löschprozess ausgeführt wird.

Wann brauche ich das?

Immer wenn Sie sehr alte Datensätze automatisch löschen wollen oder Daten nicht sehr lange in Datastores speichern wollen. Wenn Datensätze durch diese Funktion entfernt wurden, finden Sie einen Eintrag im neu eingeführten System Log.

Änderungs-Tracking konfigurieren und Felder ausschließen

Was ist Änderungs-Tracking?
Wenn Sie bereits Datastores nutzen, dann kennen Sie das Feld LastContentChanged, welches jeder Datensatz besitzt.

Änderungs-Tracking erkennt inhaltliche Änderungen an Datensätzen. Jedes mal wenn sich ein Feld inhaltlich ändert, wird das Feld LastContentChanged des Datensatzes aktualisiert. Dieses Verhalten ist automatisch für ALLE Felder aktiv.

Neu ist ab jetzt, dass dieses Verhalten jetzt konfigurierbar ist, und dass man bestimmte Felder vom Änderungs-Tracking ausschließen kann.

Wann brauche ich das?

Angenommen Sie haben eine Artikeldatenbank. Sie wollen dass ein Datensatz nur als geändert markiert wird, wenn sich Bestand (stock) oder Preis (price) geändert hat, nicht aber wenn sich das Feld Beschreibung ändert. 
In diesem Fall würden Sie alle Felder ausser stock und *price *ausschließen.

Ein Folgeprozess eines Bestandsupdates kann damit wesentlich effizienter gestaltet werden, da der Datensatz nur noch als "inhaltlich geändert" markiert wird, wenn sich stock oder price geändert haben, und nicht mehr bei jeder Feldänderung.

Neue Features im Plus-Paket

Das Plus-Pakets wurde um zwei Features erweitert:

Neues Add-On - Email Messaging

Das Add-On Email Messagingopen in new window beinhaltet Steps, um E-Mails und Dateianhänge von einem eigenen E-Mail-Server abzurufen und zu versenden.

Wann brauche ich das?

Wenn Sie z.B. neue Produktdaten von Lieferanten noch per E-Mail erhalten (z.B. als CSV als Anhang), statt wie üblich per (S)FTP oder HTTP(S), dann können Sie damit diese Prozesse automatisieren.
Unter Zuhilfenahme eines separaten E-Mail-Postfachs für diesen Zweck, könnte man dieses Postfach automatisch abrufen, den Dateianhang extrahieren und wie gewohnt mit Flows weiterverarbeiten.

Der Versand über einen eigenen E-Mail-Server kann in einigen Fällen Vorteile haben, wenn es z.B. für den Empfänger wichtig ist, über welchen Mailserver der Versand erfolgt und nicht der Synesty-Mailserver verwendet werden soll.

Referenzierende Flows für Datastores und Mappingsets finden

Einige unserer Kunden haben sehr viele Flows, teilweise weit über 100. Wenn man Datastoresopen in new window und Mappingsetsopen in new window verwendet, dann stellt sich oft die Frage:

In welchen Flows und Steps wird Datastore A und Mappingset B eigentlich verwendet?

Diese Frage kann man jetzt mit der neuen Funktion Referenzierende Flows finden beantworten.

Analog dazu verhält es sich bei Mappingsets.

Spalte entfernen im SpreadsheetCSVWriter Step

Beim Step SpreadsheetCSVWriter kann man jetzt über eine neue Option einige Spalten aus der Datei entfernen. 
Bisher hat der Step einfach alle Spalten des Input Spreadsheets in die Datei geschrieben. Jetzt kann man optional noch bestimmte Spalten auslassen.

Wann brauche ich das?

Häufig verwendet man bei der Erstellung komplexer Feeds den SpreadsheetMapper Step und hat darin diverse Hilfsspalten (z.B. zu Zusatzausgaben für Testzwecke, Fehlersuche usw.). Diese Hilfsspalten will man aber nicht im finalen Datenfeed haben. 
Bisher konnte man das lösen, in dem man noch einen weiteren SpreadsheetMapper dahinter geschaltet hat, der diese Spalten wieder entfernt.
Dieses vorgehen ist völlig legitim, bläht aber den Flow manchmal unnötig auf und stört die Übersicht.

Durch die neue Funktion spart man sich den zusätzlichen SpreadsheetMapper, wenn man lediglich Spalten entfernen will. Das ganze funktioniert sowohl für CSV als auch Excel-Dateien (.xls und .xlsx)

Neue Freemarker Funktionen

Siehe Handbuch Spreadsheet - Template-Funktionenopen in new window.

  • lastDayOfMonth(Referenzdatum)
  • firstDayOfMonth(Referenzdatum)

Damit können Sie den ersten und letzten Tag des Monats, bezogen auf ein Referenzdatum, berechnen. Wird Referenzdatum leer gelassen, wird der aktuelle Zeitpunkt angenommen.

Die Funktionen funktionieren in allen Eingabefelder, in denen Freemarker-Ausdrücke akzeptiert werden (z.B. SpreadsheetMapper, TextHTMLWriter, SpreadsheetCSVWriter#filename usw.)

Verbesserter Datastore-Import

Der SpreadsheetDatastoreWriter Step ist in allen Flows vorhanden, in denen Daten in einen Datastore importiert werden und wurde jetzt um einige nützliche Funktionen erweitert, die sich über die Zeit als wünschenswert herausgestellt haben.

  • Neue, aktualisierte und "nicht angefasste" Datensätze können jetzt separat weiterverarbeitet werden
  • Die Vorschau simuliert jetzt den Import, ohne dass ein echter Import ausgeführt wird
  • Das Spalten-Mapping für den Import kann jetzt direkt im Step durchgeführt werden. Ein separater SpreadsheetMapper ist nicht mehr nötig

Diese Anforderungen wurden umgesetzt. Dadurch ergeben sich folgenden Neuerungen am Step:

  • Zusätzliche Output-Spreadsheets für
    • Neu angelegte Datensätze (newRecords)
    • Aktualisierte Datensätze (updatedRecords)
    • Neue und aktualisierte (newAndUpdatedRecords) (kombiniert, erst neue, dann aktualisierte)
    • Nicht "angefasste" Datensätze (untouchedRecords, Datensätze, die bereits im Datastore existieren, aber im Input-Spreadsheet fehlen)
  • Erweiterung der Step-Vorschau um obige Variablen, ohne dass der Import tatsächlich ausgeführt wird
    • Man kann jetzt auch gefahrlos einen SpreadsheetMapper nach dem Step schalten, und die jeweiligen Outputs anzeigen und mappen, ohne dass der Import tatsächlich ausgeführt wird. Das war vorher nicht möglich.
    • D.h. der Import wird "simuliert", ohne eine echte Ausführung
  • Konfigurierbares Spalten-Mapping
    • dadurch spart man sich einen vorgeschalteten SpreadsheetMapper Step
    • die Zuweisung der wichtigsten Spalten für Identifierwird dadurch intuitiver

Nicht "angefasste" Datensätze?

Nahezu in jedem von uns betreutem Projekt gibt es folgende Anforderung:

"Mein Lieferant schickt täglich Produktdaten. Ich möchte Produkte, die nicht nun mehr mitgeschickt werden erkennen und auf Bestand=0 setzen oder anderweitig markieren."

Dazu gibt es schon seit langer Zeit diesen Cookbook-Eintragopen in new window, der einen Weg beschreibt wie man diese Anforderung lösen kann. 
Das neue Output-Spreadsheet *untouchedRecords *vereinfacht diesen Weg.

BENY Repricing Add-On

Es gibt zwei neue Steps für das BENY Repricing Add-On, mit dem Sie Produkte zum Repricing Anbieter BENY übertragen und Konkurrenzangebote und Preisvorschläge für Ihre Produkte automatisiert abrufen können.

  • Neuer Step BenyRemoveProductsopen in new window, um Produkte wieder von BENY zu entfernen
  • Neuer Step BenyExportProductOffers, um alle von BENY gefundenen Angebote pro Produkt zu exportieren
    • vor allem dann interessant, wenn man nicht nur den günstigsten Konkurrenzpreis, sondern alle Angebote wissen will

S3 Add-On

  • Bugfix: Der S3Download Step kann jetzt auch mehr als 1000 Dateien herunterladen

Plentymarkets Add-On

  • SearchOrdersopen in new window Step: Neue Filter-Option für Aufträge nach OrderCompletedDate
  • AddItemImages Step: Performance-Optimierung: Produktattribute werden im Hintergrund nur abgerufen wenn die Spalten Attribute und AttributeValue im Spreadsheet vorhanden sind.
  • SetDynamicImport Step: Performance-Optimierung: Bei Spreadsheets, die nur eine Header-Zeile (aber keine Daten) enthalten, wird jetzt kein API Call mehr gemacht.

Neue Vorlage