Export (0) Print
Expand All
Expand Minimize

Assessing and Analyzing Your MCMS 2002 Application for Migration

Content Management Server
 

Microsoft Corporation

May 2006

Applies to:
    Microsoft Content Management Server 2002
    Microsoft Office SharePoint Server 2007

Summary: Examine how to install, run, and use the CMS Assessment Tool to assess your Microsoft Content Management Server (MCMS) 2002 site to determine the level of work required to migrate the site to Microsoft Office SharePoint Server 2007. (27 printed pages)

Contents

Introduction to Assessing MCMS 2002 Applications
CMS Assessment Tool
Running the CMS Assessment Tool
Viewing the Reports
Interpreting the CMS Assessment Tool Reports
Conclusion
Additional Resources
Appendixes

Download CMSAtSetup.msi.


Introduction to Assessing MCMS 2002 Applications

This article is intended to guide you in assessing and analyzing your Microsoft Content Management Server (MCMS) 2002 applications so that you can prepare to migrate to Microsoft Office SharePoint Server 2007. You can use the CMS Assessment Tool reports to assess the readiness of your current MCMS 2002 applications.

As part of your upgrade project, you must analyze your MCMS 2002 application. Analysis involves identifying all data, code, and components in the application, and then determining a logical, cohesive strategy to perform the migration. By analyzing your application, you can help achieve a smoother migration that you can complete on time and on budget.

The CMS Assessment Tool collects information that assists you in locating components that you need to migrate. You can use this information to determine the functionality that is provided by your custom code that interacts directly with MCMS.

CMS Assessment Tool

The CMS Assessment Tool helps identify valuable information that can help you plan for issues that might arise when you migrate an application from the MCMS 2002 platform to Office SharePoint Server 2007.

The CMS Assessment Tool is a read-only tool that does not change your source code or the MCMS Content Repository. If inline code exists inside the .aspx files, the tool compiles the .aspx files into assemblies and places the compiled assemblies into the temp directory. However, the functionality of an MCMS Web site remains unchanged.

Important   The CMS Assessment Tool analyzes and reports only on managed code. Scripts written in Microsoft Visual Basic Scripting Edition (VBScript) contained in your application that are used for content deployment are not captured in these reports.

The tool gathers the following information:

  • Lists of template files in MCMS 2002 and which MCMS features they use. Templates are a very important code asset. The CMS Assessment Tool lists the template files and provides information to identify the MCMS features they use. From this information, you can determine the level of effort required to migrate each template.
  • Information about your current infrastructure. This information can help you determine whether that infrastructure can support a side-by-side installation of SharePoint Server 2007.
  • Enumerated characteristics of the information on your MCMS Content Repository. The tool lists characteristics that are not supported in SharePoint Server 2007.
  • Statistics about your MCMS users and roles, resources, channels, and postings.

Tool Prerequisites

To install the CMS Assessment Tool, you must first install the following:

  • Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1, or Microsoft .NET Framework 2.0
    Note   You must install the same version of the Microsoft .NET Framework that is used by your MCMS application.
  • Microsoft .NET Framework SDK   The SDK is included with Microsoft Visual Studio .NET 2003, or Microsoft Visual Studio 2005, but can also be installed as a stand-alone product. If you do not install the SDK, the CMS Assessment Tool will run but will not gather information about your code assets.
  • MCMS 2002   If MCMS 2002 is not installed, the CMS Assessment Tool will run but will not gather information about the MCMS Content Repository.

Installing the CMS Assessment Tool

The CMS Assessment Tool can provide more information if you run it on a debug build. If your MCMS Web site has release builds only, create a debug build and install it on another computer. Then, run the CMS Assessment Tool on the debug build.

To analyze your Web site offline, copy the entire MCMS Web site directory tree and the dependent assemblies to another computer.

Note   The CMS Assessment Tool uses the MCMS Publishing API to analyze the MCMS Content Repository; therefore you must run the tool on a server where MCMS is installed. We recommend you install the tool on a developer or nonproduction computer.

To install the CMS Assessment Tool

  1. Run CmsAtSetup.msi.
  2. In the CMS Assessment Tool Wizard, on the Welcome page, click Next.
  3. On the License Agreement page, select I Agree, and then click Next.
  4. On the CMS Assessment Tool Information page, read the Readme and then click Next.
  5. On the Select Installation Folder page, click Browse, select the folder in which to install the CMS Assessment Tool, and then click Next.
  6. On the Confirm Installation page, click Next.
  7. On the Installation Complete Page, click Close.

Running the CMS Assessment Tool

You can run the CMS Assessment Tool in the following two ways:

  • Using the CMS Assessment Tool Wizard   This interactive version of the CMS Assessment Tool guides you through several setup options and then runs the assessment. You can also provide a configuration file to the wizard to automate the process.

    We recommend that you use the wizard to run the assessment.

  • Using the CMS Assessment Tool command line    This command-line tool uses a configuration file.

    We recommend you use this option when you need to automate the assessment process by using a batch file.

Each time the wizard runs, it creates a new configuration file automatically. It is easiest to adapt an existing configuration file for your purposes, rather than create a new file each time. For a sample configuration file, see Appendix B: Assessment Tool Configuration File.

