ContentConnect

Release Notes for the version 1.8.6

e-Spirit AG

FirstSpirit Version 5.x

2017-06-28
Table of Contents

1. Version 1.8.6

1.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

1.2. New features

IDCategoryDescription

DEM-123

Documentation

Modified chapter 3.1.4 in the German documentation

DEM-155

Documentation

Modified chapter 3.1.4 and 4.1 in the German documentation

DEM-248

Documentation

Added chapter 3.2.3 to the German documentation

2. Version 1.8.5

2.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

2.2. New features

IDCategoryDescription

DEM-211

Documentation

Revision of the German documentation

DEM-225

Schedule

Added a schedule task for triggering an import job

3. Version 1.8.4

3.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

3.2. Fixed issues

IDCategoryDescription

DEM-274

Categories

Fixed a potential cpu overload when requesting the render template of a category.

4. Version 1.8.3

4.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

4.2. Fixed issues

IDCategoryDescription

DEM-260

Preview

Show product information even if the product image can not be loaded.

5. Version 1.8.2

5.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

5.2. New features

ProductVersion(s)Notice

DEM-166

Projectcomponent

Improved error messages.

DEM-192

Templates

The field 'ps_isProtected' in the project settings is now language independent.

DEM-213

Templates

Optimized script Download & include html.

DEM-244

Report

Automatically update the product / category icon after a detail page has been created.

6. Version 1.8.1

6.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

6.2. New features

ProductVersion(s)Notice

DEM-241

API

New method in the ProductManager interface: loadProducts

7. Version 1.8.0

7.1. Update Notice

7.1.1. Hidden categories

The category report now also includes hidden categories. This feature can be enabled and disabled by a new filter in the report.

Due to this new feature, the Password parameter in the project app configuration is now mandatory and must not be empty.

Furthermore, the client id needs the permission to perform GET requests on the following DataAPI ressources:

  • /catalogs
  • /catalogs/{catalog_id}/categories

7.1.2. Updated Preview Generation template

The template Preview Generation has been updated:

Old. 

$CMS_SET(set_replaceTracker, "(<!-- Demandware Analytics)((.|[\\t\\n\\r])*)(</script>)")$

New. 

$CMS_SET(set_replaceTracker, "(<!-- Demandware Analytics)(?s:.)*(</script>)")$

This update prevents a possible Stackoverflow exception. It is highly recommended to perform this update in existing projects manually as well.

7.2. Cartridge update

The cartridge has been updated as well. Existing projects do not have to update the cartridge or the import jobs.

The following changes have been made:

  1. The cartridge has been renamed to int_firstspirit_cms in order to conform to the Commerce Cloud convention.
  2. The pipeline ContentSync only contains two branches, that have been renamed as well. The import mode can be set by a new parameter.
  3. The pipeline ContentSync now validates the xml files before they are imported.
  4. After the import, the ContentSync pipeline initiates an update of the Content index.
  5. The cartridge contains definitions for two job steps: custom.FirstSpirit.ImportLibrary and custom.FirstSpirit.ImportSlotConfigurations. When using the job framework, these can be used to easily create the needed import jobs.
  6. The folder metadata contains the export file of an example job, that is based on the job framework and uses the mentioned custom job steps.

Further information can be found in the chapters 2.4 and 3.2 in the documentation.

7.3. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

7.4. New features

ProductVersion(s)Notice

DEM-223

Reports

Show hidden categories

DEM-229

Templates

Optimized a regular expression

DEM-237

Cartridge

Cleanup and optimization of the cartridge

8. Version 1.7.4

8.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

8.2. New features

ProductVersion(s)Notice

DEM-224

Cartridge

Removed demo templates

9. Version 1.7.3

9.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

9.2. Fixed issues

IDCategoryDescription

DEM-219

Configuration

No authentification in header for template requests.

10. Version 1.7.2

10.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

10.2. Fixed issues

IDCategoryDescription

DEM-197

Configuration

Fixed a configuration problem after importing another ContentConnect project

11. Version 1.7.1

11.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

11.2. Fixed issues

IDCategoryDescription

DEM-195

API

Fixed a type in the method name of LibraryManager.unassignContentAssetFromLibraryFolder

DEM-218

Module

Fixed a name conflict between the module components

12. Version 1.7.0

12.1. Update Notice

12.1.1. New module name

Demandware was renamed to Salesforce Commerce Cloud. Therefore the module got a new name as well: ContentConnect for Salesforce Commerce Cloud

12.1.2. Content Integration API

ContentConnect supports the usage of the Content Integration API. Chapter 8 of the documentation describes the integration with FirstSpirit.

Besides the steps described in the documentation, further adjustments are necessary to use the Content Integration API in existing projects.

First, in the format template preview_generation the following code snippet should be moved to the top of the enclosing JSP scriptlet:

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

Second, the new template include_html must be created manually. Use the following content:

//!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);

12.1.3. Extended configuration options for detail pages

With the new version it is possible to configure more than one FirstSpirit page template for detail pages for categories. Therefore the cartridge needs to be updated in exisitng projects.

