Upgrade 14.1 to 14.2
Introduction
Goal
Upgrade a Bloomreach Experience Manager implementation project from version 14.1.x to 14.2.y.
Upgrade Steps
Perform Generic Minor Upgrade Steps
Follow the generic instructions for minor upgrades.
(Optional) Change the Authorization header
14.2.1 introduced jwt-authentication, which by default uses the Authorization header. In case your implementation project already uses the Authorization header for a different purpose, please make sure to configure a different header. See Page Model API JWT Authentication for instructions and more information.
(Optional, Recommended) Remove Camunda for Project Review Management
As of Bloomreach Experience Manager 14.2, the Projects feature no longer requires Camunda. Support for Camunda will be removed in the next major release (15).
If your implementation project uses the Projects features, it is recommended to remove Camunda when upgrading to version 14.2. See Use Project without Camunda for instructions.
Additional Upgrade Steps for SPA Projects
In Bloomreach Experience Manager 14.2, channel manager integration of external SPAs has been simplified. It is no longer required to implement a reverse proxy using the URL Rewriters. Instead, the preview channel URL can now be configured through a single JCR property.
Remove URL Rewriter Reverse Proxy Rules
Remove the URL Rewriter rules previously used to reverse proxy the external SPA.
Configure HST Preview Channel URL
On the channel's hst:channelinfo node, set the String property org.hippoecm.hst.configuration.channel.PreviewURLChannelInfo_url to the URL of the SPA, for example 'http://localhost:3000':
/hst:myproject/hst:configurations/myproject/hst:workspace/hst:channel/hst:channelinfo: jcr:primaryType: hst:channelinfo org.hippoecm.hst.configuration.channel.PreviewURLChannelInfo_url: http://localhost:3000
For more information, see Configure HST for SPA SDK.
Update SPA Configuration
In your SPA, update the BrPage component configuration to enable setup without a reverse proxy.
Old 14.1 component configuration:
import { BrPage } from '@bloomreach/react-sdk'; const configuration = { httpClient: axios, options: { live: { cmsBaseUrl: process.env.REACT_APP_LIVE_BR_BASE_URL, spaBaseUrl: process.env.REACT_APP_LIVE_SPA_BASE_URL, }, preview: { cmsBaseUrl: process.env.REACT_APP_PREVIEW_BR_BASE_URL, spaBaseUrl: process.env.REACT_APP_PREVIEW_SPA_BASE_URL, }, }, request: { path: `${window.location.pathname}${window.location.search}`, }, }; const mapping = { Banner, Content }; return <BrPage configuration={configuration} mapping={mapping} />;
New 14.2 component configuration:
import { BrPage } from '@bloomreach/react-sdk'; const configuration = { httpClient: axios, cmsBaseUrl: process.env.REACT_APP_CMS_BASE_URL, spaBaseUrl: process.env.REACT_APP_SPA_BASE_URL, request: { path: `${window.location.pathname}${window.location.search}`, }, }; const mapping = { Banner, Content }; return <BrPage configuration={configuration} mapping={mapping} />;
Similarly, update the environment variables in your SPA's .env file(s) and any other files where these variables are referenced.
Old 14.1 environment variables:
REACT_APP_LIVE_BR_BASE_URL=http://localhost:8080/site REACT_APP_LIVE_SPA_BASE_URL= REACT_APP_PREVIEW_BR_BASE_URL=http://localhost:8080/site/_cmsinternal REACT_APP_PREVIEW_SPA_BASE_URL=/site/_cmsinternal?bloomreach-preview=true
New 14.2 environment variables:
REACT_APP_CMS_BASE_URL=http://localhost:8080/site REACT_APP_SPA_BASE_URL=