CMS Assessment Tool Wizard

To run the CMS Assessment Tool Wizard, use the following procedure.

To run the CMS Assessment Tool Wizard

  1. On the Start menu, point to All Programs, point to Microsoft Content Management Server, point to Assessment Tool, and then click CMS Assessment Tool.
  2. In the CMS Assessment Tool Wizard, on the Welcome page, do the following:
    1. Optional: Select Use predefined options to provide the location of your predefined configuration file. To change settings from a configuration file, click Back to navigate through the wizard. For more information about configuration files, see Appendix B: Assessment Tool Configuration File.
    2. If you did not select Use predefined options, the CMS Area to Analyze page appears. Select one of the following options, and then click Next.

      Application code: Use this option to analyze your MCMS 2002 application code.

      CMS Repository: Use this option to analyze the MCMS 2002 Content Repository. Select CMS Repository to enable all options, or select from the following options:

      Gather Inventory: Use this option to analyze the MCMS 2002 Content Repository and generate an inventory of your MCMS assets.

      Collect Statistics: Use this option to extract statistics from the Content Repository.

      Run Pre-migration Analyzer: Use this option to analyze the MCMS 2002 Content Repository and detect potential content migration issues.

  3. In the Select source code files page, select one of the following:
    • Directories: Use this option to select individual directories. Click Add to select each directory name to add.

      Optional: To create a separate XML report file for each directory, select Separate report for each directory.

      Note   The wizard creates a single report for each directory, regardless of the number of projects in the directory.
    • IIS virtual directory: Use this option to run the CMS Assessment Tool on the same computer on which MCMS is installed.
    • Visual Studio .NET Solution: Use this option to analyze a solution with one or more projects.
      Note   You must select a debug build with .pdb files for the MCMS Web site assemblies, otherwise, the source column in reports will be blank and the line number column will be -1.

    If an assembly you selected to be analyzed is missing, the Missing assemblies page opens with a list of assemblies you need to find.

  4. On the Missing assemblies page, do one of the following, and then click Next:
    • Click Yes to allow the tool to continue without the missing assemblies.

      The tool writes an error message to the log file when an .aspx, .ascx, or .asmx file is missing a dependent assembly or the associated code-behind assembly. These errors begin with the warning "generated user control assembly not found".

    • Click No to browse for the missing assemblies.
      Note   If you selected Visual Studio .NET Solution in step 3, and your solution contains projects based on .NET Framework 2.0 that have not been precompiled, the Question window opens.
  5. In the Question window, click Yes to precompile the project. You will be asked to choose a directory in which to save the precompiled project. Click No if you do not want to precompile the project.
    Important   .NET Framework 2.0–based projects must be precompiled before you can use the CMS Assessment Tool on them.
  6. Click Cancel to return to the previous page.
  7. In the Choose projects to analyze page, do the following:
    1. Select the projects to analyze.
    2. Click Files that cannot be analyzed to see the files that could not be analyzed, such as interop assemblies, native code DLLs, Microsoft assemblies, and some third-party products.
    3. Click Next.
  8. In the Choose ASP.NET files to analyze page, select the files to analyze. By default all ASP.NET files that are part of the selected projects are selected.
  9. In the Set user information for CMS Repository page, do the following:
    1. Select Collect posting data to collect posting information from the MCMS Content Repository.
      Note   If a significant number of postings are in the MCMS Content Repository, the output analysis file may be large.
    2. By default the CMS Assessment Tool uses the current user to connect to the MCMS Content Repository. Click Change to enter a different Username and Password.
    3. Click Browse, then select the Root channel to analyze.
    4. Click Add or Remove to change the Template galleries to analyze.
    5. Click Next.
  10. In the Report directory selection page, click Browse, browse to the directory where analysis output is saved, and then click Next.
  11. On the CMS Site Analyzer page, in the Information to be analyzed list, select one of the following, and then click Next:
    • Machine only: Use this option to collect information about the computer where the CMS Assessment Tool is running.
    • Database only: Use this option to collect information about the MCMS Content Repository. Optional: Click Change to specify a user name and password to use to connect to the MCMS Content Repository. By default the CMS Assessment Tool uses the credentials of the user who is currently logged on.
    • Full: Use this option to collect information from both the computer the tool is running on and from the Content Repository.
  12. In the Pre-Migration Analyzer page, select Get database information from CMS configuration to enable the CMS Assessment Tool to read MCMS database configuration from the registry. If you do not select this option, you must specify the database server and the database name.
  13. Click Next.
  14. In the Report directory selection page, select the directory where you want the output files of the analysis to be saved, and then click Next.
  15. In the Ready to analyze page, click Next.

    When the analysis is finished, the CMS Assessment Tool execution summary page opens.

  16. Click Finish to close the CMS Assessment Tool Wizard.

CMS Assessment Tool from the Command Line

Use the command line to run the CMS Assessment Tool after you create configuration (.stp) files by using the CMS Assessment Tool Wizard. We recommend you use this option when you need to automate the assessment process by using a batch file.

Important   If your application is a Visual Studio 2005 application, you must precompile your Web projects before using the tool.

