ContentConnect

Release Notes für die Version 1.8.3

e-Spirit AG

FirstSpirit Version 5.x

19.05.2017
Inhaltsverzeichnis

1. Version 1.8.3

1.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

1.2. Behobene Fehler

IDKategorieBeschreibung

DEM-260

Vorschau

Anzeige der Produktinformationen auch wenn das Produktbild nicht geladen werden kann.

2. Version 1.8.2

2.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

2.2. Neue Features

IDKategorieBeschreibung

DEM-166

Projektkomponente

Verbesserte Fehlermeldungen.

DEM-192

Vorlagen

Das Feld 'ps_isProtected' in den Projekteinstellungen ist jetzt sprachunabhängig.

DEM-213

Vorlagen

Skriptvorlage HTML herunterladen & einbetten optimiert.

DEM-244

Report

Icon eines Produktes oder eine Kategorie wird nach der Anlage einer Detailseite automatisch aktualisiert.

3. Version 1.8.1

3.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

3.2. Neue Features

IDKategorieBeschreibung

DEM-241

API

Interface ProductManager um die Methode loadProducts erweitert.

4. Version 1.8.0

4.1. Aktualisierungshinweis

4.1.1. Anzeige versteckter Kategorien

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.

4.1.2. Aktualisierung der Vorlage Preview Generation

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.

4.1.3. Aktualisierung der Cartridge

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:

  1. Die Cartridge wurde umbenannt zu int_firstspirit_cms, um der Commerce Cloud-Konvention zu entsprechen.
  2. Die Pipeline 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.
  3. Die Pipeline ContentSync validiert die XML-Dateien vor dem Import.
  4. Nach dem Import von Inhalten veranlasst die ContentSync-Pipeline die Aktualisierung des Content-Indexes.
  5. Die Cartridge enthält Definitionen für zwei Job-Schritte: custom.FirstSpirit.ImportLibrary und custom.FirstSpirit.ImportSlotConfigurations. Bei Verwendung des Job-Frameworks können damit vereinfacht Import-Jobs angelegt werden.
  6. Im Ordner 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.

4.2. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

4.3. Neue Features

IDKategorieBeschreibung

DEM-223

Reports

Anzeige versteckter Kategorien

DEM-229

Vorlagen

Optimierung einer Regular-Expression

DEM-237

Cartridge

Bereinigung und Optimierung der Cartridge

5. Version 1.7.4

5.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

5.2. Neue Features

IDKategorieBeschreibung

DEM-224

Cartridge

Demo Templates entfernt

6. Version 1.7.3

6.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

6.2. Behobene Fehler

IDKategorieBeschreibung

DEM-219

Konfiguration

Keine Authentification im Header beim Abfragen von Templates

7. Version 1.7.2

7.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

7.2. Behobene Fehler

IDKategorieBeschreibung

DEM-197

Konfiguration

Problem mit der Konfiguration nach dem Importieren eines anderen ContentConnect-Projektes behoben

8. Version 1.7.1

8.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

8.2. Behobene Fehler

IDKategorieBeschreibung

DEM-195

API

Fehler im Namen der Methode LibraryManager.unassignContentAssetFromLibraryFolder behoben

DEM-218

Modul

Namenskonflikt in den Modulkomponenten aufgelöst

9. Version 1.7.0

9.1. Aktualisierungshinweis

9.1.1. Umbenennung des Moduls

Vor Kurzem wurde Demandware zu Salesforce Commerce Cloud umbenannt. Dementsprechend hat auch das Modul DemandwareConnect einen neuen Namen erhalten: ContentConnect for Salesforce Commerce Cloud

9.1.2. Content Integration API

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("\\$", "&#36;");

return(html);

9.1.3. Erweiterte Konfigurationsmöglichkeiten für Detailseiten

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.

9.2. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.2

-

9.3. Behobene Fehler

IDKategorieBeschreibung

DEM-207

Service

Spezielle Zeichen in Produkt-Ids werden in Anfragen korrekt enkodiert

9.4. Neue Features

IDKategorieBeschreibung

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

10. Version 1.6.1

