Optimizely Configured Commerce Version Upgrade Process

Optimizely Configured Commerce Upgrade
Optimizely Configured Commerce Version Upgrade Process
Akash Sharma
Akash Sharma
Software Engineer - Optimizely

March 27, 2025

Upgrading your Optimizely Configured Commerce platform allows you to access modern features, enhance system performance, and maintain security measures. Executing an upgrade process leads to lower disruptions and fully utilizing new features. The upgrade procedure divides itself into two fundamental sections.
  • STS Releases: These follow regular month-to-month support. A week before a new release, updates to the previous version cease, and all hotfixes are applied to the current release.
  • LTS Releases: New features are introduced only in new branches (three times a year), which include features tested in prior STS releases. LTS branches receive hotfixes during their four-month lifecycle, with hotfixes stopping just before the next LTS release.
This guide will help you navigate the upgrade process smoothly and efficiently, irrespective of release type.
Discover Our Optimizely Solutions Today!

Why Upgrade Optimizely Configured Commerce?

The upgrade of Optimizely Configured Commerce brings forth significant advantages to your platform.
  1. Enhanced Features: The new releases provide users with improved tools that enhance system efficiency and customer experience.
  2. Performance Improvements: The platform’s scalability and loading speed improve because optimization work enables better handling of increased traffic.
  3. Security Updates: Security Upgrades incorporate solutions for security vulnerabilities and essential patches to defend your platform from new threats.
  4. Regulatory Compliance: Your platform respects contemporary industry requirements and legislation, thus avoiding compliance-associated issues.

Preparing for the Upgrade

Proper preparation is the fundamental aspect of a successful upgrade and requires following these crucial points.
  1. Review Release Notes: Examine the updated release notes to learn about additional features, modifications, and essential changes that will occur with the new version. This information will help you customize your applications.
  2. Assess Customizations and Integrations: Analyze all custom code files, third-party plugins, and system integrations that need to be handled during the upgrade process. Prepare anticipated modifications that will safeguard system compatibility throughout the update process.
  3. Verify System Requirements: Check the necessary system requirements by ensuring your hosting platform meets all updated specifications for the new version, including server setups and dependent technologies and framework configurations.

The Upgrade Process

Once you’ve completed the preparatory steps, follow the process below for an effective upgrade:

Step 1: Create a Sandbox Backup Branch

The first task is to create a backup branch because you need code accessibility for rollback procedures.
  1. Start the terminal program or command prompt at the project repository location.
  2. To set up a backup branch, users should execute this command.git checkout -b backup/sandbox-MMDDYYYY e.g., git checkout -b backup/sandbox-01012025 Replace MMDDYYYY with the current date to maintain clarity and track the version.
  3. Push the backup branch to the remote repository: git push origin backup/sandbox-MMDDYYYY
  4. Proceed with the upgrade, knowing backup is available.

Step 2: Create an Upgrade Branch

After backing up the sandbox environment, create a new branch for the version upgrade.
    1. Navigate the project repository in the terminal.
    2. Create a new upgrade branch using Optimizely’s version number:
    3. Git checkout -b feature/opti-version-upgrade-n.n.nnnn.nnnne.g., git checkout -b feature/opti-version-upgrade-5.2.2412.1668

      Replace n.n.nnnn.nnnn with the Optimizely version, e.g., 5.2.2412.1668

    4. Push the newly created upgrade branch to the remote repository: Git push origin feature/opti-version-upgrade-n.n.nnnn.nnnn
    5. Proceed with the upgrade process on this branch.

Step 3: Create a Master/Main Backup Branch

After backing up the sandbox environment, create a backup branch of the Master/Main branch to ensure that existing code remains accessible if a rollback is needed.
  1. Navigate the project repository in the terminal.
  2. Create a new upgrade branch using Optimizely’s version number:git checkout -b backup/master-mmddyyyy e.g., git checkout -b backup/master-01012025 Replace MMDDYYYY with the current date to maintain clarity and track the version.
  3. Push the newly created upgrade branch to the remote repository:git push origin backup/master-mmddyyyy
  4. Proceed with the upgrade process on this branch.

Step 4: Configure Git Credentials and Add Upstream Repository

To ensure the latest updates from Optimizely’s repository, update the Git credentials and configure the upstream repository.
  1. Change Git Credentials to an authorized Git account
  2. Add Upstream Repository
    • Navigate to the project’s directory in File Explorer.
    • Open Git Bash and run the below commands one after another: git remote add upstream https://github.com/InsiteSoftware/insite-commerce-cloud.git
  3. Push Master Branch to Set Upstream git push –set-upstream origin master
  4. Pull the Latest Changes from Upstreamx git pull the upstream master
  5. Verify the Setup
    • Run “git remote -v” to confirm upstream is added.

Note: This setup is available at the URL below: https://world.episerver.com

/documentation/developer-guides/b2b-commerce/getting-started-with-epi-b2b-commerce-cloud/epi-b2b-commerce-cloud-environment-setup-for-developers/

Step 5: Connect to the Original Master Branch and Merge Upstream

