Upgrading Sitecore from version 7.2 to 8

Sitecore8Logo

Upgrading Sitecore from version 7.2 to 8

 

Ok, what’s this all about?

Recently we had to upgrade one of our client’s website to the brand-new Sitecore version 8 and we found out there’s not much documentation about it, besides of course what’s in SDN. So, we decided to make this post and help you guys to go through this process as painless as possible.

We currently have Sitecore 7.2 Initial Release (rev. 140228) with WeBlog and WFFM Modules.

Step Zero

You should be aware of this but just in case you don’t, please go ahead and backup your current Sitecore instance. That is all of the Databases and the Data and Website folders. We actually did that and created a copy of the Live environment in a Staging server which is the one we are upgrading first.

Agenda

First, we are going to upgrade our Sitecore 7.2 Initial Release (rev. 140228) to Sitecore 7.2 Update 2 (rev. 140526) following the SDN Guide. This should be a pretty straight forward step and you should not walk into any major problems here. We got 85 issues reported as warnings, mostly some items having modified versions, nothing to worry about too much. You should go through the list and check if any of the reported items need an action from you.

Ok, by this point you should have a 7.2 Service Pack 1 Sitecore instance of your website. Now we’re going to update it to 7.5 XP.

Feel the XPerience!

Sitecore 7.5 is one big update to the CMS’s family. They changed a lot of its core functionality and made several improvements to the DMS as well. Both products now come together and they have focused promoting the whole experience of the CMS combined with the DMS.

To get your website upgraded you will need three files: The Sitecore 7.5 Update Package and the UpgradeCMS75_sql.zip and DMS75_MigrateDefinitions_sql.zip SQL Server scripts. You can also follow this guide provided in the official SDN documentation if you like to, but we’re going to try and cover the process in this very post. At this point you have to run the UpgradeCMS75_sql file on each Master, Core and Web databases.

Once that step is completed, we need to disable a couple of config files so the upgrade process doesn’t interrupt itself. Take note of the following files and add a “.disabled” extension at the end of each one:

  • Analytics.config
  • Analytics.ExcludeRobots.config
  • Speak.config
  • EmailCampaign.config *
  • config *

* You may not have these files depending on whether your website have them installed or not.

Take note of these all of this files since you would need to enable them back once the upgrade is complete. To do this just remove the “.disabled” extension from them.

Now we need to install MongoDB and for this we followed their guide in www.mongodb.com. Once mongod.exe is up and running you should add the connection strings to the config in AppConfig folder. It is probably a good idea to create a Service to run MongoDB automatically so you don’t have to worry about it every time you restart your server.

Take into account that some of the configuration files changed their format. Have special care with Sitecore.ContentSearch.Lucene.Index.XXXX.config where XXXX stands for Analytics, Master, Stage and Web. Those files added a new level in the xml structure so you will end up referencing “contentSearch/indexConfigurations/defaultLuceneIndexConfiguration” instead of “contentSearch/defaultLuceneIndexConfiguration”, particularly if you have any custom Lucene config files. The file Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config will have been replaced so if you had any custom Strategy you would have to move that from your backup to the new file.

Last step is to update the config files according to this guide. After you are done with that, it wouldn’t hurt to clear your browser’s cache, rebuild all Sitecore search indexes, rebuild the link database for core and master and update your languages and modules from SDN latest compatible version.

Sitecore XP 8

Now that we have our website in 7.5 Update 2 version, we should once more back everything up. We actually created another identical website and renamed my databases to a Sitecore8 prefix and ran the process in that new instance.

Here you will find instructions and more important The Sitecore Upgrade Package, a zip file not as the previous ones but containing even more stuff you will need in the way. You should unzip this to a folder and look for the Sitecore Update Installation Wizard 1.0.0 rev. 150219.zip which is the first thing you need to install as you would do with any other Sitecore package: Sitecore Start button à Development Tools à Installation  Wizard.

After you complete that task, go look into the “Upgrade scripts/SQL scripts” folder and run the Core script on each of your Sitecore core, master and web databases. Then execute the Analytics script on each of your reporting databases (the ones called Analytics in SQL Server) and make sure you replace the script to use the name of your databases in the line that says “USE [Sitecore_Analytics];”.

Then, in your web.config file find and remove the following processor from the httpRequestBegin pipeline:

<processor type=”Sitecore.Pipelines.HttpRequest.PageEditorHandleNoLayout, Sitecore.Kernel” />

And in your Sitecore.Analytics.config file find and remove the following processor from the httpRequestBegin pipeline:

<processor type=”Sitecore.Analytics.Pipelines.HttpRequest.PageLevelTestItemResolver,Sitecore.Analytics” patch:after=”processor[@type=’Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel’]” />

It is a good idea to disable analytics meanwhile the update process, so go to Sitecore.Analytics,config and set the Analytics.Enabled to false. If you are using the EmailCampaign or the Forms modules you should disable those configs as well by putting a “.disabled” extension in the files. And if you are running any A/B or MV tests you should stop those meanwhile the update. Remember to enable everything back once the Upgrade is done.

Now, open the UpdateInstallationWizard.aspx in a browser and perform the I-guess-now-very-familiar process of uploading the package, analyzing and installing. Once this is done we need to modify our configuration files according to this document in Sitecore’s documentation.

After this it’s only a matter of modifying the Configuration Files according to this guide. We left out the Solr and PhantomJS changes since we don’t use them in this project.

Rebuild all the Search indexes and the Link Database and you’re all set and good to go! We’d appreciate any comments or if you run into any issues and how you handled them.