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
Post a Comment