Lessons learned while upgrading sitecore from 6.5 to 7.2 final release. While most of the steps are pretty straight forward and as documented by sitecore. There are some gotchas that you may want to keep in mind while upgrading it. Here are some of the notes that I’ve compiled while upgrading a project.
Upgrading to .Net 4.5.2
Running the automatic upgrade seems to have worked out fine while using Visual Studio 2013.
6.5 to 6.6
Link to upgrade documentation – http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_6_0_rev_120918/Upgrade%20to%20This%20Release/from65.aspx
While following the steps, I came across a case where the upgrade package gets stuck after copying files (when you try to Install the upgrade package). You will notice the final statement being Preparing to install file ‘sitecore_files\Web.config’ Changing file ‘\webedit.css’ Copying files to be installed to solution and backing up overwritten files.
To fix it make sure give enough permission to /temp folder. In fact I temporarily set it to Everyone. After making this change, the upgrade package executed successfully.
If you happen to use scSearch.Contrib for sitecore queries, you may have to download the source and rebuild it using sitecore.kernel.dlls from 6.6 and Lucene 22.214.171.124. I noticed some incompatibility issues.
6.6 to 7.0
Link to upgrade documentation – http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%207/Update/7_0_rev_130424.aspx
This being a major update, surprisingly it went through pretty smoothly. After this update, the lucene compatibility issues with scSearch.Contrib started surfacing again. To fix this I tried to recompile the source code with sitecore 7.0 dlls and Lucene 126.96.36.199 but that did not work this time. Instead resorted to using a compiled library for https://github.com/ashokry/SitecoreSearchContrib7
7.0 to 7.1
Link to the upgrade documentation – http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%207/Update/7_1_rev_130926.aspx
At this point, making scSearch.Contrib work was becoming increasingly difficult. I decided to completely remove it from the project and rework the search pieces. Lucky for me the search logic was described at one location and retrofitting it to use Sitecore.ContentSearch instead of scSearch.Contrib was lot easier. I found this to be a good guide in getting started with Sitecore.ContentSearch APIs. One of the caveats I see is you have to normalize guids if you want to do Field based guid search. But on the plus side, if you have POCO objects for your templates, you could easily use them to search against. Also, LukeAll is a good tool to peak into your indexes to understand them better.
7.1 to 7.2
Link to the upgrade documentation – http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%207/Update/7_2_rev_140228.aspx
I ran into issues while building the solution after the upgrade, where I started seeing build errors due to different targets being set in different projects.
Ensure that all projects have appropriate build targets. For me I set them all to .Net 4.5.1 and builds started working successfully.
7.2 to 7.2 final
Link to the upgrade documentation – http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%207/Update/7_2_rev_140526.aspx
This was also quite straight forward to being with. Although there were minor issues relating to Caching that was again resolved by retrofitting the solution for sitecore 7.2.
Final thoughts – It was quite an easy ride trying to upgrade sitecore from 6.5 to 7.2 final. The biggest hurdle was moving away from scSearch.Contrib since it was such a core piece to the solution. At the time of this writing, version 7.5 is already out. I will try to update this post once I get a green light to upgrade the solution to 7.5.