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.

Back-up

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:

Pre-Config Changes

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.

Issues Encountered

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:

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.

Config Changes

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.

Upgrade Modules

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.

Installing PhantomJS

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.

Conclusion

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.

Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge

SITECORE DEVELOPER?

Connect

Hi, I'm Jon, I write articles about creating and optimizing websites as well as making money from your online business. I am technical architect and technology fanatic by profession. You can find out more about me by signing up to my newsletter.