Bloomreach Commerce Accelerator 14.1.0 Upgrade Notes
Info: This feature requires a standard or premium Bloomreach Content license. Contact Bloomreach for details.
This page lists required actions and configuration changes when upgrading to Bloomreach Commerce Accelerator 14.1.0.
For a summary of new features and improvements in this release, see the Bloomreach Commerce Accelerator Release Notes.
Bloomreach Discovery Commerce Connector Document Updates
Replace Bloomreach Discovery Commerce Connector Documents
Update the Bloomreach Discovery Commerce Connector documents (for example, administration/commerce-connectors/bloomreach) in your CMS with the versions from the latest StarterStore Boot project. The new versions include configuration updates and improvements.
To update:
- Export the updated Commerce Connector documents from the latest StarterStore Boot project as YAML files using the CMS Console.
- Import the exported documents into your CMS using the CMS Console, replacing the existing versions.
Mark Connector Documents as Search and Merchandising Connector
Starting with version 14.1.0, you must explicitly specify whether a Commerce Connector document is for Bloomreach Discovery. After upgrading, verify that each Bloomreach Discovery Commerce Connector document in the CMS has the Search and Merchandising Connector? field selected. If the field is not selected, update the document and publish it.

commercetools Configuration Updates
From version 14.1.0 onward, commercetools configurations no longer require the username and password properties. Remove the following lines from your commercetools configuration:
commercetools.username = <commercetools_username>
commercetools.password = <commercetools_password>
You must also update the CRISP ResourceResolver configuration. In the CMS Console, update the crisp:beandefinition property at /hippo:configuration/hippo:modules/crispregistry/hippo:moduleconfig/crisp:resourceresolvercontainer/commercetools to match the following structure:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd"> <bean parent="abstractCrispSimpleJacksonRestTemplateResourceResolver" class="org.onehippo.cms7.crisp.core.resource.jackson.SimpleJacksonRestTemplateResourceResolver"> <property name="cacheEnabled" value="${cache.enabled}" /> <property name="baseUri" value="${api.base.url}" /> <property name="restTemplate"> <bean class="org.springframework.security.oauth2.client.OAuth2RestTemplate"> <constructor-arg> <bean class="org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails"> <property name="accessTokenUri" value="${accessTokenUri}" /> <property name="clientId" value="${clientId}" /> <property name="clientSecret" value="${clientSecret}" /> <property name="grantType" value="client_credentials" /> </bean> </constructor-arg> <constructor-arg> <bean class="org.springframework.security.oauth2.client.DefaultOAuth2ClientContext"> <constructor-arg> <bean class="org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest"> </bean> </constructor-arg> </bean> </constructor-arg> <property name="requestFactory" ref="org.springframework.http.client.ClientHttpRequestFactory" /> <property name="authenticator"> <bean class="org.onehippo.cms7.crisp.core.security.oauth2.client.CaseSensitiveBearerDelegatingOAuth2RequestAuthenticator"> <constructor-arg> <bean class="org.springframework.security.oauth2.client.DefaultOAuth2RequestAuthenticator"> </bean> </constructor-arg> </bean> </property> <property name="uriTemplateHandler"> <bean class="org.springframework.web.util.DefaultUriBuilderFactory"> <property name="encodingMode" value="VALUES_ONLY" /> </bean> </property> </bean> </property> <property name="resourceLinkResolver"> <bean class="org.onehippo.cms7.crisp.core.resource.FreemarkerTemplateResourceLinkResolver"> <property name="templateSource"> <value>http://www.example.com/products/current/sku/unknown/overview.html</value> </property> </bean> </property> <property name="resourceDataCache"> <bean class="org.onehippo.cms7.crisp.core.resource.SpringResourceDataCache"> <constructor-arg> <bean class="org.springframework.cache.ehcache.EhCacheCache"> <constructor-arg> <bean parent="abstractCrispResourceEhCache"> <property name="cacheName" value="demoProductCatalogsCache" /> <property name="maxEntriesLocalHeap" value="1000" /> <property name="maxEntriesLocalDisk" value="0" /> <property name="timeToLiveSeconds" value="60" /> <property name="timeToIdleSeconds" value="60" /> </bean> </constructor-arg> </bean> </constructor-arg> </bean> </property> </bean> </beans>