Install Bloomreach B2B Commerce Accelerator
Info: This feature requires a standard or premium Bloomreach Content license. Contact Bloomreach for details.
Starting with version 14.3, Java-based Accelerators and Connectors are deprecated. Use the GraphQL Service for new implementations.
Overview
From version 14.2, install the Bloomreach B2B Commerce Accelerator using the Maven plugin instead of downloading the Boot project. For instructions on the previous approach, see Install B2B Commerce Using Boot Project.
Purpose
Install the Bloomreach B2B Commerce Accelerator with the Maven plugin and connect it to your commerce backend, such as Salesforce B2B Commerce.
Background
The Bloomreach B2B Commerce Accelerator Maven plugin adds the accelerator to your Bloomreach Content project, enabling integration with your commerce backend and Bloomreach Discovery.
You can configure the accelerator project with a supported commerce backend and Bloomreach Discovery. Currently, Salesforce B2B Commerce is the only supported B2B backend. This page provides all steps required to integrate with Salesforce B2B Commerce.
The following sections cover installation, local setup, backend connection, deployment, and Salesforce-specific configuration.
Prerequisites for Salesforce B2B Commerce Integration
You need administrative access to Salesforce B2B Commerce to complete the integration. Most integrations target existing storefronts. Ensure your configuration aligns with the Salesforce B2B Commerce: Set Up a Storefront documentation.
The merchant account used must have access to the full product catalog and pricing to retrieve product data in category and product pickers.
If you cannot connect or retrieve products from Salesforce B2B Commerce, review the FAQ.
Install B2B Commerce Accelerator on Bloomreach Content
Prepare your Bloomreach Content project before installing the accelerator. If you do not have a project, follow Get Started with Bloomreach Content to create one and configure the basics.
In your project root, run the following command to install the B2B Commerce Accelerator. Replace 14.3.3 with the version matching your Bloomreach Content installation.
mvn com.bloomreach.commercedxp.b2b:starterstoreb2bboot-maven-plugin:14.3.3:install \
-DpluginRepository=https://maven.bloomreach.com/repository/maven2-enterprise
The Maven plugin (com.bloomreach.commercedxp.b2b:starterstoreb2bboot-maven-plugin) adds the following to your project:
- Project configuration files (e.g.,
conf/*.xml,conf/*.properties,web.xml) - Maven properties and dependencies
- Default B2B Commerce Accelerator webfiles
- Bootstrapping configuration and content YAML files
- Updater script for HST configurations and example content
Hint: The B2C Commerce Accelerator Maven plugin should automatically configure shared dependencies for both the
cargo.runprofile and the distribution assembly (e.g.,src/assembly/shared-lib-component.xml). If you encounter shared dependency errors when running thecargo.runprofile, verify that the required dependencies are included, as shown below.
<profile> <id>cargo.run</id> <build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven3-plugin</artifactId> <configuration> <!-- SNIP --> <container> <!-- SNIP --> <dependencies> <dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-targeting-shared-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>org.onehippo.cms7</groupId> <artifactId>hippo-addon-crisp-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-universal-pixel-integration-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.bloomreach.commercedxp</groupId> <artifactId>starterstore-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.bloomreach.commercedxp.b2b</groupId> <artifactId>starterstore-b2b-api</artifactId> <classpath>shared</classpath> </dependency> </dependencies> </container> </configuration> </plugin> <!-- SNIP --> </plugins> </build> <!-- SNIP --> </profile>
Set Up Local Development Environment
Configure Commerce Backends
Set the connection properties for your commerce backends in the Bloomreach Accelerator Configuration File. Detailed property descriptions are provided in the Install Integration Salesforce Components section. The following example shows typical configuration values:
# Bloomreach Accelerator parameters for bloomreach backend service.
bloomreach.cache.enabled = true
bloomreach.account.id = 0000
bloomreach.api.base.url = http://core.dxpapi.com/api/
bloomreach.domain.key = your_brsm_instance
bloomreach.view.id =
bloomreach.widgets.auth.key =
# StarterStore parameters for SalesForce B2B Commerce backend service.
salesforcecc.cache.enabled = (e.g. true or false)
salesforcecc.clientId = (e.g your Salesforce Connected App Consumer Key under Build -> Create -> Apps)
salesforcecc.clientSecret = (e.g. your Salesorce Connected App Consumer Secret under Build -> Create -> Apps)
salesforcecc.username = (e.g. SalesForce B2B Merchant/Service Account Username)
salesforcecc.password = (e.g. SalesForce B2B Merchant/Service Account Password)
salesforcecc.securityToken =
salesforcecc.baseUrl = (e.g. https://<your_instance>.force.com/DefaultStore)
salesforcecc.accessTokenUri = (e.g. https://<your_instance>.salesforce.com)
salesforcecc.storefront.user.signin.url = (e.g. https://.force.com/DefaultStore/SiteLogin?startURL=/CustomSiteLogin)
salesforcecc.storefront.user.signout.url = (e.g. https://<your_instance>.force.com/DefaultStore/secur/logout.jsp)
salesforcecc.storefront.user.register.url = (e.g. https://<your_instance>.force.com/DefaultStore/UserRegister)
salesforcecc.storefront.user.changePassword.url = (e.g. https://<your_instance>.force.com/DefaultStore/ChangePassword)
salesforcecc.storefront.locale.language.code = (e.g en_US)
salesforcecc.storefront.locale.currency.ISO3code = (e.g. USD)
Build the application with Maven:
mvn clean verify
Run the application:
mvn -P cargo.run
Execute Updater Script: Accelerator - Install StarterStore B2B Boot Configurations
After the application starts, open the CMS UI and navigate to the Updater Editor. Run the Accelerator - Install StarterStore B2B Boot Configurations script to install HST configurations and example content for the B2B Commerce Accelerator.
Remove Example Product/Category Documents
The updater script copies example category and product documents to your content folder. See the Upgrade Notes for v14.2 for details.
To prevent duplicate product or category validation errors, depublish all documents in the example products and categories folder:

Verify Installation
Confirm that the CMS is accessible at http://localhost:8080/cms/ (default credentials: admin/admin).
To verify backend connectivity, open the Content application and browse the products folder. Open an example product document or create a new one. Ensure your commerce backend is selected under Commerce Connector, then click Browse under Related External Product. You should be able to browse products from your commerce backend.
Hint: Automated migration from an existing project to a B2B Commerce Accelerator project is not supported. Start with a new project for best results.
Deploy in a Server Environment
Deployment for the B2B Commerce Accelerator follows the standard Bloomreach Content deployment process.
Deploy in Bloomreach Cloud
For deployment in Bloomreach Cloud, follow Deploy in Bloomreach Cloud.
Every Commerce Accelerator project requires the braccelerator.properties configuration file. Deploy the distribution with this file as described in Set Environment Configuration Properties, renaming the uploaded file to braccelerator.properties. Both conf/platform.xml and conf/hst.xml reference this file.
Deploy a Project Distribution in Other Environments
For environments outside Bloomreach Cloud, follow Create a Project Distribution and Deploy a Project Distribution.
Ensure the braccelerator.properties configuration file is included in the deployed distribution. Both conf/platform.xml and conf/hst.xml reference this file.
Install Integration Salesforce Components
Complete the following steps to integrate with Salesforce B2B Commerce. Before starting, ensure your Salesforce B2B Commerce storefront is set up as described in the Salesforce documentation. If you encounter connectivity or product retrieval issues, consult the FAQ.
Storefront Integration Components
The Bloomreach Commerce Accelerator integrates with the Salesforce B2B Commerce storefront. User sign-in and sign-up are delegated to Salesforce. The B2B project includes Visualforce Pages and Controllers under src/main/salesforcecc. Copy or replace these Visualforce Pages and Apex classes in your Salesforce organization as required.
For version 14.2, the plugin does not add Visualforce Pages and Controllers to src/main/salesforcecc. Download them from salesforcecc_files_v14.2.zip.
Site Redirects
Create a Visualforce Page named SiteRedirect using the content from src/main/salesforcecc/SiteRedirect.page. Enable this page in your Salesforce profile:
- In Force.com Setup, search for "Profiles"
- Select your customer community profile
- Click "Visualforce Page Access"
- Move
SiteRedirectfrom "Available" to "Enabled"

Delegated Registration
Create a Salesforce Controller for user registration. Use the logic from src/main/salesforcecc/UserRegister.controller.
Create the UserRegister Visualforce page using src/main/salesforcecc/UserRegister.page. Enable public access for this page as described above for SiteRedirect.
Update the Login page logic:
- Go to Build → Develop → Visualforce Components in Salesforce
- Locate
SiteLoginand edit it - Replace the content with
src/main/salesforcecc/SiteLoginComponent.page - Save your changes

Set the correct redirect URL in the Bloomreach Accelerator .properties file under salesforcecc.storefront.user.registration.url.
Enable the UserRegister Visualforce page and any custom Apex classes in your customer community profile. For more information, see Salesforce documentation.

After configuration, access <your_brX_instance>/login. You should be redirected to the Salesforce registration page. Register a new user and verify that you are redirected back to the Bloomreach B2B Commerce Accelerator site.
Federated Authentication Integration
Create a Visualforce Controller named SitePostLoginController under Build → Develop → Apex Classes. Use the content from src/main/salesforcecc/SitePostLogin.controller. This controller manages login tokens shared between brX and Salesforce, using the Salesforce Platform Cache.
To create a Platform Cache partition:
- In Force.com Setup, search for "Platform Cache"
- Click "Platform Cache" under Develop
- Click "New Platform Cache Partition"
- Set
tokenas the label and name, and mark as default - Allocate space based on expected user volume
- Save the partition

Next, create a Visualforce page using src/main/salesforcecc/SitePostLogin.page. Ensure:
- The page is enabled in your customer community profile
- The
SitePostLogincontroller is enabled in Apex Access
Update the federated login URL in your .properties file. For example, if your Visualforce page is CustomSiteLogin, use that value for salesforcecc.storefront.user.signin.url.
Handle logout by specifying the Salesforce StoreFront logout URL (e.g., https://<your_b2b_instance>/DefaultStore/secur/logout.jsp) in the .properties file as salesforcecc.storefront.user.signout.url.
Test the login flow by visiting <your_brX_instance>/login, logging in with your account, and verifying that you are redirected back to brX with your user details displayed.
Delegated Password Change
Customize the ChangePassword Visualforce page using src/main/salesforcecc/ChangePassword.page. This page includes a hidden field for the redirect URL.
Update the ChangePasswordController Apex class with the content from src/main/salesforcecc/ChangePassword.controller.
Users can change their password via https://<your_brX_instance>/account/creds. This redirects to the Salesforce Change Password Visualforce Page. Configure the redirect URL in the .properties file with salesforcecc.storefront.user.changePassword.url.
Test password change by visiting the credentials page, following the steps, and logging in again with the new password to confirm redirection back to brX.
Customer Community Settings
After installing Visualforce pages and controllers, configure the customer community:
- Open community settings as described in Salesforce documentation
- In the Administration tab, enable the "Customer Community User" or equivalent profile
- Click "Members" and add the profile

- Click "Login & Registration" and configure as shown:

Enable "Allow external user to Self-Register" if you want to support self-registration. For reference, see Salesforce documentation.
Set the "Logout Page URL" to your brX site /logout sitemap item to trigger logout.
Customer Community Email
To customize email templates, edit the "Classic Email Template" as described in Salesforce documentation. If you add a new template, update the configuration in your Customer Community settings:

References
- Salesforce B2B Commerce Documentation: https://cloudcraze.atlassian.net/wiki/spaces/CCRZDOCS49S/