12.2. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.2

-

12.3. Fixed issues

ProductVersion(s)Notice

DEM-207

Service

Special characters in product ids are correctly encoded for in requests

12.4. New features

ProductVersion(s)Notice

DEM-173

Detail pages

Depending on the render template of a category different page templates for detail pages can be chosen

DEM-183

Services

The module uses the OCAPI verison 16.9

DEM-187

Documentation

Documented the usage of the Content Integration API

DEN-193

Module

Renaming the module to ContentConnect for Salesforce Commerce Cloud

13. Version 1.6.1

13.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

13.2. Fixed issues

IDCategoryDescription

DEM-171

Templates

Fixed template import problem

14. Version 1.6.0

14.1. Update Notice

When linking a product, editors can now select values for variation attributes. That allows to link partly specified product variations.

When a master product is dragged and dropped, a dialog is shown that offers the editor to select values for the different variation attributes of the product. Figure Product specification shows this dialog for a product that exists in different colours and sizes.

Product specification
Figure 1. Product specification


In order to use this feature, two adjustments in the link template are necessary.

First you have to add a hidden textfield to the form:

<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>

Furthermore the FS_BUTTON needs a new parameter:

<PARAM name="variationAttributes">#field.variationAttributes</PARAM>

Afterwards the dialog will be shown whenever a master product is dragged and dropped.

To use the selected values in the channel, the interface ProductManager offers the new method convertVariationValuesJSON2List. This method takes the value of the hidden text field variationAttributes and creates a list of VariationValue objects. These store the ids of the selected variation attributes and the ids of the selected values.

14.2. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

14.3. Fixed issues

IDCategoryDescription

DEM-156

Documentation

The method getImage() is not part of the Product interface

14.4. New features

IDCategoryDescription

DEM-122

Product report

Select variation attributes when linking products

DEM-153

Detail pages

Set a default value for site store folder

15. Version 1.5.10

15.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

15.2. Fixed issues

IDCategoryDescription

DEM-152

Category report

Categories with detail pages will not be marked

16. Version 1.5.9

16.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

16.2. Fixed issues

IDCategoryDescription

DEM-106

Documentation

Fixed a rendering error in the documentation

DEM-135

Cartridge

Removed hard coded links

DEM-136

Cartridge

Removed obsolete template

17. Version 1.5.8

17.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

17.2. Fixed issues

IDCategoryDescription

DEM-150

Report

Category report causes an exception in projects that don’t use the module

18. Version 1.5.7

18.1. Update Notice

18.1.1. New API

The ContentConnect API has been extended with this version of the module.

First, the package com.espirit.moddev.demandware.manangers has been extended. Besides ProductManager, it now contains the interfaces LibraryManager and SlotConfigurationManager. Using these interfaces one can delete content assets, library folders and slot configurations.

Another important change is the introduction of the package com.espirit.moddev.demandware.factories. This package contains the class ManagerFactory that can be used to create instances of the interfaces mentioned above. If the ContentConnect module is installed, ManagerFactory will be accessible server-wide and can therefore be used e.g. in BeanShell scripts, workflows or schedule entries.

Analogous to ManagerFactory, XmlCollectorFactory provides means to create instances of the interface XmlCollector.

ManagerFactory as well as XmlCollectorFactory used to be FirstSpirit executables in previous versions of the ContentConnect module. These executables are still present, but their implementing classes have been renamed to ManagerFactoryExecutable and XmlCollectorFactoryExecutable. Despite this change, adjustments in existing projects are not necessary, since executables are accessed by their name. The names of the two executables haven’t been changed.

More information about the ContentConnect API can be found in the provided Javadoc documentation.

18.1.2. Detailpages

The ContentConnect module now allows to easily create detail pages for products and categories. For this purpose a button is shown on every report item, that opens the form of a project specific page template. A detail page will be based on this template and the form input.

Anlegen einer Detailseite
Figure 2. Anlegen einer Detailseite


Dialog zum Anlegen einer Detailseite
Figure 3. Dialog zum Anlegen einer Detailseite


18.2. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

18.3. New features

IDCategoryDescription

DEM-40

API

New api for deleting content assets and slot configurations

DEM-51

Report

Create detail pages for products and categories

DEM-114

Report

Improved flyout in the products report

19. Version 1.5.6

19.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

19.2. New features

IDCategoryDescription

DEM-130

Configuration

Definition of the locale to be used

DEM-131

Configuration

Definition of refinements

20. Version 1.5.5

20.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

20.2. Fixed issues

IDCategoryDescription

DEM-149

API

The interface Product again provides methods to query custom attributes

21. Version 1.5.4

21.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

21.2. Fixed issues

IDCategoryDescription

DEM-144

Report

A configured image service is used for the product image in the flyout as well

DEM-145

Report

Flyout is shown for products without an image as well

DEM-148

Report

Flyout is shown for products without a price as well

21.3. New features

IDCategoryDescription

DEM-108

Configuration

Added checkbox for activation of category report

