Thursday, May 3, 2012

Sitecore CMS 6.5 migration notes (cont)

More fallout from our migration from Sitecore CMS 6.1 to Sitecore CMS 6.5. So far we've had some roadblocks but everything has been fairly minor and easily solvable.

Problem - Search indexes cannot be rebuilt:
Job started: RebuildSearchIndex|System.UnauthorizedAccessException: Access to the path 'E:\Development\S\SUZ\Sitecore 6.5.0 rev. 111230\data\indexes\__system\segments.gen' is denied.
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  at System.IO.File.Delete(String path)
  at Lucene.Net.Store.FSDirectory.Create()
  at Sitecore.Search.Index.Reset()
  at Sitecore.Search.Index.Rebuild()
  at Sitecore.Shell.Applications.Search.RebuildSearchIndex.RebuildSearchIndexForm.Builder.Build()|Job ended: RebuildSearchIndex (units processed: )


Solution:
Give write permissions on the indexes directory to the application pool identity “IIS AppPool\sitecore_65” (or whatever your app pool is named).

Once this was done, we could then work on updating our indexes from the ‘old’ way to the ‘new’ way. Alex Shyba’s and Brian Peterson’s blog entries are a great resource for this. Since converting, the same search term is only returning 35 results on the dev site vs. 283 on teh current live site so there is definitely more work to do in order to get this wrapped up but it’s a start. My initial guess is that we were indexing more fields in our old, custom index than is happening with the default shared source module.




Problem - Only EN culture in web database:
Once everything above was fixed we started testing the other versions of the sites, namely our en-CA and fr-CA versions. Surprisingly, things didn’t show up properly at all. After some quick investigation, we discovered that there were absolutely no canadian versions of the items in the web db.

Solution:
Use the control panel to add the missing cultures so sitecore knows about them. Kind of weird that they all imported ok as content and then just wouldn’t publish. I would sort of expect to get a warning when importing that the target culture did not exist in sitecore.