To run the CMS Assessment Command Line Tool

  1. Create an .stp configuration file.
    • Recommended: Run the CMS Assessment Tool Wizard. It creates a file named cmsat-setup.stp that contains all of the options you select in the wizard.
    • Alternative: Create your own myConfiguration.stp file. For information about the XML schema definition of this file, see Appendix C: Assessment Tool Configuration File XML Schema.
      Note   If your configuration (.stp) file references a directory that has been moved or deleted, the tool writes the following error to the log file:
      ILParser.ParsingClasses.ParsingException: Could not find file :
      C:\MySamples\MyLibrary.dll
  2. To run the CMS Assessment Command Line Tool using an existing .stp file, type the following at a command prompt:
    cmsat-console.exe myConfiguration.stp [-output-dir myDirectory]
    
    

Assessment Log File

Whether you run the CMS Assessment Tool from the wizard or the command line, it records issues it encounters during the assessment in the assessment log as either errors or warnings. Errors are conditions that force the tool to skip the element being analyzed. Warnings are conditions that do not skip files, but might prevent the tool from getting some information.

Any errors or warnings produced by the tool are printed to a log file in a target directory you choose. In the wizard, if you choose Separate report for each directory, a log file is created for each directory analyzed, with the following naming convention: myDirectory.log. If you do not choose Separate report for each directory, the log file name is CMSAssessmentTool.log.

You can use log files to understand why specific files are skipped; to find missing assemblies, names, and namespaces; and to find invalid virtual directory paths.

Following is an example log file:

-------------------------------------------------------------
While processing D:\CMSSamples\ReproTemplateVB\nav.ascx 
D:\CMSSamples\ReproTemplateVB\nav.ascx(316,0) : error BC30451: Name 's' is not 
declared.
Warning generated user control assembly not found: nav_ascx_Assembly.dll, 
nav.ascx.
------------------------------------------------------------

Viewing the Reports

The CMS Assessment Tool creates a number of reports you can use to analyze an MCMS 2002 application. The reports are XML files that you view in Microsoft Office Excel as worksheets. You do not need to use Excel on the same computer where the CMS Assessment Tool is used to analyze the application.

To load results for the reports

  1. In Excel, set your macro security level.
    1. On the Tools menu, point to Macro, and then click Security.
    2. In the Security window, on the Security Level tab, select Medium.
  2. Open the file C:\CMS Assessment tool install directory\MCMS Assessment Tool Report.xls.
  3. On the CMS Assessment Tool Results worksheet, click each of the following buttons in turn:
    1. Load CMS Repository Results
    2. Load Code Analysis Results
    3. Load Site Analyzer Results
    4. Load Pre-Migration Analyzer Results
  4. In the Select data file to read dialog box, browse to the output directory location you specified in the assessment tool, and then click Open.
    Note   If you selected Separate report for each directory in the wizard, the output file name is MyDirectoryName-output-xl.xml.

Now that the results data is loaded, you can view the reports in the Excel workbook.

To view the reports

  1. On the CMS Assessment Tool Results worksheet, click Menu.

    A menu appears with a list of reports you can view. Reports are listed in the menu only if you loaded the results for them. For information about each report, see Interpreting the CMS Assessment Tool Reports.

  2. Select the report you want to view.

    The report opens as an Excel worksheet.

To print the reports

  • On the CMS Assessment Tool Results worksheet, click Menu, and then click Print All Reports.

Interpreting the CMS Assessment Tool Reports

Now that you have run the CMS Assessment Tool on your application, how do you interpret the reports it produces? The following sections describe each of the reports.

Site Summary Report
PAPI Usage Summary Report
PAPI Class Usage Report
Placeholder Control Usage Report
User Methods Calling PAPI Report
Methods Returning PAPI Report
Classes with PAPI Fields Report
Workflow Event Handling Report
User Classes with PAPI Parents Report
Placeholders per Template Report
Template vs. Placeholder Control Report
HTTP Modules Report
Cache Settings Report
Project Line Count Report
Control Usage Report
Channel Information Report
Channel Properties Report
Gallery Information Report
Template Information Report
Template Property Definition Report
Placeholder Definition Usage Report
Posting Information Report
Posting Custom Properties Report
Duplicated Posting Names Report
Site Analyzer Results Report
Pre-Migration Analyzer Results Report
Elements from Sample Sites Report
Web Author Consoles Report

Site Summary Report

Contains summary information for the entire MCMS Web site analysis, including the total number of classes, methods, get and set properties, Microsoft ASP.NET Web pages, ASP.NET Web controls, and assemblies used by the MCMS Web site. The report also contains a list of elements analyzed including assemblies, .asp files, project files, and skipped files.

Use this report to create an inventory of your application's code to help you to understand the scope of what is in your application.

PAPI Usage Summary Report

Provides an overview of the Publishing API methods that your code calls and the number of times they are called. This report includes indirect dependencies such as calls to a Publishing API class constructor.

To determine whether your application uses custom properties

  1. In the Class Name column, filter for Posting or Channel.
  2. In the PAPI Method Name column, filter for CustomPropertyCollection or CustomProperties.

