Upgrading an existing instance (Sitecore.NET 6.5.0 (rev. 111230)) to Sitecore to 6.6 (120918 => 121015)

Ok,

So I have done this a couple of time already but it always failed. After talking to Sitecore we realized that our existing Sitecore instance had file paths that were too long so the 6.6 installer was failing because of the 256 char. file path limit in windows:

Maximum Path Length Limitation

In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path isMAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is “D:\some 256-character path string” where “” represents the invisible terminating null character for the current system codepage. (The characters are used here for visual clarity and cannot be part of a valid path string.)
So after talking to Sitecore they suggested moving our Sitecore instance to something shorter like:
d:\S66
They also suggested giving full access to IIS_IUSER and the account the app pool runs under to the existing Sitecore instance website folder. Done!
Also Note: I dont have DMS installed on the existing Sitecore instance. I will install this after I upgrade.
First thing I am going to do is backup my Sitecore databases: Core, Master and web. Probably don’t need to care about web but I did it anyway. Done.
Note: I will check that my current Sitecore instance runs correctly before I upgrade. Done.
Right so now I am ready to run the upgrade installer.
I choose the package to upgrade from 6.5 to 6.6:
Sitecore 6.6.0 rev. 120918_fromv650rev110602.update
Then I click “View package information” and then “Analyse and install the package“.
Ill analyse it first to see if there are any obvious issues before installation. It says it is running 5448 action.
The analysis of the results says:
730 potential problems were found, including 709 collisions and 21 warnings.
I am not sure what I can do with this information as, even when I “filter by message types” there is no obvious information on errors etc.
Next i’ll click “Install the package” and see what happens. Note that, as I mentioned, I have done this a few times and it failed but hopefully with the new shorter path it will work.
Again, it says it is processing 5448 actions and in the “More information” section I can see it installing Sitecore bits and pieces. (go get a coffee as it looks like it is going to take an hour!)

Installer stopped on 119 actions and SQL processor was at 1.5GB so I rebooted my machine.
I ran the installer again and it seems to be running correctly now but again it failed at the end saying it could not find Lucene.NET.

I checked a fresh version of 6.6 for Lucene and all the version numbers are identical to my version but the file sizes are different so i’ll copy the version from 6.6 into mine and try upgrading again … ppphhhhht.

Ok, contacting Sitecore support again as it is failing on:

System.IO.FileLoadException: Could not load file or assembly ‘Lucene.Net, Version=2.3.1.3, Culture=neutral, PublicKeyToken=null’ or one of its dependencies

Ill post more when they reply and I try again.

Ok so I got some feedback from the Guys at Sitecore. We were using a Shared source crawler for our indexes. for now I have disabled /App_Config/Include/Indexing.config to /App_Config/Include/Indexing.config.disabled.

I ran the installer again and it worked, although I have 2500 warnings but it looks like it was just alerting me that it was overwriting files.
Right, next step run the upgrade script on master, web and core databases: CMS660_AfterInstall.sql. This worked. It seems to just create and update  the SQL tables ArchivedVersions and ArchivedFields.

After this I went through and did all the config changes required for 120918 and 121015 mentioned in the SDN posts above.

Note: Read the instructions for each config change very carefully, one mistake and you will have a world of pain.

So this all went fine. I did notice that I had a couple of config sections missing when comparing to the Sitecore original files on SDN so I amended where required. For example, step 17 here: 
http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/webConfig/660_120918/660_120918_65.aspx

says:
In the section, add three new settings related to the Page Preview feature, after the “PageStateStore” setting:
I was missing PageStateStore so I added it in. 

After that I needed to make my site run with MVC. As john West states, the latest Sitecore 6.6 installer (exe) enables MVC by default:
http://www.sitecore.net/deutsch/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2012/11/Sitecore-ASPNET-CMS-6-6-Installer-Enables-MVC-by-Default.aspx

But as I was doing an upgrade and not using the EXE I need to do some stuff with config files. I followed the instructions here:
http://sdn.sitecore.net/upload/sitecore6/66/sitecore_mvc_developer_guide-a4.pdf
At point 1.1.3 How to install Sitecore MVC.

Right, all done. 

The next step is to make sure it all works. I followed Sitecore John West’s post here:
http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2012/06/Sitecore-MVC-Playground-Part-1-Enable-MVC.aspx
Scroll down to the little heading: “To confirm MVC is working:” and follow his instructions.

Right, now I can get back to actually writing some code.

More to come on Sitecore with MVC in other posts.

thanks
RuSs

Advertisements

My Journey with Sitecore and MVC : part1

I thought i’d start a post about my journey with a green field project for a large client. 

The project is an web application that existing customers of a large vehicle manufacturer can log on to to view details of vehicles the customer owns. This includes service history
The project will be built in asp.net MVC3 and will be driven by an existing client database wrapped by a Java web service which I will consume.

The site will use content from an existing Sitecore instance that the client already uses to populate their current site.

There is a possibility of other custom data stores being needed as the requirements become clearer. These extra data stores will be in Sql server and I will use Entity Framework 5 as my ORM.

Here is a list of technology I will be using:

  • ASP.NET MVC3 with a possible mixture of web forms where required.
  • WCF
  • Sql server 2008
  • Ninject as my DI container
  • Moq for unit testing
  • Glimpse.MVC for debugging
  • Automapper – mapping my domain entities to my MVC view models
  • Glass.Sitecore.Mapper – for mapping my Sitecore content items to my domain model. This also gives me Sitecore context in my domain.
  • Sitecore 6.6
My architecture will be somewhat as follows:
  • MVC UI
  • Viewmodel per view 
  • View model builder abstraction to keep my view model code construction out of my controllers
  • A manager / business layer
  • A caching layer
  • I will use the repository pattern with unit of work where required although from the spec, there is no real immediate need for a Unit of work but I will put it in there anyway.
  • A service layer to consume the external service that is hosted at the client.
  • An ORM layer using EF for any custom data stores
  • Sitecore 6.6 that supports MVC3
  • My DI container will take care of IOC so every layer right up to my controllers will be unit testable (I will test where needed but not just do testing for the sake of testing.)
This first post is just a summary. I will post more as I continue.

RuSs