Tuesday, October 14, 2008

Unofficial Sitecore Migration Guide Upgrading from Sitecore 5.3 rev 071114 to Sitecore 6

Unofficial Sitecore Migration Guide

Upgrading from Sitecore 5.3 rev 071114 to Sitecore 6


 

Step One: Install Sitecore 6

    Screen shots of installation below.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Must be SQL 2005 or 2005 Express Database


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Attempt to launch http://sitecore6/sitecore if you receive the error below then do the following: remove and then add the sitecore sql user to the Sitecore 6 databases as dbowner.

Databases:

    {web site name}Sitecore_Core

    {web site name}Sitecore_Master

    {web site name}Sitecore_Web


 


 


 


 

Switch to the Advanced view, select Desktop, click the Hide Warning button. The username is Admin and the password is b.


 


 

Attempt to launch http://sitecore6, if you've done everything right you will see the screen below.


 


 

Ok if you've made it this far you now have a clean installation of Sitecore v6.


 


 

Step Two: Grant Access


 

    Grant "Network Service" and "Internet Guest Account" Full Control rights to the Sitecore 6 web root within C:\inetpub\wwwroot if that's where you choose to install Sitecore 6.


 

Step Three: Make a backup copy of the original Sitecore 6 root folder

    

    Just in case you need to revert back to an original file, make a copy of the Sitecore 6 web site root folder.


 

Step Four: Install updates to Sitecore 6


 

    Download Sitecore 6.0.0 Update rev. 080912.zip which fixes Sitecore's problem with .NET 3.0 SP1. (Or download the lastest update which contains the fixes for all previous updates)


 

Install the update package and overwrite all when prompted.


 

To verify that is was install successfully check the version of Sitecore.Client.dll in the bin directory of the web site. It should say 6.0.0 rev. 080912 if it doesn't then the update wasn't installed.


 


 

Step Five: Install upgrade prerequisite packages


 

    Download the Database Conversion tool and extract the contents which should give you two zip files: Sitecore Update Installation Wizard-2.0.0 rev. 080730.zip and V6DBConversionTool-1.0.0rev080923.zip


 

    Install Sitecore Update Installation Wizard-2.0.0 rev. 080730.zip first and overwrite all when prompted. To verify that this update was successful verify that a Sitecore.Update.dll file exists in the bin directory of the web site.


 


 

    Now install V6DBConversionTool-1.0.0rev080923.zip and overwrite all when prompted. To verify that this update was successful look in the sitecore/admin/ folder within the website root there should be a folder called upgrade with three folders in it and then additional files within those folders.


 

Step Six: Copy security template files


 

    Copy the "security templates.xml" in the old Sitecore installation from /sitecore/shell and copy it to the new Sitecore 6 installation into /sitecore/shell.


 

Step Seven: Modify connectionstrings.config file


 

    Open up App_Config/ConnectionStrings.config and rename the master connection string to v6_master. Then add connection strings to the Sitecore 5.3 databases except for the web database. Oh and the core database string for the 5.3 connections should be named v53_core. Example of a fully modified file is below.


 

<add
name="core"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore\SQLEXPRESS;Database=SitecoreSixSitecore_Core" />

    <add
name="v6_master"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore\SQLEXPRESS;Database=SitecoreSixSitecore_Master" />

    <add
name="web"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore\SQLEXPRESS;Database=SitecoreSixSitecore_Web" />

    <add
name="master"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114Master" />

    <add
name="security"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114Security" />

    <add
name="extranet"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114Extranet" />

    <add
name="v53_core"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114Core" />

    <add
name="recyclebin"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114RecycleBin" />

    <add
name="archive"
connectionString="user id=sitecore;password=***;Data Source=bc-sitecore;Database=sc531071114Archive" />


 


 

Step Eight: Copy some include files


 

    Copy the .include files in /sitecore/admin/upgrade/IncludeFiles to /App_Config/Include and rename the name.config.disabled files to name.config. Each include with the .config extension will be upgraded those with the .disabled extension will not be upgraded. So only rename those databases that you want to upgrade. To verify that Sitecore picked up all the databases, log into Sitecore and click on the database button in the lower right hand corner of the console, you should see all of them you add appear.


 

