Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-260 | Vorschau | Anzeige der Produktinformationen auch wenn das Produktbild nicht geladen werden kann. |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-166 | Projektkomponente | Verbesserte Fehlermeldungen. |
DEM-192 | Vorlagen | Das Feld 'ps_isProtected' in den Projekteinstellungen ist jetzt sprachunabhängig. |
DEM-213 | Vorlagen | Skriptvorlage |
DEM-244 | Report | Icon eines Produktes oder eine Kategorie wird nach der Anlage einer Detailseite automatisch aktualisiert. |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-241 | API | Interface |
Der Report über Kategorien zeigt ab dieser Version auch versteckte Kategorien. Diese Funktion kann über eine neue Filter-Funktion des Reports aktiviert oder deaktiviert werden.
Diese Erweiterung hat zur Folge, dass der Parameter Password
in der Konfiguration der Projektkomponente
jetzt ein Pflichtfeld ist und nicht leer bleiben darf.
Außerdem muss die verwendete Client-Id berechtigt sein, GET-Anfragen über die DataAPI für folgende Ressourcen durchzuführen:
/catalogs
/catalogs/{catalog_id}/categories
Weitere Informationen finden sich in den Kapiteln 3.1.4 und 5.3 der Dokumentation.
In der Formatvorlage Preview Generation
wurde die folgende Aktualisierung vorgenommen:
Alt.
$CMS_SET(set_replaceTracker, "(<!-- Demandware Analytics)((.|[\\t\\n\\r])*)(</script>)")$
Neu.
$CMS_SET(set_replaceTracker, "(<!-- Demandware Analytics)(?s:.)*(</script>)")$
Durch diese Änderung wird einer möglichen Stackoverflow-Exception vorgebeugt. Es wird empfohlen diese Aktualisierung in existierenden Projekten manuell durchzuführen.
Die Cartridge wurde mit dieser Version an einigen stellen angepasst. Eine Aktualisierung der Cartridge oder der Import-Jobs ist in existierenden Projekten nicht zwingend erforderlich.
Folgende Anpassungen wurden vorgenommen:
int_firstspirit_cms
, um der Commerce Cloud-Konvention zu entsprechen.
ContentSync
enthält nur noch zwei Branches, die zudem umbenannt wurden.
Der Import-Mode wird nicht mehr über unterschiedliche Branches, sondern über einen neuen Parameter definiert.
ContentSync
validiert die XML-Dateien vor dem Import.
ContentSync
-Pipeline die Aktualisierung des Content-Indexes.
custom.FirstSpirit.ImportLibrary
und custom.FirstSpirit.ImportSlotConfigurations
.
Bei Verwendung des Job-Frameworks können damit vereinfacht Import-Jobs angelegt werden.
metadata
befindet sich die Exportdatei eines beispielhaften Import-Jobs, der auf dem Job-Framework basiert
und die eben genannten maßgeschneiderten Job-Schritte verwendet.
Weitere Informationen finden sich in den Kapiteln 2.4 und 3.2 der Dokumentation.
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-223 | Reports | Anzeige versteckter Kategorien |
DEM-229 | Vorlagen | Optimierung einer Regular-Expression |
DEM-237 | Cartridge | Bereinigung und Optimierung der Cartridge |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-224 | Cartridge | Demo Templates entfernt |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-219 | Konfiguration | Keine Authentification im Header beim Abfragen von Templates |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-197 | Konfiguration | Problem mit der Konfiguration nach dem Importieren eines anderen ContentConnect-Projektes behoben |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-195 | API | Fehler im Namen der Methode |
DEM-218 | Modul | Namenskonflikt in den Modulkomponenten aufgelöst |
Vor Kurzem wurde Demandware zu Salesforce Commerce Cloud umbenannt. Dementsprechend hat auch das Modul DemandwareConnect einen neuen Namen erhalten: ContentConnect for Salesforce Commerce Cloud
Das ContentConnect-Modul untersützt die Nutzung der Content Integration API. Die Integration mit FirstSpirit ist in Kapitel 8 der Dokumentation beschrieben.
In bestehenden Projekten sollte neben den in der Dokumentation beschrieben Schritten außerdem
die mitgelieferte Formatvorlage preview_generation
angepasst werden.
Folgender Code-Schnipsel sollte an den Beginn des umschließenden JSP-Scriptlets verschoben werden,
damit die anschließenden Ersetzungen auch auf eingebundene Widgets agieren:
$-- Inject CMS preview content: Replace placeholder with actual CMS content --$ $CMS_FOR(for_item, [0..stringToReplace.size-1])$ html = html.replaceFirst( "$CMS_VALUE(stringToReplace[for_item])$", "$CMS_VALUE(stringToInsert[for_item].toString().quoteJS())$"); $CMS_END_FOR$
Des Weiteren wurde zum Einbinden von Widgets ein neues Skript in die Auslieferung aufgenommen.
Dieses kann manuell angelegt werden. Als Referenzname ist dabei include_html
zu verwenden sowie folgender Inhalt:
//!Beanshell import java.net.URL; import java.net.URLConnection; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; String includeURL = gc.getVariableValue("includeURL").toString(); String name = gc.getVariableValue("name").toString(); String password = gc.getVariableValue("password").toString(); String isProtected = gc.getVariableValue("isProtected").toString(); String html = ""; includeURL = includeURL.replaceAll(" ","%20"); URL url = new URL(includeURL); URLConnection urlConnection = url.openConnection(); if (isProtected.equals("true")){ import org.apache.commons.codec.binary.Base64; String authString = name + ":" + password; byte[] authEncBytes = Base64.encodeBase64(authString.getBytes()); String authStringEnc = new String(authEncBytes); urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc); } InputStream is = urlConnection.getInputStream(); InputStreamReader isr = new InputStreamReader(is); int numCharsRead; char[] charArray = new char[1024]; StringBuffer sb = new StringBuffer(); while ((numCharsRead = isr.read(charArray)) > 0) { sb.append(charArray, 0, numCharsRead); } html = sb.toString(); html = html.replaceAll("\\$", "$"); return(html);
Für Detailseiten für Kategorien kann nun mehr als eine Seitenvorlage in FirstSpirit konfiguriert werden. Deshalb muss in bestehenden Projekten die Cartridge aktualisiert werden.
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.2 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-207 | Service | Spezielle Zeichen in Produkt-Ids werden in Anfragen korrekt enkodiert |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-173 | Detailseiten | Abhängig vom Render Template einer Kategorie können für Detailseiten verschiedene Vorlage gewählt werden |
DEM-183 | Services | Das Modul verwendet die OCAPI Version 16.9 |
DEM-187 | Dokumentation | Verwendung der Content Integration API dokumentiert |
DEM-193 | Modul | Umbenennung des Moduls zu ContentConnect for Salesforce Commerce Cloud |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-171 | Templates | Fehler beim Import der Templates behoben |
Redakteure können bei der Verlinkung von Produkten nun Variationsattribute vorbelegen, sodass Links auf teilspezifizierte Produktvarianten erzeugt werden.
Dazu öffnet sich beim Drag & Drop eines Masterproduktes ein Dialog, in dem der Redakteur die verlinkten Variationsattribute auswählen kann. Abbilung Spezifikation eines Produkts zeigt diesen Dialog für ein Produkt, welches in verschiedenen Größen und Farben exisitiert.
Um dieses Feature zu nutzen, sind zwei Anpassungen an der Linkvorlage durchzuführen.
Zunächst muss das Formular um ein verstecktes Textfeld ergänzt werden:
<CMS_INPUT_TEXT name="variationAttributes" hFill="yes" hidden="yes" singleLine="no" useLanguages="no"> <LANGINFOS> <LANGINFO lang="*" label="Variation Attributes as JSON"/> </LANGINFOS> </CMS_INPUT_TEXT>
Außerdem muss dem FS_BUTTON
ein weiterer Parameter übergeben werden:
<PARAM name="variationAttributes">#field.variationAttributes</PARAM>
Anschließend öffnet sich beim Drag & Drop eines Masterproduktes automatisch der oben erwähnte Dialog.
Zur Nutzung der Variationsattribute im Ausgabekanal bietet der ProductManager
die neue Methode convertVariationValuesJSON2List
.
Diese nimmt den Wert aus dem versteckten Textfeld variationAttributes
entgegen und erzeugt daraus eine Liste von Objekten vom Typ VariationValue
.
Diese Speichern für jedes Variationsattribut, für das eine Auswahl getroffen wurde, die Id des Attributes sowie die Id des gewählten Wertes.
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-156 | Dokumentation | Die Methode getImage() ist nicht Teil des Product Interfaces |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-122 | Produkt-Report | Auswahl von Variationsattributen bei der Verlinkung von Produkten |
DEM-153 | Detailseiten | Vorbelegung der Menüebene |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-152 | Kateogorien-Report | Kategorien mit Detailseiten werden nicht entsprechend markiert |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-106 | Dokumentation | Darstellungsfehler in der Dokumentation behoben |
DEM-135 | Cartridge | Hart codierte Links entfernt |
DEM-136 | Cartridge | Veraltetes Template entfernt |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-150 | Report | Kategorie-Report erzeugt Exception in Projekten |
Mit dieser Version des ContentConnect-Moduls wird die bereitgestellte API erweitert.
Zum einen wurde das Package com.espirit.moddev.demandware.manangers
erweitert,
welches neben dem ProductManager
nun u.a. die Interfaces LibraryManager
und SlotConfigurationManager
enthält.
Mit diesen Schnittstellen können Content Assets, Library Folder und Slot Configurations aus Demandware gelöscht werden.
Eine weitere wichtige Neuerung ist das Package com.espirit.moddev.demandware.factories
.
Dieses enthält u.a. die Klasse ManagerFactory
, über die Instanzen der oben genannten Interfaces erzeugt werden können.
Wenn das ContentConnect-Modul installiert ist, ist ManagerFactory
serverweit bekannt und kann somit z.B. in BeanShell-Skripten,
Arbeitsabläufen oder Aufträgen genutzt werden.
Analog zu ManagerFactory
bietet XmlCollectorFactory
die Möglichkeit eine Instanz des Interfaces XmlCollector
zu erzeugen.
Sowohl ManagerFactory
als auch XmlCollectorFactory
implementierten in früheren Versionen des ContentConnect-Moduls FirstSpirit-Executables.
Diese Executables sind weiterhin verfügbar, jedoch wurden die implementierenden Klassen umbenannt zu ManagerFactoryExecutable
und XmlCollectorFactoryExecutable
.
Trotz dieser Änderungen sind keine Änderungen in bestehenden Projekten notwendig, da Executables über ihren Namen angesprochen werden.
Dieser hat sich in beiden Fällen nicht geändert.
Weitere Informationen zur ContentConnect-API können der mitgelieferten Javadoc-Dokumentation entnommen werden.
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-40 | API | Neue API zum Löschen von Content Assets und Slot Configurations |
DEM-51 | Report | Erstellung von Produkt- und Kategoriedetailseiten |
DEM-114 | Report | Verbesserter Flyout im Produkte-Report |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-130 | Konfiguration | Definition der zu verwendenden Locale |
DEM-131 | Konfiguration | Definition von Refinements |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-149 | API | Das Interface Product bietet wieder Methoden zum Abfragen von Custom Attributes |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-144 | Report | Ein konfigurierter Image service wird auch für das Produktbild im Flyout verwendet |
DEM-145 | Report | Flyout wird auch für Produkte ohne Bild angezeigt |
DEM-148 | Report | Flyout wird auch für Produkte ohne Preis angezeigt |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-108 | Konfiguration | Checkbox zur Aktivierung eines Kategorie-Reports hinzugefügt |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-132 | Cartridge | Fehlende Resource Bundles hinzugefügt |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-80 | Produktreport | Eine Suche nach ID einer Produkt-Variante liefert die entspreechende Variante zurück. |
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-118 | Templates | Fehlender referenzierter Medienordner |
Neben der Optimierung der Performance wurde mit der Version 1.5.0 des DemandwareConnect-Moduls die Kommunikation zwischen FirstSpirit und Demandware auf den FirstSpirit-Server übertragen. Sie läuft nun vollständig über ihn und nicht mehr über den FirstSpirit-Client.
Die Version 1.5.0 des DemandwareConnect-Moduls enthält diverse Überarbeitungen und Neuerungen. Sollte bereits eine frühere Version des Moduls im Einsatz sein, ist aus diesem Grund die Durchführung einiger Migrationsschritte notwendig. Diese sind nachfolgend erläutert und sind in der angegebenen Reihenfolge auszuführen:
Sichern Sie zunächst die im Konfigurationsdialog der Projekt-Komponente gespeicherten Daten:
Nach der Neuinstallation des Moduls müssen einige Template-Anpassungen vorgenommen werden.
Sollten die Skripte CreateProductManager
(Referenzname "createproductmanager") und CreateXmlCollector
(Referenzname "createxmlcollector") noch nicht innerhalb des Projekts existieren, müssen sie mit den genannten Referenznamen und den folgenden Inhalten angelegt werden:
CreateProductManager.
#!executable-class ManagerFactory
CreateXmlCollector.
#!executable-class XmlCollectorFactory
Innerhalb der Vorlage für die Projekteinstellungen müssen die Aufrufe zur Initialisierung der XML-Kollektoren angepasst werden.
Des Weiteren wird zur Abfrage von Produktinformationen in Templates jetzt das Interface ProductManager
verwendet, weshalb die Instanziierung der Klasse Connector
ersetzt werden muss.
Xml-Kollektor für die Content Library:
alt.
$CMS_SET(ps_xmlCollector,class("com.espirit.moddev.demandware.xml.DemandwareXmlCollector").newInstance())$
neu.
$CMS_RENDER(script:"createxmlcollector",variableName:"ps_xmlCollector")$
Xml-Kollektor für die Content Slot Konfiguration:
alt.
$CMS_SET(ps_xmlCollectorContentSlot,class("com.espirit.moddev.demandware.xml.DemandwareXmlCollector").newInstance(false))$
neu.
$CMS_RENDER(script:"createxmlcollector", variableName:"ps_xmlCollectorContentSlot", createLibraryNode:false)$
Objekt zur Abfrage von Produktinformationen:
alt.
$CMS_SET(ps_DWRconnector,class("com.espirit.moddev.demandware.products.Connector").create(#global))$
neu.
$CMS_RENDER(script:"createproductmanager", variableName:"ps_productManager")$
Einige Komponenten des Moduls wurden umbenannt, weshalb in allen Vorlagen jede Nennung des Ausdrucks FSDWC_
durch DemandwareConnect_
zu ersetzen ist.
Dies betrifft zum Beispiel den Product-Drop-Handler.
Das Interface ProductManager
ist inkompatibel mit der öffentlichen Schnittstelle der zuvor verwendeten Connector
-Klasse.
Die Abfrage der Produktinformationen muss deshalb angepasst werden:
queryProduct(alt).
ps_DWRconnector.queryProduct(for_product.id)
loadProduct (neu).
ps_productManager.loadProduct(for_product.id)
Neben der Ersetzung der Klasse Connector
durch das Interface ProductManager
, wurden auch die Interfaces Product
und Category
angepasst.
Entsprechende Template-Änderung können deshalb erforderlich sein.
Produkt | Version(en) | Hinweise |
---|---|---|
FirstSpirit | 5.1 | - |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-91 | Projektkomponente | Exception beim erstmaligen Öffnen der Konfiguration der Projektkomponente |
DEM-95 | Produktreport | Exception bei einem leerem Suchbegriff |
DEM-96 | Produktreport | Exception beim Suchbegriff '*' für alle Kategorien |
DEM-103 | Produktreport | Exception bei einer ergebnislosen Suche |
DEM-105 | Projektkomponente | Exception beim Öffnen eines Projektes im SiteArchitekten das die DemandwareConnect-Projektkomponente nicht verwendet |
DEM-107 | Projektkomponente | Exceptions beim Öffnen eines Projekts wenn die Konfiguration der Projektkomponente leer ist |
ID | Kategorie | Beschreibung |
---|---|---|
DEM-13 | Produktreport | Verbessertes Abrufen der verfügbaren Kategorien |
DEM-22 | Service | Kommunikation mit Demandware über den FirstSpirit-Server |
DEM-23 | Templates | Modifizierte Instanziierung des Objektes zur Abfrage von Produktinformationen |
DEM-24 | Dokumentation | Aktualisierte und erweiterte Dokumentation |
DEM-30 | API | Aktualisierung des Interfaces Product |
DEM-38 | Dokumentation | Englische Version der Hosting Offer |
DEM-45 | Produktreport | Beschleunigte Produktsuche |
DEM-49 | Produktreport | Anzeige aller Produkte einer Kategorie |
DEM-54 | Modul | Verbessertes Scoping der Modulklassen |
DEM-59 | Produktreport | Verbessertes Ladeverhalten beim Öffnen des Reports |
DEM-64 | Produktreport | Verbessertes Ladeverhalten bei einer ergebnislosen Suche |
DEM-75 | Templates | Automatischer Import von Templates |
DEM-79 | Dokumentation | JavaDoc für API-Klassen |
DEM-99 | Dokumentation | Englische Version der Dokumentation |
DEM-100 | Dokumentation | Dokumentation der Klassen XmlCollectorFactory und ManagerFactory |
Der Technical Support der e-Spirit AG bietet Kunden und Partnern qualifizierte technische Unterstützung zu allen Themen, die FirstSpirit™ als Produkt betreffen. Weitere Hilfe zu vielen relevanten Themen erhalten und finden Sie in auch in unserer Community.