To determine whether your application contains custom placeholders

  1. In the Class Name column, filter for BasePlaceholderControl.
  2. In the PAPI Method Name column, filter for BasePlaceholderControl().

PAPI Class Usage Report

Lists the Publishing API classes that your code uses as fields and local declarations and the number of times they are used.

Use this report to get a quick overview of the PAPI classes, PAPI console actions, and placeholder controls that are used in code in your templates. For more information, see PAPI Usage Summary Report or User Methods Calling PAPI Report.

Placeholder Control Usage Report

Lists placeholder controls in your application and the number of times they are used. You can use this report to identify placeholder controls that may need to be rewritten in Office SharePoint Server 2007. For information about which template files use these controls, see Template vs. Placeholder Control Report.

You can also use this report to find Spark functionality. Because Office SharePoint Server 2007 contains Microsoft Office SharePoint Portal Server 2003 and MCMS 2002 functionality, you no longer need to use Spark to integrate the two products.

Note   This report includes only controls inheriting from BasePlaceholderControl.

To determine whether your application uses XML placeholders or custom placeholders

  • On the Class Name column, filter for XmlPlaceholders or the names of your custom placeholders.

To determine whether your application uses Spark functionality

  • On the Class Name column, filter for SharePointDocumentPlaceholderControl.

User Methods Calling PAPI Report

Lists methods in your code that make calls to Publishing API methods. This report provides information about the source code file and line number, parent class and namespace, and the Publishing API parent class and namespace.

Note   User namespace is ASP if the Publishing API call is made from an .aspx, .ascx, or .asmx file.

You use this report to determine whether your site uses custom Web Author actions, or to find potential navigation controls, references to objects by GUID, potential META tag insertions, and interop assembly dependencies. If your site contains custom Web Author actions, you must replicate them or replace them with built-in functionality in Office SharePoint Server 2007.

To determine whether your site contains custom Web Author actions

  • On the CMS Class column, look for Microsoft.ContentManagement.WebControls.BaseAction, Microsoft.ContentManagement.WebControls.BasePostbackAction, and Microsoft.ContentManagement.WebControls.BaseNewWindowAction.

During migration you can replace custom navigation controls with native ASP.NET 2.0 controls, but you must first identify the controls in your site.

To identify potential navigation controls in your site

  1. On the CMS Method column, filter to string DisplayName.
  2. On the CMS Class column, filter to Channel.
  3. Review the files listed in the Source column to determine whether they contain navigation controls.

MCMS has a unique identifier for all objects stored in the Content Repository. Items can be referenced by this GUID or by different types of paths. You need to find GUID-based searches for MCMS because this is not supported in Office SharePoint Server 2007.

To find GUID-based searches

  • On the CMS Class column, filter to Searches in CMS Class, and then identify any GetByGUID call.

To tell search engines the pages to index, the pages to ignore, and whether to follow additional links from the current page, you should use a META tag named ROBOTS.

To identify potential META tag insertions

  1. On the CMS Class column, filter to ChannelItem or Channel.
  2. On the User Method column, filter to bool IsRobotFollowable or bool IsRobotIndexable.

To incrementally deploy content in MCMS 2002, you write custom code that calls the Site Deployment API. Because the Site Deployment API is COM-based, you use interop assemblies to call members of the API from managed code. In SharePoint Server, you replace this code with built-in features that provide a user interface that enables you to create content deployment jobs.

To detect interop assembly dependencies for incremental deployment

  • On the User Namespace column, filter to SITEDEPLOYCLIENTLib.

Methods Returning PAPI Report

Lists methods you created that return or receive a Publishing API class as a parameter. Use this report to locate site navigation code that generally uses PAPI objects such as Posting or Channel. Navigation in Office SharePoint Server 2007 is based on a different model that provides more built-in functionality.

To find site navigation code

On the Class Name column, filter to Posting or Channel.

Classes with PAPI Fields Report

Lists classes you created with Publishing API fields in them. Use this report to find dependencies on PAPI fields. Because the API has change, when you migrate to Office SharePoint Server 2007 you will need to change these dependencies.

Workflow Event Handling Report

Lists publishing event handlers.

You must determine whether your application has any publishing event handlers because Office SharePoint Server 2007 uses a new workflow engine and provides most workflow functionality built in. You can also use workflow designer tools from Microsoft Windows Workflow Foundation to design new workflows easily, using little or no custom code.

Note   The report does not list empty event handler members.

User Classes with PAPI Parents Report

Lists classes you created that inherit from a Publishing API class.

Use this report to find custom placeholder controls in your application and determine whether your site contains custom Web Author actions. You must identify the custom placeholder controls in your Web site because you will need to rewrite them into the Office SharePoint Server 2007 field control framework. You will also need to find the templates that use your custom placeholder controls. Finally, you need to determine whether your site contains custom Web Author actions because you must replace them with built-in functionality or rewrite them in Office SharePoint Server 2007.

To find custom placeholders in your application

  • On the PAPI Class column, filter for BasePlaceholderControl, SingleImagePlaceholderControl, SingleAttachmentPlaceholderControl, and HtmlPlaceHolderControl.

To determine whether your site contains custom Web Author actions

  • On the PAPI Class column, filter for BaseAction, BasePostbackAction, and BaseNewWindowAction.

