In today’s guide, I’m going to talk through my experience of upgrading Sitecore from version 7.5 to 8. Sitecore isn’t always the easiest platform to upgrade at times, compared to some of the other CMS products on the market. Updating a Nuget package is a lot easier than some of the hoops you will need to jump through with Sitecore, but, 7.5 to 8 went pretty well from my experience of previous versions.
Whenever you work with a Sitecore upgrade, it is vital that you start the right way, follow the right process and don’t cut any corners. The steps outlined by Sitecore are there for a reason. In the past, I’ve tried to skip a step here or there to save time and it’s always bitten me in the ass and added more time to an upgrade.
Before we go into the upgrade in more detail, I should point out that every solution is different and consequently every upgrade is different. What works and what went wrong for me might not work for you. The best advice I can give is to start off with the Sitecore upgrade manual and then use guides like this as a real world reference if you run into snags.
Getting The Files
In order to upgrade from Sitecore 7.5 to 8.0 you will need to head over to dev.sitecore.net and download a few files.
- Sitecore 8 Upgrade Guide
- Sitecore XP 8 upgrade package
- Sitecore 8 Config Files and scripts.zip
- Sitecore Update Installation Wizard 1.0.0 rev. 150619
- Configuration File Changes
- Sitecore 8.0 Installer
Before you upgrade any Sitecore project, also make sure you make back-up copies of the core, web, master and reporting databases. In life, things go wrong and they will… so making sure you can roll back your database and webroot will make your life a lot easier.
Install Sitecore Update Installation Wizard 1.0.0 rev. 150619
The first thing you need to do is install the ‘Installation Wizard’ package. In your Sitecore instance, go to the Sitecore desktop: ‘www.website.com/sitecore/shell/’ and open the installation wizard, from ‘Start’ -> ‘Development Tools’ -> ‘Installation Wizard’.
Select ‘Sitecore Update Installation Wizard 1.0.0 rev. 150619.zip’ from your local hard-drive, click ‘Next’ and follow the instructions to install it. You may need to override some of your existing files.
Run SQL Scripts
In ‘Sitecore 8 Config Files and scripts.zip’ you should see two folders, the SQL scripts are in the ‘Upgrade scripts’ folder. You will need to run ‘Core_80_UpdateTableLinks’ against Core, Web and Master. You will need to run ‘Analytics_80_PreInstall’ against the reporting databases. When you run the reporting script you will need to change the database name in the line below, to your local reporting instance:
In ‘web.config file’ delete this line:
<processor type="Sitecore.Pipelines.HttpRequest.PageEditorHandleNoLayout, Sitecore.Kernel" />
In ‘Sitecore.Analytics.config’, set ‘Analytics.Enabled’ to false, like this:
<setting name="Analytics.Enabled" value="false" />
Delete this line:
Change the filename of ‘Sitecore.Forms.config’ to ‘Sitecore.Forms.config.disabled’
Back-up your files
If, like me, you will then start your upgrade process locally to make sure it works and then upgrades production later. If you need to run the upgrade wizard on a test or staging environment afterwards, copying the files now, prevents you from having to re-follow the steps listed above again.
The first time I tried to run the installer I pretty much instantaneously, hit this error ‘”History path is not set”. This error was down to my stupidity and not following the installation properly. I hadn’t installed ”Sitecore Update Installation Wizard 1.0.0 rev. 150619.zip’. After installing as part of the guidelines, the installer happily carried on.
Install the Update
To install the update, in your web browser, make sure you are logged into Sitecore, then go to this Url:
From the upgrade wizard, select ‘Sitecore 8.0 rev. 141212.update’ from your PC and click ‘View Package Information’
Click ‘Analyze and install the package’
Click ‘Install’ then sit back and wait! On my local dev machine, the upgrade took about 30 minutes to finish.
Back-up your files
If the upgrade went OK, it’s time to back everything up again.
If your config files have been set-up correctly, you should have a minimal amount of config changes made in your web.config. For this reason, I usually install a default Sitecore 8.0 instance, copy the web.config and everything in the App_Config folder and copy it on top of my upgraded web.root. Using the back-up made in the last step, I then used beyond compare to copy in the changes. The main files that affected me were the web.config, connectionstring.config and command.config. Everything else for this site was as default.
If you have disabled any modules, like WFFM by adding the disabled extension at the end, don’t forget to revert everything.
Testing and Fixing
At this stage, your website should load and you should be able to navigate around your website and load into Sitecore. At this stage I would recommend clicking links like the ‘Experience Optimization’ and ‘ Experience Analytics’ to make sure everything works as expected.
If you have any modules like WFFM, then this is the time to upgrade them. Before running any upgrade, always remeber to back everything up.
One new technology that is introduced in version 8, is PhantomJS. You can download PhantomJS here. PhantomJS is used by the screenshot tool in the personalisation and testing modules.
Rebuilding Search Indexes and the Link Database
With any installation, or upgrade, you will need to re build your search indexes and link database. If you are unsure about how to do this then I suggest you read the following:
Sort Out Your Solution
After re-building your index and link data and publishing those changes, it might be time to sort out your solution. If you build your project around the webroot (against best practice), then you probably struggled a lot more with the upgrade, but, at the end of the day, you can check everything into source control easily.
If you have your project structure the same as most people, where you publish into a website, then you’ve likely upgraded the website’s files and these now need to be copied back into the solution. In my example, I need to copy a few of the new Sitecore binaries into a ‘Libs’ folder. I also needed to copy configuration files, like the web.config and connectionstrings.config back.
Its very easy to miss files and break your upgrade at this stage. Back-up everything before you start. On my project I could build an empty 8.0 instance, perform a publish and my site worked as expected afterwards.
If everything has gone correctly, your site should now be upgraded and everything should be working as expected. No Sitecore upgrade will ever be the same, custom code, deployment processes, source control repo’s will all dictate how you structure your project and influence what issues you may encounter on your path. From my personal experience, one of the best upgrading tips I can suggest for you is to always follow the recommended upgrade path. If you get stuck, Sitecore support is always close at hand to help you figure out those annoying and obscure exceptions. If you encountered any other issues when upgrading from 7.5 to 8, leave a comment below.