To sync the latest updates from the upstream repository into the master branch, follow these steps in Visual Studio:
  1. Connect to the Master Branch
    • Open Visual Studio and go to Git Changes.
    • Click on Manage Branches.
    • Switch to the master branch if not already selected.
  2. Verify Upstream Branch Availability
    • In Manage Branches, you should see the upstream branch under the origin.
  3. Fetch the Latest Changes from Upstream
    • Right-click on upstream/master.
    • Click Fetch to retrieve the latest updates.
  4. Switch Back to Your Account Credentials
  5. Merge Upstream Changes into Master
    • In Manage Branches, right-click on origin/upstream.
    • Click Merge upstream/master to master.
    • Resolve any conflicts if prompted.
  6. Confirm the Merge
    • Check the Git Changes tab to verify the latest commits.

Step 6: Merge the Latest Changes from the Master into the Upgrade Branch

To ensure your upgrade branch is current, merge the latest changes from origin/master into upgrade/sandbox-n.n.nnnn.nnnn
  1. Take the Latest from origin/master
    • Open Visual Studio.
    • Go to Manage Branches.
    • Right-click on origin/master and select Fetch to get the latest updates.
  2. Merge origin/master into the Upgrade Branch
    • Switch to the upgrade/sandbox-n.n.nnnn.nnnn branch.
    • Right-click on origin/master and select Merge origin/master to upgrade/sandbox-n.n.nnnn.nnnn.
  3. Handle Merge Conflicts (If needed)
  4. Verify and Build the Project
    • Open Git Changes to ensure all mergers are successful.
    • In Solution Explorer, right-click on the Extensions project and select Reload Project.
    • Clean and build all projects
  5. Run Frontend Setup
    • Open Visual Studio Code.
    • Navigate to the project directory and install dependencies:
    • Start the local server with npm run start blueprint name & verify that all functionalities work as expected
  6. Commit and Push Changes
    • When you make changes within your Extensions project, you must take one extra step after building your project and solution: the Extensions.dll file produced from the build must be placed inside the /dist directory in your local copy of B2B Commerce. For more details, https://docs.developers.optimizely.com/configured-commerce/docs/upgrading-b2b-commerce-cloud.
    • Return to Visual Studio.
    • Open Git Changes, select Commit All, and Push.
    • Ensure the latest updates are pushed to upgrade/sandbox-n.n.nnnn.nnnn.

Step 7: Update Custom Front-End Code

Once you have the branch with the updated base code, it’s time to integrate these upgrades into our customized FE code. To do this, follow the steps provided:
  1. Open a Pull Request: Open a Pull Request (PR) from your upgrade to your sandbox branch. Do not merge it yet; opening the PR helps track the latest base code changes.
  2. Update Custom Front-End Code: Ensure your custom front-end (FE) code and integrations work as expected & are compatible with the new updates. Follow these steps:
    • Run blueprint locally with npm run start blueprintName.
    • Your FE folder structure will look like this.
FE Folder Structure
  • Review each file under src/Overrides and src/MobiusOverrides and their subfolders. Compare them with the updated base code. If any files are updated in the new code base, integrate these changes into your overridden files and test to ensure your customizations are intact.
  • For example, if you have an overridden file, such as FindLocationModal.tsx under Overrides/Components, check the upgraded base code for any added code and incorporate those changes into your custom file.
Overridden File
  • To look for base code changes, search with the same file name in your PR. If any changes are present, as shown in the attached screenshot, we need to incorporate those in our overridden file.
Base Code Changes
  • Again, this process must be followed for every file in src/Overrides and src/MobiusOverrides.
  • In the Handlers folder, you’ll encounter two types of handlers:
  • Handler Extensions: Modified versions of existing handlers.
  • Custom Handlers: New handlers created for specific feature requirements.
    • Focus only on Handler Extensions. Compare these extensions with their counterparts in the upgraded base code, implement necessary changes, and test to ensure compatibility with your customizations.
    • After making the changes, test your updates locally & make sure everything works as expected.
    • Run build command npm run build to check if the build is successful.
    • Once validated, push your code to the upgrade branch and merge the previously opened PR into the sandbox branch to deploy changes to the sandbox environment.

Step 8: Post-Upgrade Monitoring

Once the upgrade is live, closely monitor the system’s performance and user feedback. Check error logs and performance metrics to address any issues that may arise quickly.
Conclusion
An upgrade of your Optimizely Configured Commerce platform is a fundamental method for improving your eCommerce system’s functionality. Contact Royal Cyber for assistance with performing upgrades with a structured process, testing all customizations, and following established best practices to achieve a smooth transition to the new version. Using these updates to maximize usability and competitiveness, your organization will be enhanced with modern features and better security.

Author

Poonam Chandersy
Talk With Our Expert

    [recaptcha]

    Recent Blogs
    • Upgrading to Optimizely CMS 13: What Your Team Actually Needs to Decide Before Writing a Line of Code
      Learn how to plan an Optimizely CMS 13 upgrade with .NET 10, Optimizely Graph, Visual …
      Read More »
    • AI Meeting Notes: Automating Summaries and Action Items from Video Content
      Learn how AI meeting notes automate summaries, action items, and insights from video meetings using …
      Read More »
    • Beyond Traditional Search: Why Ecommerce Brands Must Optimize for AI Discovery
      Boost AI discovery for ecommerce with AEO, GEO, and MetafyAI. Optimize product data, structured content, …
      Read More »