Placeholders per Template Report

Lists file names, placeholder control classes, and the number of placeholder controls per template.

You can use this report to identify the list of templates that are using XML placeholder controls and custom placeholder controls, which do not have a direct equivalent in Office SharePoint Server 2007. Instead, you can use the built-in controls in Office SharePoint Server 2007 or write your own.

To find XML and custom placeholder controls

  • On the Placeholder Control Type column, filter for Microsoft.ContentManagement.Publishing.Extensions.XmlPlaceholder or the names of your custom placeholder classes.

Template vs. Placeholder Control Report

Lists the template files in your application and the placeholder controls they use.

Use this report to determine which template files in your application are using Authoring Connector, and to determine whether .aspx files in your application are placeholder control files or template files (.aspx files that contain placeholders are template files).

You can also use this report to find template files that list summary information (summary templates) and that do not contain any placeholders.

To determine which templates use Authoring Connector

  • On the Placeholder Control Type column, filter for OfficeHtmlPlaceholder or OfficeAttachmentPlaceholder.

You need to find summary templates because in Office SharePoint Server 2007 you use summary controls to recreate these templates.

To find summary templates

  • On the Placeholder Control Type column, filter for blank cells.

Http Modules Report

Lists the modules included on web.config files. In MCMS you use HTTP modules to rewrite URLs, provide SSL support, improve performance, or implement extended authorization techniques.

Use this report to find HTTP modules, because you will need to rewrite them in Office SharePoint Server 2007 using the new APIs.

Cache Settings Report

Lists ASP.NET pages cached in your Web site. Office SharePoint Server 2007 provides greater support for caching than MCMS 2002, so you can more easily create and customize cache policies and cache profiles on the migrated site.

To find pages using caching

  • On the Duration, Location, VaryByHeader, VaryByParam, and VaryByCustom columns, filter for cells that are not empty.

Project Line Count Report

Shows the number of lines of code in each project. Use this report to quantify the code of your application.

This is one way to determine the amount of customization in your application. Because Office SharePoint Server 2007 provides a lot of built-in functionality, you will probably require considerably less code for migration.

Control Usage Report

Shows the controls that are used in files in your application.

Use this report to find metatag emitter and robot controls that you need to replace for Office SharePoint Server 2007, and to find Spark functionality. Office SharePoint Server 2007 contains SharePoint Portal Server 2003 and MCMS 2002 functionality, so you no longer need to use Spark to integrate the two products.

To find Metatag-related controls

  • On the Tag column, filter for RobotMetaTag and SearchMetaTagGenerator.

To determine whether your application uses Spark functionality

  • On the Tag column, filter for SearchInputControl, SearchResultControl, and SearchMetaTagGenerator.

Channel Information Report

Lists the channels in your MCMS Web site.

Use this report to find channel rendering scripts in your application and to determine whether you are using host header mapping.

In Office SharePoint Server 2007, you always have a default.aspx file and there is no concept of default posting, so you do not need channel rendering scripts.

To find channel rendering scripts

  • On the Rendering Script column, filter for non-empty cells.

To find channel rendering scripts for framed sites

  1. On the Rendering Script column, filter for cells that are not empty.
  2. On the Apply script to postings column, filter for Yes.

You need to determine whether you are mapping channels to host headers because, in SharePoint Server, you replace that feature with functionality from Microsoft Internet Information Services (IIS).

To determine whether your application is mapping channels to host headers

  1. Use the Server Configuration Application (SCA) to determine whether you are using the Map Channel Names to Host Header Names feature.
  2. In the Channel Information report, on the column, look for fully qualified domain names such as www.microsoft.com.

Channel Properties Report

Lists channels and their custom property settings.

Because the Office SharePoint Server 2007 equivalent of custom properties is API-based rather than user-interface-based, you must find custom properties in your MCMS application before migration.

Gallery Information Report

Lists galleries in your MCMS repository.

Use this report to get an overall view of your gallery structure.

Template Information Report

Lists templates in your MCMS application.

Use this report to find connected templates and to determine whether your templates are using SSL.

Office SharePoint Server 2007 does not support connected postings. Office SharePoint Server 2007 provides different features to give the same functionality. Therefore, connected postings, which are based on connected templates, are migrated as copies of the same posting.

To find connected templates

  • On the Connected Templates column, filter for values greater than zero.

To secure individual channels, you may have implemented an HttpModule that redirects browsers to an HTTPS connection based on a custom property. An HttpModule used to secure channels usually relies on a special custom property on the channel that indicates whether the channel should be secured. In Office SharePoint Server 2007, you must rewrite this code.

To determine whether your template uses SSL

  • On the Custom Property column, look for a property named SSL or RequiresSSL, or something similar.

Template Property Definition Report

Shows all custom property definitions for each template.

Custom properties are not supported for templates in Office SharePoint Server 2007; therefore, you need to find them in your MCMS application.

Placeholder Definition Usage Report

Lists placeholder definitions and the number of times they are used.

Use this report to determine whether your application uses Authoring Connector. In Office SharePoint Server 2007 the Authoring Connector is no longer needed. You can publish your documents directly to Office SharePoint Server 2007 and use either the built-in document converters or create a custom document converter.

