Skip to main content

Walkthrough: Upgrading the SFMCBDE connector to version 7.0 in Docker

Abstract

How to upgrade the Salesforce Marketing Cloud Behavioral Data Exchange connector on Docker from version 6.0 to 7.0.

You can upgrade Salesforce Marketing Cloud Behavioral Data Exchange (SFMCBDE) on your Docker installation from 6.0 to SFMCBDE 7.0. SFMCBDE 7.0 is compatible with Sitecore 10.2.

You must upgrade your SXP installation to 10.2 and your SFMCBDE installation to 7.0 together.

Before you upgrade SFMCBDE for container 6.0 to SFMCBDE for container 7.0, you must have the following:

  • Sitecore Experience Platform (SXP) 10.1 deployed on Docker.

  • SFMCBDE 6.0 deployed on Docker.

  • An up-to-date backup of the current mssql databases.

This walkthrough describes how to:

  • Build new Docker images for SXP 10.2 and SMFCBDE 7.0

  • Build an mssql-upgrade image

  • Perform the upgrade

To upgrade SFMCBDE you must build new Docker images:

  1. Download the Sitecore container deployment package for 10.2 from the Sitecore download page. Extract it to your local workstation with the folder structure intact.

  2. Download the SFMCBDE container deployment package for 7.0 package from the Sitecore download page. Extract it to your local workstation with the folder structure intact.

  3. Perform steps 2 to 6 from the Prepare the installation files section in Install SFMC Behavioral Data Exchange in Docker without the Tenant Service.

  4. Go to the Sitecore container deployment 10.2 folder on your local machine. Go to the folder for the Windows version and topology you are using, for example, compose\ltsc2019\xp1. Create a folder and name it module.

  5. Perform steps 2 to 10 from the Build the Docker images section in Install SFMC Behavioral Data Exchange in Docker without the Tenant Service.

  6. Go to the previous Sitecore Container Deployment 10.1 folder, copy the databases from the mssql-data folder and paste them into the Sitecore Container Deployment 10.2 folder.

  7. Open the Windows console, go to Sitecore Container Deployment 10.2 folder and run the following commands:

    docker-compose build
    docker-compose up

To upgrade a Sitecore solution that has SFMCBDE installed, you must build a custom mssql-upgrade image.

To build the mssql-upgrade image:

  1. In the Resource files for Modules 1.0.0 section on the Sitecore download page, download the SFMCBDE Upgrade resources package and extract it to your local machine.

  2. In the upgrade resources, copy the SFMC - BDE Upgrade resources 1.0.0\6.0.0\Data folder and paste it into the upgrade folder for the Windows version and topology you are using, for example, ltsc2019\upgrade\xp1.

  3. In the SFMC - BDE Upgrade resources 1.0.0\6.0.0 folder, create a docker file and name it Dockerfile. In the file, add instructions to point its base image to the 10.2 mssql-upgrade image. The file looks, for example, like this:

    ARG BASE_IMAGE=${SITECORE_DOCKER_REGISTRY}sitecore-xp1-mssql-upgrade:${SITECORE_VERSION}
    FROM ${BASE_IMAGE}
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    # ADD SFMCBDE module
    COPY <Data folder local path> "C:\data\ResourceItems\10.2.0\modules"

    Note

    In the docker file, ensure that the ARG BASE_IMAGE value is pointing to the mssql-upgrade image and that Data folder local path is set to the folder you used in step 2.

  4. To build the mssql-upgrade image with SFMCBDE resources, open a PowerShell window, navigate to the folder where you placed the docker file, and run the following command:

    docker build . -t “<imageName>:<available port number>” command
  5. Verify that Docker has created an image with the name you specified.

To upgrade SXP and the connector:

  1. On your local machine, in a PowerShell window, navigate to the Sitecore Container Deployment 10.2 folder. Navigate to the upgrade folder for the Windows version and topology you are using, for example, ltsc2019\upgrade\xp1.

  2. In the topology folder, run the compose-init.ps1 script. This script updates the environment configuration file with the appropriate values for all the environment variables including the SQL username, SQL password, SQL Server address, and the Sitecore license file.

    Note

    For more information about running the script to prepare for the deployment, see the Installation Guide for Developer Workstation with Containers on the Sitecore download page.

  3. In the docker-compose.upgrade.yml file, update the image setting with the mssql-upgrade image you created previously.

  4. Open a new PowerShell window with administrator rights. Navigate to the upgrade directory.

  5. To perform the upgrade, run this command:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env up
  6. To check the status of the upgrade, run this command:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env ps
  7. When the upgrade process is completed, you can clean up your environment.

    If you ran the upgrade container in Docker Compose, from the Docker Compose folder for the topology that you upgraded, for example, sitecore-xp1, run the following PowerShell cmdlet:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env down