I thought I'd share my thoughts and details on migration of MCMS (Microsoft Content Management Server) content to MOSS. Back in the day I used to work with MCMS a lot. When the likes of Andrew Connell, Spencer Harbar who maintained the MCMS FAQ and Angus Logan were indisputably the MCMS gurus of the time!
Before I go any further I would like to say that there is an excellent white paper done by Sezai Komur of Vivid Group in Australia. This MCMS to MOSS white paper is very detailed in terms of the steps that is required and is a good guideline for a MCMS to MOSS migration project.
The project that I was doing had a relatively easy requirement of migrating across content and then applying the same look and feel and no new enhancements apart from Search integration. My post highlights the overall approach I took to migrate all the content across. For migrating code you should follow guidelines in the MCMS MOSS Migration center.
The existing MCMS platform was running SQL 2000 and required that the new MOSS deployment to use SQL 2005. So we had to upgrade the database as well.
For this migration I used two virtual machines. First I had to build a MCMS environment so that I could import the Channels, Templates, Resources and Postings. This was relatively easy by using the MCMS Site Manager tool on the pre-production server. We established a content freeze period with the client. They were going through an IT rationalisation phase and had no requirements for maintaining content until all the rationalisation was finished. This is quite by chance and most probably will not apply to other situations. So we only had to get the latest content from the MCMS repository once. For larger sites this may not apply. My advice is that make sure you have a virtual environment with MCMS and matching software installed so that you can diagnose and troubleshoot migration issues in isolation.
The second virtual server had MOSS with Service Pack 1 and SQL 2005 installed. This was my target environment. This of course was not the final environment I wanted to migrate all content to a MOSS site collection first before getting the developers to customise and create the master pages and page layouts for the site.
Once I had the content in my MCMS environment working I applied MCMS SP 2. You have to apply MCMS SP 2 prior to doing the migration. This is a pre-requisite requirement for the migration. So once you have applied MCMS SP 2 and have the site working in your environment you will need to run the CMS Assessment Tool. The CMS Assessment Tool will provide you with detailed information on the current MCMS environment. More details about the tool is available here on MSDN.
With the MCMS Assessment Tool you can choose the areas for analysis. The below screen shot shows the options available. In my migration I was not doing a code analysis as part of the migration process.
This tool will create a an output of XML files to a target directory you can specify. Once the analysis has been run you can view these files using Microsoft Excel. The link to the report in located under > Microsoft Content Management Server > Assessment Tool > MCMS Assessment Tool Report Workbook
The reports created by the tool provides information of all Templates, Postings and Channels and also what needs to be fixed prior to the actual content migration.
The important one to watch out for is the Pre-Migration Analyzer Results. This report provides information on postings that may require to be removed or changed prior to the migration.
One common error you may experience is " There are 2 objects of type 'Page' that are named 'default.aspx' at '/Channels/[url]/competencies/foodsafety/.' " This is basically due the fact that MCMS url's were GUID based and you could have two postings named "deafult" or "mypage" in a Channel. The latest published posting took preference. When migrating to MOSS you cannot have two pages with the same name. If you encounter a large amount of duplicate entries you may need to run a script to rename these. Or you could use this report and rename or delete these duplicated postings via MCMS Site Manager. The name of the error that you will encounter during the actual migration is " Leaf names are not unique ".
Note that you don't need to worry about Warnings in the report. For example there will most likely be a warning with regards to the MCMS database which says " An extra table was found in the MCMS 2002 database " you can safely ignore this message.
Another really handy tool is the MCMS Manager tool from Chester Ragel. The latest version is available for download. I used to use MCMS Manager for troubleshooting MCMS environments back when I was supporting a number of MCMS deployments.
So to summarise the steps I took pre-migration.
- Created a virtual MCMS server and imported the site export from the production MCMS server for pre migration analysis (note: take care that you follow the recommended MCMS server requirements or match the production MCMS environment.) Ex: I installed SQL 2000 as the database server on this virtual server
- Applied Service Pack 2 for MCMS
- Tested the site can be accessed via Site Manager and all Channels and Postings can be browsed (You may encounter various issues with Site Manager, ex: Site Manager may not start due to the Visual J#™ Redistributable Package version was not compatible. Install the latest version of the VJ# by downloading it. )
- Upgraded the SQL 2000 instance to SQL 2005 (This upgrades the MCMS database)
- Ran the "CMS Assessment Tool" against the MCMS database
- Fixed all errors as per the Pre-Migration Analyzer Results report
- Backed up the MCMS Database
- Restored the MCMS database to my target MOSS virtual server
No as I mentioned before we only wanted to migrate the content across and then re-create the master pages and visual layout design and apply page layout templates. So as far as we were concerned we wanted a clean MOSS environment with SQL 2005 as the database. Alternatively you can connect directly to the MCMS database from your MOSS server. In this migration we used separate virtual servers so we did not disrupt the actual production sites.
Once the MCMS database was restored the next steps are done using Central Administration in MOSS. In Central Administration you will first need to create a new web application and a site collection. Make sure that you use a "Blank" Site template for the site collection. Then create a migration profile by choosing Operations > Global Configuration > Content Management Server Migration and New Migration Profile. The steps required for this is pretty straightforward. You select the Database server and then select the destination site collection. You will need to provide authentication credentials for the database.
To run or test the migration job you can choose the MCMS Migration Profiles.
The above indicates that the Pre migration analysis has passed.
You may need to run a few of these if you are doing a large site migration. So be prepared to spend some time refining and troubleshooting errors.
The above screen shows three passes and the final migration which was successful and indicates the number of objects migrated to MOSS.
So this was a relatively high level overview of an actual content migration. Make sure you follow the steps and allow time for code migration as this was not an area that I was doing. Sezai's white paper has details on Code migration as well.