To determine whether your application uses Authoring Connector

On the Class Name column, filter for OfficeHtmlPlaceholderDefinition.

Posting Information Report

Lists postings in your application.

Use this report to find connected postings, which will be migrated to Office SharePoint Server 2007 as copies rather than connected postings because the connected postings feature is not supported in Office SharePoint Server 2007. SharePoint Server provides different features that give the same functionality.

To find connected postings

  • On the Connected Postings column, filter for values greater than zero.

Posting Custom Properties Report

Lists postings with custom properties.

Custom properties for postings are migrated to content on the actual page; therefore, you need to find them in your MCMS application before you migrate.

Duplicated Posting Names Report

Lists postings with duplicate names.

After you migrate to Office SharePoint Server 2007, you cannot have two postings in the same channel with the same name. Use this report to find duplicate posting names so that you can fix them before you migrate to Office SharePoint Server 2007.

Site Analyzer Results Report

Summarizes the metrics about your MCMS site.

This information lets you know the amount of content your site handles. Use this information to determine whether your new Office SharePoint Server 2007 infrastructure supports your deployment scenarios or if you will need to upgrade it.

Pre-Migration Analyzer Results Report

Shows the issues in the MCMS content database such as:

  • Lost access control lists
  • Broken links in content
  • Checked-out elements
  • Deprecated placeholders
  • Objects with invalid names
  • Unsafe or invalid HTML

The error message strings shown in this report are the same as those that will be shown in the Microsoft Office SharePoint Server (MOSS) Content Management Server Migration Report. However, notice that the CMS Assessment Tool will return more information because it actually performs the "importing" and "exporting" phases of the content migration.

For some of the issues, the report provides a recommendation about how you should handle the errors.

Elements from Sample Sites Report

Shows a list of classes whose names match the name of sample code provided on GotDotNet, plus any class names you specify in the AdditionalClasses.xml file. You create the AdditionalClasses.xml file in the same directory where you installed the tool.

To see the list of classes the tool automatically reports as elements from sample sites, see Appendix A: Classes Reported in Elements from Sample Sites.

Web Author Consoles Report

Lists Web user controls that implement a Web Author console and the templates that use it.

You can use this report to determine whether you have more than one Web Author console, and also to determine which templates use which consoles. In Office SharePoint Server 2007, the Web Author console is not a user control that you can put onto a template.

Conclusion

The successful upgrade of a project depends on its careful assessment and analysis. A thorough application of these tasks helps ensure accurate planning and budgeting. This article discussed the information you need to gather to help you perform these tasks successfully, and described some of the tools that are available to help you gather it.

Additional Resources

Appendixes

Appendix A: Classes Reported in Elements from Sample Sites

Appendix B: Assessment Tool Configuration File

Appendix C: Assessment Tool Configuration File XML Schema

Appendix A: Classes Reported in Elements from Sample Sites

