Upgrading our website to Sitecore 7
Today was an important day for all Sitecore enthusiasts; the long awaited Sitecore 7 was released to the public!
I was lucky enough to get an early peek at this release, as did all other MVP’s, and therefore new beforehand that this one would be well worth the waiting.
It comes with an exciting new – super fast – search API along with UI changes that enable content editors to use the search features for content management (or should I call it customer engagement these days?)
Because I have great confidence in the development team behind Sitecore 7 and know for a fact that this version has been extremely well tested not only by them but also by the MVP’s, I had no doubt that our corporate website should be upgraded straight away!
But before I get into the details of the upgrade I will tell a little bit more about why Sitecore 7 is so great.
What’s new in Sitecore 7?
I don’t want to go into much detail on this because there are already tons of blog posts out there that describe the new features in great detail, but I do want to summarize the changes that were made in this release.
The major aims for Sitecore 7 were:
- Allow storage of huge amount of items
- Provide a new API that facilitates in working with these huge amount of items
- General updates and fixes
As far as general updates and fixes go, these are the main changes:
- Sitecore kernel has been upgraded to .NET 4.5
- Sitecore now ships with Lucene.NET version 3.0.3
- HTMLAgilityPack was updated to version 1.4.6
- Newtonsoft.Json was updated to version 4.5.9
- Data sources are now GUID based and integrated with the Link Database
- Detailed logging of search, indexing and API has been added
- Built-in IFilter support for the Media Library (meaning documents like Word, Excel and Powerpoint can now be indexed, out-of-the-box)
- A new indexing manager has been added
So what did they do to allow huge amounts of items to be stored?
They introduced the concept of Item Buckets which are basically folders that contain items without hierarchy.
You could have done that in any old Sitecore version, but if one would open that folder in the content editor or try to get its children using the API, it would have been not only extremely slow but also impossible to find your content between all those items.
Sitecore 7 comes with a whole new search API that makes it possible to search through these (unstructured) items very fast and has a modified user interface that allows content editor to search those items in all sorts of easy to use ways.
As far as content storage and search goes, Sitecore 7 offers:
- Item Buckets for storage of huge amounts of items without hierarchy
- Content tagging
- Content faceting
- New user interfaces for content authoring
- Search content using per-item facets
- Per-item quick actions (e.g. search content edited by user X, with template X, etc.)
- Per-item views (e.g. news articles will show title and date in search results, faq items will show question and answer. You can create these views yourself)
Here is a quick glance at the search interface in the Content Editor.
If you’d like to read more details and different aspects of the changes in Sitecore 7, here is a list of blog posts that are published by Sitecore MVP’s that got an early peek at the release: http://www.sitecore.net/Community/Best-Practice-Blogs/Pieter-Brinkman/Posts/2013/04/Sitecore-7-MVP-activities.aspx
Upgrading from version 6.6 to 7
People have asked me to share my experience with upgrading to Sitecore 7.
Before I started I joked that it would be as simple as installing the package, change some configuration and be done.
Now that I’m done, I can tell you that it is that simple! At least it was in my case.
I do have to point out that our website does not use Lucene, so any possible compatibility issues on that part were avoided.
We already used .NET 4.5 and we use MVC which saved some time on configuration changes.
To upgrade, you simply follow the instructions on the SDN page:
These were the steps that I followed:
- Install the update package using the Update Installation Wizard
- Update web.config with configuration changes (see SDN page)
This was surprisingly little work!
- Rebuild ContentSearch indexes using the Index Manager
- Rebuild Quick Search Index using Database control panel
- Clear dictionary.dat from /temp folder
- Full publish
The whole process takes half an hour once you practiced it on a development environment.
So if you are running Sitecore 6.6 already: Don’t be afraid to upgrade to 7! Especially if your site does not contain heavy modifications to Sitecore or complex Lucene operations.
But, obviously, always be sure to test it thoroughly on a development environment before attempting to upgrade your production site.
When running an older version of Sitecore, your upgrade path will be longer and less easy because you can’t upgrade to version 7 directly.
This also goes for projects that are more complex (containing large amounts of content, multiple environments, are using Lucene, custom pipelines, processors or events).
If you are considering upgrading a site like that, don’t hesitate to contact us for help.
That's it for now!
If you have any questions or comments, feel free to leave them behind.
For more Sitecore 7, check out #Sitecore7 on Twitter and keep an eye on our blog!