An approach to upgrade Sitecore from 8.x or 9.x to 10.x

 

An approach to upgrade Sitecore from 8.x or 9.x to 10.x

 

Introduction

 

If your current Sitecore website is running on 8.x or 9.x version and you are looking to upgrade this to Sitecore 10.x version, then this a good place to start.

 In this blog, I’ll try to explain the various details that needs to be considered while upgrading your Sitecore solution to 10.x version. These are aspects that are generally not covered in a “How-To” Guide which only explains the process of upgrading Vanilla Sitecore. This is an attempt to provide a 360 view on the Sitecore upgrade which will help you in carefully executing a complex upgrade program.

High Level Approach

The overall upgrade process can be sub divided in to three different stages

·         Assess & Prepare

o   Identify the pre-requisites – This may include Microsoft Visual C++ 2015 Redistributable, Files and scripts for upgrading  that can be downloaded from Sitecore Experience Platform download site

Files:

§  Sitecore 10.0.0 rev. 004346 (update package for 9.x).update > choose  8.1 or 8.2  according to version that you are upgrading from

§  Sitecore Update Installation Wizard 4.0.1 rev. 00153 for 8.x-9.0.zip

§  Sitecore 10.0.0. rev. 004346 (upgrade files).zip

§  Database Upgrade Script.zip

§  Disable xDB.zip

§  MarketingDefinitionsUpgrade.zip

o   Backup

§  Backup the databases, website and configurations so that It can be used to revert back in case of any unexpected outcome

o   Identify any breaking changes

§  Some modules like Web form for marketers, Lucence indexes have been replaced by newer modules like Sitecore Forms, SOLR etc hence such changes need to be identified so that they can be handled as separate migration activity

§  Identify bespoke modules that may have a out-of-the box feature in Sitecore-10.x. For eg. A custom AD SSO module can be potentially replaced by out-of-the-box feature

o   Check Helix compliance

§  Analyze the website and figure out if it is developed using the older non-helix guidelines. If Sitecore helix principles are followed, then analyze all the modules for complete adherence. Any non-compliance or deviation from Sitecore helix principles can be accommodated as part of the upgrade itself or as a separate activity post the AS-IS upgrade.

o   Preparing

Prepare a separate instance where the upgrade can be carried out

Refer to the upgrade guide from Sitecore website for the exact detailed steps but on a high level below are the activities involved

§  Backup and disable customizations

§  Disable the Sitecore modules

§  Disable the Email Experience Manager

§  Disable active Sitecore services

§  Restore the analytics items

§  Update the connection strings

§  Stop analytics and the xConnect services

·         Upgrade , Replace

Refer to the upgrade guide from Sitecore website for the exact detailed steps but on a high level below are the activities involved

o   Upgrade the databases core, master and web to be upgraded using scripts

o   experienceforms and exm_master are new databases to be deployed

o   Install and configure xConnect

o   Upload the Sitecore upgrade package and analyze the report

§  Check the Sitecore 10.x upgrade package analysis report

§  Install the Sitecore 10.x upgrade package

§  Review all the changes and update the configuration files

o   Configure Sitecore

§  Do the necessary Configuration file changes as per the upgrade guide

§  Check and correct the Patch configuration files with customizations

§  Review and update the Web.config customizations as required

§  Specify the Server role and the search provider

§  Remove any deprecated indexes from the configuration files

o   Framework / Core Libraries

§  Re-compiling of all the Visual Studio Projects with the target .NET Framework(4.8)

§  Retargeting Changes for Migration from .NET Framework to 4.8

§  Upgrade Log4Net ver 1.2.15 / 2.0.X to 2.0.12 which is supported by 10.x

o   Market Place Modules

If you have used marketplace modules, then find out if the functionality is available as a OOTB in Sitecore.

For eg. DeviceDetection (51 Degrees) is now a built-in module in Sitecore hence Remove Device Detection Module and related configurations

In some cases, an upgraded version of the same marketplace module that is compatible with Sitecore 10.x would be available either on Sitecore marketplace or on GitHub.

For e.g., 301RedirectModule ver 1.9 (via GitHub) is Upgraded for compatibility with Sitecore v10.0

In worst case scenarios both above options may not be available in such cases an alternate way to achieve the same functionality has to be checked out either by finding a similar module which is compatible to Sitecore10.x or custom creating a similar module

o   Other Libraries

§  Indexing - Lucene support is removed. Hence it is recommended to move towards a SOLR based solution.

§  Sitecore CM SSO – If there are any custom modules which are now available as part of 10.x then such module can be removed and default OOTB module can be configured

§  Application Insights – Need to change the App Insights DLL from version 2.1 to the one offered as part of Sitecore 10.0

o   Plug-in

§  TDS / Unicorn - Sitecore Out-of-the-box serialization Sitecore CLI should be used. This is optional and to be decided based on the project needs.

o   Website Modules

o   With the Sitecore version change, some of these DLLs (For e.g.: Sitecore.NVelocity.dll) have been dropped.

o   Such references will need to address in the application by referring to the corresponding DLL in Sitecore 10x.

o   Analyze the impact due to the extensions done on the Sitecore Kernel, Glass Mapper etc.

o   Movement to Helix Architecture

§  This will make the application futuristic. Future Version upgrades and tapping on the OOTB capabilities will be easier.

 

o   Built in Modules

Module

8.2.7

10.0.0

WebFormsForMarketers

 8.2.rev. 180329

Sitecore Forms

 Email Delivery

2

use EXM Delivery Cloud, Custom SMTP

  SPAM Check

1.2

part of Email Experience Manager (EXM)

 Email Preview 

1.2

part of Email Experience Manager (EXM)

Engagement Automation Live Session Agent

2

need to explore, must be part of 10.0 not clear evidence so far

SharePoint Connect 

2.3

(One version available on GitHub, but not sure if it supports 10.0)

 Active Directory

1.3

(*use federated authentication)

PXM Core

8.2

PXM

 Dynamics CRM Security Provider

2.3

(Sitecore Connect for Microsoft Dynamics 365 for Sales)

 Dynamics CRM Campaign Integration for WFFM 

2.2

(Migrate to Sitecore Forms)

 Dynamics CRM Connect

1.1—1.4.1

Sitecore Connect for Microsoft Dynamics 365 for Sales

Sitecore Connect™ for Sitecore DAM

1

upgrade to Sitecore Connect™ for Sitecore DAM (2.0)

 Salesforce Connect 1.4.1

1.4.1

(upgrade to 5.0.0)

  Email Experience Manager 

3.2

Sitecore EXM 10.0

  Media Framework 2.2

2.2

 

  Brightcove Connector for Media Framework 

2.1

(available on GitHub https://github.com/BrightcoveOS/Sitecore-Connector/releases)

   Ooyala Connector for Media Framework 2.1

2.1

( One version available on GitHub, but not sure if it supports 10.0)

 Active Directory 

1.3

(*use federated authentication)

 Sitecore Experience Accelerator

1.7

(upgrade to 10.0)

  Data Exchange Framework

1.1

(upgrade to 5.0)

 Sitecore® IP Geolocation Service

Supported

Supported

 

·         Package & Deploy

o   Make changes for CI/CD

o   Deploy to changes DEV/ TEST

o   Enable telemetry reporting

o   Monitor and Fix issues

o   Deploy to production and cutover

 

 

Comments

Popular posts from this blog

Sitecore: Performance issue on page load, Analytics?

Why , When and How To do a Sitecore Quality Assessment or Audit

Sitecore - On-Premises to Azure PaaS (ASE) Cloud Migration - Part 3