The CMS Assessment Tool looks for the following classes, which are samples found on GotDotNet:

  • Stefan.ConsoleExtension.NewSaveNewPageAction
  • Stefan.PlaceholderControls.AlignedImagePlaceholderControl
  • Stefan.PlaceholderControls.AllTagsHtmlPlaceholderControl
  • UKIB.Artemis.CodeClean.CodeClean
  • StefanG.ASPNET20_HttpModule.ForceMCMScompatibility
  • StefanG.ASPNET20_HttpModule.ASPNET20_ThemeCorrection_HttpModule
  • Stefan.PlaceholderControls.AutoCssHtmlPhControl
  • Microsoft.Services.MCS.CMSControlLibrary.CalendarPlaceholder
  • WebControlLibrary.CheckBoxListPlaceholder
  • UKIB.Ciber.CmsPlaceholders.ImageMapPlaceholder
  • AngusLogan.Cms.Utilities.CleanTelerikOutput.CharRewriteHttpModule
  • StefanG.ConsoleExtension.ValidatedSaveNewAction
  • StefanG.ConsoleExtension.ValidatedReeditSaveAndExitAction
  • StefanG.ConsoleExtension.ValidatedReeditSaveAction
  • Intranet.CustomControls.ValidatedTextBoxPlaceholder
  • ArtemisCms.Controls.CMSFTBEditControl
  • Microsoft.Toolkits.EnterpriseSolutions.ItemSortAction
  • StefanG.HttpModules.CmsNiceUrlHttpModule
  • StefanG.HttpModules.CmsSslHttpModule
  • Stefan.ConsoleExtension.DeclineWithReason
  • Stefan.ConsoleActions.CreateShadowPostingConsoleAction
  • Microsoft.ContentManagement.Web.Security.CustomAuthorizationModule
  • InvestorCMSWebControlLibrary.DeleteWithConnectedAction
  • DropDownPlaceholderControl.DropDownPhControl
  • StefanG.HttpModule.EnhancedCmsAuthorizationModule
  • StefanG.ContentManagement.WebControls.EnhancedRobotMetaTag
  • FAQtemplate.FAQPlaceholderControl
  • MCMS.WebControls.Containers.FilterContainer
  • ShockwaveFlashPlaceholderControl.FlashPlaceholderControl
  • Stefan.PlaceholderControls.HideablePlaceholderControl
  • WRCIWebControlLibrary.HtmlAttachmentPropertyPlaceHolder
  • corp.cms.cmswysiwyg.HTMLEditControl
  • Stefan.PlaceholderControls.ImageChangePlaceholderControl
  • UKIB.ImgManPlaceholder
  • UKIB.StockTickerControl
  • HTMLEditor.ActiveXHtmlEditControl
  • HTMLEditor.ActiveXHtmlToolbarControl
  • CustomPlaceholders.MetaDataPlaceholder
  • CustomPlaceholders.MetaDataEditControl
  • CustomPlaceholders.CustomSaveAndExit
  • NHS.IA.CmsControlLibrary.CustomMetaTags
  • Stefan.PlaceholderControls.MultiAttachmentPlaceholderControl
  • Conchango.CustomPlaceholder.MultiLingualSelector
  • Conchango.CustomPlaceholder.MultiLingualPlaceholder
  • UKIB.ParityUKIBControls.KeywordsPresentation
  • UKIB.ParityUKIBControls.KeywordsAuthoring
  • HRComplyMCMSPlaceholder.PDFPlaceholderControl
  • PhControls.Cms.PlainTextPlaceholder
  • UKIB.PPTPlaceholder
  • StefanG.ServerControls.PropertyAuthoringServerControl
  • QuickTimePlaceholderControl.QTPlaceholderControl
  • StefanG.PlaceholderControls.RandomImagePlaceholderControl
  • RenderPlaceholderServerControl.RenderPhServerControl
  • Microsoft.Services.MCS.CMSControlLibrary.RichTextPhCtl
  • Microsoft.Services.MCS.CMSControlLibrary.CSHtmlToolbar
  • Microsoft.Services.MCS.CMSControlLibrary.CSHtmlBase
  • Stefan.PlaceholderControls.RssAggregatorPlaceholderControl
  • Microsoft.StefanG.ConsoleExtension.SaveNewandReleaseOwnership
  • Microsoft.StefanG.ConsoleExtension.SaveandExitandReleaseOwnership
  • Microsoft.StefanG.ConsoleExtension.ReeditSaveandReleaseOwnership
  • Stefan.ConsoleExtension.NewSaveNewPageAction
  • SelectButtonPlaceholderControl.SelectButtonPhControl
  • Microsoft.ContentManagement.Publishing.Placeholders.SerializatorPlaceholderControl
  • CustomCMS.StrippingHtmlPhControl
  • SteveWalker.ContentManagement.PlaceholderControls.SWHtmlPlaceholderControl
  • Microsoft.Services.MCS.CMSControlLibrary.TemplatedNavCtl
  • Microsoft.Services.MCS.CMSControlLibrary.TemplatedBreadCrumb
  • UKIB.MCMSNavigatorControl
  • UKIB.ioko.ContentManagement.Publishing.Placeholders.iokoUserControlPlaceholder
  • UKIB.WindowsMediaPlayerControlLibrary.WindowsMediaPlayerControl

To add more classes to this list

  1. Create an XML file named AdditionalClasses.xml and save it to the directory where you installed the CMS Assessment Tool.
  2. Add the following code to the file:
    <additional-classes>
    </additional-classes>
    
    
  3. For each class you want to report, add the following code to the additional-classes element.
    <additional complete-name="MyNamespace.MyClass"/>
    
    

Appendix B: Assessment Tool Configuration File

The CMS Assessment Tool Wizard creates a configuration file that contains the settings you specify in the wizard. The next time you run the wizard, you can load the configuration file, and optionally, make changes to the settings. The configuration file makes it easy to run the CMS Assessment Tool Wizard repeatedly without having to redo your settings.

Important   User names and passwords used to access the MCMS Content Repository information are not stored in configuration files. Instead, the currently logged-in user credentials are always used for access to the MCMS Content Repository.

You can create your own configuration files, but they must conform to a specific format. If a configuration file does not conform to the specified format, an error will be generated in the CMS Assessment Tool.

A configuration file must contain at least one directories, solution, or iis-directory element. If only one of these elements exists, and you use the CMS Assessment Command Line Tool, all other options are set to default.

Following are the XML elements for the configuration file. All element attributes are required.

Table 1. Configuration file XML elements

Name Description Attributes Child Elements
batch-configuration The root element output-directory   Name of the directory for all output of the CMS Assessment Tool Directories, solution, iis-directory, projects, assemblies, asp-elements, directories, cms-repository
directories A list of directory child elements separate-reports   true if a separate report should be generated for each directory element; otherwise, false (one report) directory
directory A directory entry directory-name   Location of the directory none
solution A solution entry filename   File name of the solution none
iis-directory An IIS directory virtual-directory   Name of the IIS virtual directory to analyze

real-directory   Physical location of the virtual directory

none
projects A list of project child elements none Project
project A project entry file-name   Where the Visual Studio. NET project is located on disk none
assemblies A list of assembly child elements none Assembly
assembly An assembly entry file-name: Location of the .NET assembly none
asp-elements A list of asp-element child elements none asp-element
asp-element An ASP file to be analyzed file-name: the location of the ASPX file none
cms-repository The CMS Repository analyze-repository   true if the MCMS Content Repository should be analyzed; otherwise, false