Step Nine: Pray that the conversion wizard works


 

    First you'll need to go into IIS and grant anonymous access rights to the /sitecore/admin folder/


 


 


 

Then browse to http://{sitecoreurl}/sitecore/admin/upgrade/main.aspx. Go through the wizard and choose to automatically do the conversion process. And eventually you'll hit the "Start Conversion" button. If you were successful, depending on the size of your databases (my core and master were around 4GB), 1 hour later you will see:


 


 


 

If you were unsuccessful you may see the error below. This was a fairly easy fix for me. I was trying to convert a SQL 2000 database but since sys.objects doesn't exist in SQL 2000 I had to upgrade them to SQL 2005 and then run the conversion again. After doing that it was successful.


 

2652 14:15:52 ERROR Failed to upgrade the database

Exception: System.Data.SqlClient.SqlException

Message: Invalid object name 'sys.objects'.

Source: .Net SqlClient Data Provider

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()

at System.Data.SqlClient.SqlDataReader.get_MetaData()

at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

at System.Data.SqlClient.SqlCommand.ExecuteScalar()

at Sitecore.V6DBConversion.SqlServerDatabaseConverter.ExecuteScalar(String cs, String sql)

at Sitecore.V6DBConversion.SqlServerDatabaseConverter.Convert(SqlServerDataProvider provider, IOutput output)


 


 

Great, you've made it this far, now only a few more hours of waiting.


 

Step Ten: Rebuild some Sitecore databases


 

    First let's clean up the databases by rebuilding the link database for the Core and Master databases. Then rebuild the search indexes on the Core and Quick Search options.


 

Step Eleven: Republish entire site


 

    Go to the Home section and then the Publish option and Publish site. This is where you wait for a few hours while Sitecore copies data out of the master database to the new Web database. Don't screw with anything else just let it run and depending on the size a few hours later it will say successful. If not, start it again and do an incremental publish so you don't have to republish everything.


 

Step Twelve: Remove some old upgrade files


 

    Remove and I do mean remove all the .config files within the /App_Config/Include folder. If you just copy them to another folder within that folder you'll get errors, so just get rid of them completely.


 

    In the /App_Config/ConnectionString.config file get rid of all entries except the Core, Web and Master strings.


 

    Delete the /sitecore/admin/upgrade folder

    

    If a /sitecore/admin/packages/tool folder exists, delete that too, I didn't have one so I didn't need to delete it.


 

    Delete the following files if you have them


 

  • /sitecore/admin/upgrade.aspx, mine was named update.aspx
  • /sitecore/admin/web.config
  • /bin/sitecore.diffinstaller.dll, I didn't have this file
  • /bin/DiffLib.dll, I didn't have this one either
  • /bin/Sitecore.Upgrade.dll, mine was named Sitecore.Update.dll
  • /bin/Sitecore.V6DBConversion.dll


 

    Take offline and a few weeks later get rid of the security, extranet, archive and recyclebin and possibly the v6 master database from SQL.


 

Step Thirteen: Restore the clean web.config


 

    You should have a copy of the clean v6 web.config file, copy that file to the new v6 web site root and replace the one that's already in there.


 

Step Fourteen: Copy custom files to the new v6 root


 

    Copy your custom files from the v5.3 root to the v6 root

    

  • Layouts
  • Images
  • Xsl
  • Media
  • Css
  • Any other folders that are in your site that don't exist in the v6 site that are needed

    

Compile your solution against the new Sitecore dlls and copy the dll to the bin folder of the v6 site


 

Merge any web.config customizations from the v5.3 config file to the v6 config file, possibly app settings or ajax stuff.


 

Step Fifteen: Test, Test and Test


 

    Test the site.

3 comments:

Anonymous said...

[color=#5588aa]How to utilization the advanced search? It was extended because, [/color] [url=http://surlitapmo.chez.com/carisoprodol.html] need[/url] [color=#5588aa]search criteria[/color]!
[color=#5588aa]Thanks benefit of waiting seeking all![/color]

Anonymous said...

Please add the images. I did a view source, and there aren't even any image tags there. Just a bunch of paragraphs and breaks.

electronic signatures said...

EXCELLENT information. Your directions are clear and concise, and easy to follow. Thanks for your hard work in posting this info.