22. Version 1.5.3

22.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

22.2. Fixed issues

IDCategoryDescription

DEM-132

Cartridge

Added missing resource bundles

23. Version 1.5.2

23.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

23.2. New features

IDCategoryDescription

DEM-80

Product report

It is possible to find a product variation by searching the ID of the product variation.

24. Version 1.5.1

24.1. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

24.2. Fixed issues

IDCategoryDescription

DEM-118

Templates

Missing referenced media folder

25. Version 1.5.0

25.1. Update Notice

DemandwareConnect 1.5.0 delivers improved performance and communicates with Demandware via the FirstSpirit server and not the FirstSpirir client as it used to do.

25.1.1. Migration

DemandwareConnect 1.5.0 contains several changes and new features. Therefore it is necessary to perform some migration steps if a prior version of the module is installed. These steps are listed below and should be executed in the same order they are listed:

  • Backup the project app properties:

    • Client ID
    • Base URL
    • Category Search (true|false)
    • View type priority
    • Imageservice base URL
  • Remove the project app of the currently installed module version.
  • Do the same for the web component.
  • Uninstall the currently installed module version in order to install DemandwareConnect 1.5.0. The installation process is described in the documentation. Simply updating the module is not possible.

After the installation of the new module some templates need to be adjusted.

25.1.2. Scripts

If the scripts CreateProductManager (reference name "createproductmanager") and CreateXmlCollector (reference name "createxmlcollector") do not exist, they need to be created using the stated reference names and the following contents:

CreateProductManager. 

#!executable-class
ManagerFactory

CreateXmlCollector. 

#!executable-class
XmlCollectorFactory

25.1.3. Project Settings

The initialization of the xml collectors needs to be adjusted in the project settings template. Furthermore, the instantiation of Connector must be replaced because now the interface ProductManager must be used to request product information in templates.

Xml collector for the content library:

old. 

$CMS_SET(ps_xmlCollector,class("com.espirit.moddev.demandware.xml.DemandwareXmlCollector").newInstance())$

new. 

$CMS_RENDER(script:"createxmlcollector",variableName:"ps_xmlCollector")$

Xml collector for the content slot configuration:

old. 

$CMS_SET(ps_xmlCollectorContentSlot,class("com.espirit.moddev.demandware.xml.DemandwareXmlCollector").newInstance(false))$

new. 

$CMS_RENDER(script:"createxmlcollector", variableName:"ps_xmlCollectorContentSlot", createLibraryNode:false)$

Object for requesting product information:

old. 

$CMS_SET(ps_DWRconnector,class("com.espirit.moddev.demandware.products.Connector").create(#global))$

new. 

$CMS_RENDER(script:"createproductmanager", variableName:"ps_productManager")$

25.1.4. Components

Some components in the module have been renamed. Therefore all occurrences of FSDWC_ need to be replaced by DemandwareConnect_. The product drop handler is one of the components that have been renamed.

25.1.5. Product Manager

The interface ProductManager is incompatible with the public interface of the formerly used class Connector. Therefore, the retrieval of product information must be adjusted:

queryProduct(old). 

ps_DWRconnector.queryProduct(for_product.id)

loadProduct (new). 

ps_productManager.loadProduct(for_product.id)

25.1.6. API Changes

Besides the replacement of Connector by ProductManager, the interfaces Product and Category have been modified as well. Corresponding template changes might be necessary.

25.2. Compatibility

ProductVersion(s)Notice

FirstSpirit

5.1

-

25.3. Fixed issues

IDCategoryDescription

DEM-91

Project component

Exception when opening the project app configuration for the first time

DEM-95

Product report

Exception if the search query is empty

DEM-96

Product report

Exception when searching for '*' in all categories

DEM-103

Product report

Exception if the search has no results

DEM-105

Project component

Exception when opening a project in the SiteArchitect that does not use the DemandwareConnect project app

DEM-107

Project component

Exceptions when opening a project if the project component config is empty

25.4. New features

IDCategoryDescription

DEM-13

Product report

Improved retrieval of the available categories

DEM-22

Service

Communication with Demandware via the FirstSpirit server

DEM-23

Templates

Modified instantiation of the object for requesting product information

DEM-24

Documentation

Updated and extended documentation

DEM-30

API

Updated interface Product

DEM-38

Documentation

English version of the Hosting Offer document

DEM-45

Product report

Improved product search

DEM-49

Product report

Listing all products within a category

DEM-54

Module

Improved scoping of the module classes

DEM-59

Product report

Improved loading behaviour when opening the report

DEM-64

Product report

Improved loading behaviour if the search has no results

DEM-75

Templates

Automatic template import

DEM-79

Documentation

JavaDoc for API classes

DEM-99

Documentation

English version of the documentation

DEM-100

Documentation

Documentation of XmlCollectorFactory and ManagerFactory

26. Help

The Technical Support of the e-Spirit AG provides expert technical support to customers and partners covering any topic related to the FirstSpirit™ product. You can get and find more help concerning relevant topics in our community.