10.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

10.2. Behobene Fehler

IDKategorieBeschreibung

DEM-171

Templates

Fehler beim Import der Templates behoben

11. Version 1.6.0

11.1. Aktualisierungshinweis

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.

Spezifikation eines Produkts
Abbildung 1. Spezifikation eines Produkts


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.

11.2. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

11.3. Behobene Fehler

IDKategorieBeschreibung

DEM-156

Dokumentation

Die Methode getImage() ist nicht Teil des Product Interfaces

11.4. Neue Features

IDKategorieBeschreibung

DEM-122

Produkt-Report

Auswahl von Variationsattributen bei der Verlinkung von Produkten

DEM-153

Detailseiten

Vorbelegung der Menüebene

12. Version 1.5.10

12.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

12.2. Behobene Fehler

IDKategorieBeschreibung

DEM-152

Kateogorien-Report

Kategorien mit Detailseiten werden nicht entsprechend markiert

13. Version 1.5.9

13.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

13.2. Behobene Fehler

IDKategorieBeschreibung

DEM-106

Dokumentation

Darstellungsfehler in der Dokumentation behoben

DEM-135

Cartridge

Hart codierte Links entfernt

DEM-136

Cartridge

Veraltetes Template entfernt

14. Version 1.5.8

14.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

14.2. Behobene Fehler

IDKategorieBeschreibung

DEM-150

Report

Kategorie-Report erzeugt Exception in Projekten

15. Version 1.5.7

15.1. Aktualisierungshinweis

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.

15.2. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

15.3. Neue Features

IDKategorieBeschreibung

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

16. Version 1.5.6

16.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

16.2. Neue Features

IDKategorieBeschreibung

DEM-130

Konfiguration

Definition der zu verwendenden Locale

DEM-131

Konfiguration

Definition von Refinements

17. Version 1.5.5

17.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

17.2. Behobene Fehler

IDKategorieBeschreibung

DEM-149

API

Das Interface Product bietet wieder Methoden zum Abfragen von Custom Attributes

18. Version 1.5.4

18.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

18.2. Behobene Fehler

IDKategorieBeschreibung

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

18.3. Neue Features

IDKategorieBeschreibung

DEM-108

Konfiguration

Checkbox zur Aktivierung eines Kategorie-Reports hinzugefügt

19. Version 1.5.3

19.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

19.2. Behobene Fehler

IDKategorieBeschreibung

DEM-132

Cartridge

Fehlende Resource Bundles hinzugefügt

20. Version 1.5.2

20.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

20.2. Neue Features

IDKategorieBeschreibung

DEM-80

Produktreport

Eine Suche nach ID einer Produkt-Variante liefert die entspreechende Variante zurück.

21. Version 1.5.1

21.1. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

21.2. Behobene Fehler

IDKategorieBeschreibung

DEM-118

Templates

Fehlender referenzierter Medienordner

22. Version 1.5.0

22.1. Aktualisierungshinweis

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.

22.1.1. Migration

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:

    • Client ID
    • Base URL
    • Category Search (true|false)
    • View type priority
    • Imageservice base URL
  • Entfernen Sie dann die Projekt-Komponente der bisherigen Modul-Version.
  • Verfahren Sie ebenso mit der Web-Komponente.
  • Deinstallieren Sie anschließend die bisherige Version des Moduls, um dann die Version 1.5.0, wie in der Dokumentation beschrieben, zu installieren. Ein einfache Aktualisierung des Moduls ist an dieser Stelle nicht möglich.

Nach der Neuinstallation des Moduls müssen einige Template-Anpassungen vorgenommen werden.

22.1.2. Skripte

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

22.1.3. Projekteinstellungen

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")$

22.1.4. Komponenten

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.

22.1.5. Product-Manager

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)

22.1.6. API Änderungen

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.

22.2. Kompatibilität

ProduktVersion(en)Hinweise

FirstSpirit

5.1

-

22.3. Behobene Fehler

IDKategorieBeschreibung

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

22.4. Neue Features

IDKategorieBeschreibung

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

23. Hilfe

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.