collect-posting-data   true if MCMS Content Repository posting data should be collected; otherwise, false

root-channel   Name of the channel to analyze along with its child channels

root-template-gallery
root-template-gallery The name of a gallery in the CMS repository name   Name of the gallery none
cms-site-database -analyzer If present, enables the tool to extract statistics from the repository run-locally   true if the tool extracts database info from local configuration rather than using specified information, otherwise, false

analysis-kind   MachineOnly to extract information about the MCMS computer

DatabaseOnly   Extracts information about the MCMS Content Repository

Full to run both MachineOnly and DatabaseOnly

server-name   Name of the computer where the database is located

database-name   Name of the database

none
premigration-analyzer If present, enables the tool to analyze the CMS Content Repository to detect issues on content migration run-locally   true if the tool extracts database information from local configuration rather than using specified information, otherwise, false

server-name   Name of the computer where database is located

database-name   Name of the database

none

The following code shows an example of a configuration file. This file was created by using the wizard to assess the WoodgroveNetVB sample site. To use this configuration file on your computer, you will need to verify the file paths.

<batch-configuration output-directory="C:\tests\results">
  <projects>
    <project file-name="C:\tests\WoodgroveNetVB\WoodgroveNetVB.vbproj" />
  </projects>
  <assemblies>
    <assembly file-name="C:\tests\WoodgroveNetVB\bin\
      WoodgroveNetVB.dll" />
  </assemblies>
  <asp-elements>
    <asp-element file-name="C:\tests\WoodgroveNetVB\Includes\ManualLogin.aspx" />
    <asp-element file-
      name="C:\tests\WoodgroveNetVB\Templates\CaseStudies.aspx" 
    />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\Templates\DefaultChannelpage.aspx" />
    <asp-element file-name="C:\tests\WoodgroveNetVB\Templates\
      Home.aspx" />
    <asp-element file-name="C:\tests\WoodgroveNetVB\Templates\JobPosting.aspx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\Templates\
        LegalDisclaimer.aspx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\Templates\PressRelease.aspx" />
    <asp-element file-
      name="C:\tests\WoodgroveNetVB\Templates\Services.aspx" />
    <asp-element file-name=
      "C:\tests\WoodgroveNetVB\Templates\Summary.aspx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\Console\DefaultConsole.ascx" />
    <asp-element file-name=
      "C:\tests\WoodgroveNetVB\UserControls\Footer.ascx" />
    <asp-element file-name=
      "C:\tests\WoodgroveNetVB\UserControls\Header.ascx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\UserControls\HeadTags.ascx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\UserControls\LatestPress.ascx" />
    <asp-element 
      file-name="C:\tests\WoodgroveNetVB\UserControls\
        LeftNavigation.ascx" />
  </asp-elements>
  <directories separate-reports="false">
    <directory directory-name="C:\tests\WoodgroveNetVB" />
  </directories>
  <cms-repository analyze-repository="true" collect-posting-data="false" 
    root-channel="/Channels/WoodgroveNet">
    <root-template-gallery name="/Templates/WoodgroveNet" />
  </cms-repository>
</batch-configuration>

Appendix C: Assessment Tool Configuration File XML Schema

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="batchparameters" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="batch-configuration">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="projects">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="project" minOccurs="0" 
                maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="file-name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="assemblies">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="assembly" minOccurs="0" 
                maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="file-name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="asp-elements">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="asp-element" minOccurs="0" 
                maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="file-name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="directories">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="directory" minOccurs="0" 
                maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="directory-name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="separate-reports" type="xs:boolean" />
          </xs:complexType>
        </xs:element>
        <xs:element name="solution" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="filename" type="xs:string" />
          </xs:complexType>
        </xs:element>
        <xs:element name="iis-directory" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="virtual-directory" type="xs:string" />
            <xs:attribute name="real-directory" type="xs:string" />
          </xs:complexType>
        </xs:element>
        <xs:element name="cms-repository">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="root-template-gallery" minOccurs="0" 
                maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="analyze-repository" type="xs:boolean" />
            <xs:attribute name="collect-posting-data" type="xs:boolean" />
            <xs:attribute name="root-channel" type="xs:string" />
            <xs:attribute name="root-template-gallery" type="xs:string" 
              use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element name="cms-site-database-analyzer" minOccurs="0" 
          maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="run-locally" type="xs:string" />
            <xs:attribute name="analysis-kind" type="cms-site-database-
              analysis-kind" />
            <xs:attribute name="server-name" type="xs:string" />
            <xs:attribute name="database-name" type="xs:string" />
          </xs:complexType>
        </xs:element>
        <xs:element name="premigration-analyzer" minOccurs="0" 
          maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="run-locally" type="xs:string" />
            <xs:attribute name="server-name" type="xs:string" />
            <xs:attribute name="database-name" type="xs:string" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="output-directory" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="cms-site-database-analysis-kind">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Full" />
      <xs:enumeration value="MachineOnly" />
      <xs:enumeration value="DatabaseOnly" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

Show:
© 2014 Microsoft