SharePoint Server 2007 for MCMS 2002 Developers

Summary: Explore Microsoft Office SharePoint Server 2007, which merges functionality of Microsoft Content Management Server (MCMS) 2002 and Microsoft Office SharePoint Portal Server 2003 with new functionality to create one integrated set of technologies built on Microsoft Windows SharePoint Services 3.0. (20 printed pages)

Microsoft Corporation

May 2006

Applies to: Microsoft Office SharePoint Server 2007. Microsoft Office SharePoint Portal Server 2003, Microsoft Content Management Server 2002

Contents

  • Introduction to Office SharePoint Server 2007

  • Terminology Changes

  • Architecture Comparison

  • Page Processing

  • Channels vs. Sites

  • Template Objects vs. Content Types

  • Template Galleries vs. Content Types Gallery

  • Master Page and Page Layout Gallery

  • Placeholder Definitions vs. Column Templates

  • Template Files vs. Page Layouts

  • Postings vs. Pages

  • Connected Pages and Audience Targeting

  • Connected Postings vs. Variations

  • Resource Galleries vs. Image and Document Libraries

  • Roles vs. Permission Levels

  • Right Groups vs. User Groups

  • Authoring Connector vs. Rich Client Authoring

  • Publishing Events vs. Windows Workflow Foundation

  • Site Manager vs. Central Administration

  • Visual Studio 2003 vs. SharePoint Designer 2007

  • Site Deployment Code vs. Administration Tasks

  • Navigation

  • Authentication

  • Authoring

  • Reusable Content

  • Multilingual Sites

  • API Changes

  • Conclusion

  • Additional Resources

Introduction to Office SharePoint Server 2007

As a Microsoft Content Management Server (MCMS) 2002 developer, you know that MCMS 2002 proved to be a great product for content management, and you have probably used MCMS 2002 successfully to maintain your sites.

Some of the tasks for MCMS 2002 required the development of custom code that was costly to design, write, and maintain. In addition, repetitive code needed to be rewritten for almost every MCMS 2002 application.

With Microsoft ASP.NET 2.0 and MCMS 2002 SP2, you no longer needed to write code for site navigation, for search integration, or to have more flexibility authoring workflows on each site. Microsoft Office SharePoint Server 2007 unifies content management and collaborative solutions to assist you in creating dynamic, highly customized, content-centric Web sites faster and easier. Office SharePoint Server 2007 default functionality frees you from the routine work of creating custom code for common tasks, and in addition, offers the following new features:

  • Extensible workflow

  • Enterprise Search engine

  • Multilingual site publishing

  • Recycle bin (new for SharePoint Server)

  • RSS feeds

  • Single Sign On

As an experienced MCMS 2002 developer, you can quickly use your Web content management knowledge in SharePoint Server 2007.

You no longer have to deploy a solution based on Microsoft Office SharePoint Portal Server 2003 and a solution based on MCMS because, in SharePoint Server, you can develop a single solution that includes both content management and collaboration capability. SharePoint Server is built upon Microsoft Windows SharePoint Services 3.0 and offers a powerful new API. You have access to built-in Web Parts, lists, document libraries, templates, workflows, and RSS.

For a more technical comparison between MCMS 2002 code and SharePoint Server 2007, see Mapping MCMS 2002 APIs to SharePoint Server 2007

This article provides a side-by-side comparison of the development concepts in MCMS and SharePoint Portal Server 2003 with SharePoint Server 2007, to help you get up to speed quickly. This article does not provide code examples or step-by-step instructions for using SharePoint Server, but instead points you to the equivalent SharePoint Server concepts so you can know where to find additional information.

Terminology Changes

Because Office SharePoint Server 2007 is built on the Windows SharePoint Services platform, MCMS 2002 terminology has changed or been replaced to fit more naturally with its SharePoint foundation.

The following table presents a one-to-one mapping of the main MCMS 2002 elements and their SharePoint Server 2007 equivalents or replacements.

Table 1. MCMS 2002 terms compared to SharePoint Server 2007 terms

MCMS 2002 SharePoint Server 2007

Channel

Site (SPWeb object)

Page/Posting

Page

Template object

Site content type

Template file

Page layout

Placeholder definition

Column template

Placeholder control

   HtmlPlaceholderControl

   SingleImagePlaceholderControl

   SingleAttachmentPlaceholderControl

Field control

   HtmlContentControl

   ImageContentControl

   LinkControl

Resource library

Image library

Template Gallery

Master Page and Page Layout gallery

Web Author

Web Author

Architecture Comparison

MCMS 2002 uses Microsoft Internet Information Services (IIS) to deliver dynamic Web pages, and uses Microsoft SQL Server as its content repository. MCMS uses an Internet Server Application Programming Interface (ISAPI) filter to check requests and determine whether the request was for an MCMS object. The MCMS Publishing API is then used to retrieve and update content in the repository, and a connector is available to share information with SharePoint Products and Technologies.

Figure 1. MCMS 2002 architecture

MCMS 2002 architecture

Office SharePoint Server 2007 is built as a native ASP.NET 2.0 and SharePoint Products and Technologies application. Its content is stored in Microsoft SQL Server, but it uses the SharePoint lists infrastructure to store pages, resources, and templates. Publishing features are built on top of operating system services, such as Windows SharePoint Services and Microsoft Windows Workflow Foundation (WF).

Figure 2. Office SharePoint Server 2007 architecture

Office SharePoint Server 2007 architecture

In MCMS, authors use a Web browser–based component (Web Author) or Microsoft Office Word (when they have installed the Authoring Connector). Developers use Microsoft Visual Studio 2005 to develop ASP.NET template files, which reside in the file system of the server and the MCMS Template Explorer. Administrators use client applications such as Site Manager, Database Configuration Application, or Site Deployment Manager.

In SharePoint Server, you do not need to install client applications for authoring or administration. Developing "templates" is just a matter of dragging components using an HTML editor such as Microsoft Office SharePoint Designer 2007. For advanced tasks, you still use Visual Studio 2005.

Page Processing

Due to the change of technologies, page processing differs between MCMS 2007 and Office SharePoint Server 2007.

In MCMS 2002, page processing follows these steps:

  1. The browser requests a Web page from IIS.

  2. The MCMS ISAPI filter determines that the request is an MCMS page (posting) or resource.

  3. The filter rewrites the request with help from the MCMS Content Server.

  4. The filter passes the updated request back to IIS.

  5. The ASP.NET ISAPI extension determines that the request is for an ASP.NET–based file.

  6. The extension passes the request to the ASP.NET worker process.

  7. The worker process communicates with the MCMS Content Server to assemble all the information for the page.

  8. The ASP.NET worker process returns the assembled page to IIS.

  9. IIS returns the page to the browser.

Page processing in Office SharePoint Server 2007 is more integrated with the ASP.NET 2.0 core elements, and is no longer an extension on top of IIS. SharePoint Server also takes advantage of the tighter integration to Windows SharePoint Services 3.0.

As a result, in SharePoint Server, page processing follows these steps:

  1. The browser requests a Web page from IIS.

  2. IIS passes the request to ASP.NET 2.0

  3. ASP.NET 2.0 retrieves the page via a Windows SharePoint Services 3.0 file provider.

  4. The stream for Page Layout associated with the current page is loaded

  5. The stream for the master page is loaded.

  6. Page Layout runs each control on the page in the context of the page that was requested.

  7. IIS returns the page to the browser.

Channels vs. Sites

Office SharePoint Server 2007 requires a SharePoint site collection for each Web site. Top-level channels are mapped as top-level sites within a site collection in SharePoint Server. All other channels are mapped sites.

In an MCMS 2002 installation, you can organize your Web sites in two ways:

  • As a single MCMS instance that is a single Web site

  • As many Web sites that are operated from a single MCMS instance, each in its own top-level channel

The first case is straightforward, and the entire MCMS instance can be mapped to a single site collection in SharePoint Server 2007.

In the second case, there must be a separate SharePoint Server site collection for each top-level channel that represents a Web site, and all subsequent channels are SharePoint sites.

Three types of containers are available with MCMS and SharePoint solutions today: MCMS Channels, SharePoint Portal Server areas, and Windows SharePoint Services workspaces. SharePoint Server 2007 sites are a single container that provides a superset of all existing functionality.

There is no longer a limitation on the number of elements per channel. You do not need to split your content into several subchannels if you have many pages. Because the SharePoint Server storage system is designed to handle hundreds of thousands — or even millions — of items, scale is no longer a concern.

An MCMS Web page (previously named a posting) will be stored as a Windows SharePoint Services list item (in a list named Pages), and the MCMS placeholder content will be stored in the columns in the list item. By storing the MCMS content within a SharePoint list, you get the same consistent workflow, metadata, versioning, check-in, and check-out functionality that SharePoint provides.

SharePoint Server also has an impact on URLs. Two list items in a list cannot have the same URL, thus two pages in the Pages list cannot have the same name.

In MCMS 2002, channels used custom properties to provide some levels of customization, either in appearance or in navigation. In SharePoint Server, this is no longer necessary. You can use the UI to control whether you want a site to participate as a navigation element and you can use the new audience concept to make your sites adapt to particular users. Content migration from MCMS 2002 retains the values of the custom properties. These properties are kept in a property bag and can only be accessed programmatically through the API because there is no user interface in SharePoint Server to maintain them.

Template Objects vs. Site Content Types

In MCMS 2002 a template object establishes the structure of the content that will be authored. In Office SharePoint Server 2007, a site content type is the approximate equivalent of a template object and provides its functionality.

In SharePoint Server 2007, all pages in the content management system are stored as SharePoint list items. When you assign a site content type to a list, that site content type definition is copied to the list as a list content type. Each list item is assigned a list content type that establishes the set of columns a list item has. You can create "site columns" and use them on different "content types." This gives you a better level of reuse and more consistent metadata for your pages. For example, if you have an "author" content template and you see an author column on one of your content types, you know that it has the same characteristics as any other "author" column of other content types.

Site content types are also stored in the Content Repository. When you want to create a site content type for content management you create a content type based on the Page site content type, and then you add the columns for the fields that can be used on pages created with page layout for this content type.

With Templates in MCMS 2002, you are limited to having one template file for a template and all posting have to use the same template file for editing or rendering. With content types, you can have a different page layout for editing or rendering.

The Page site content type contains a number of default columns. The following table describes a sample of these default columns.

Table 2. Sampling of default columns in Page content type

Column Description

Start Date

A Date and Time that determines when the page is visible on the site.

Expiration Date

A Date and Time that determines when the page is no longer visible on the site.

Contact

The person or group who created the page.

Contact Email

The e-mail address of the person who created the page.

Contact Name

The name of the person who created the page.

Contact Picture

The picture of the person who created the page.

Page Layout

Each instance of a page in a site (such as jobposting1.aspx, jobposting2.aspx) will have a specific page layout associated with it to determine how the page is laid out. This is the column that it is stored in.

Visible in Navigation

Yes if the page should show in navigation, otherwise, No.

Template Galleries vs. Site Content Type Gallery

In MCMS 2002, you organize your Template Gallery items within template galleries. In Office SharePoint Server 2007, your site content types are listed in the site content type gallery, where you can create groups to help you organize them. The SharePoint Server site content type gallery is not as hierarchical as the MCMS 2002 Template Gallery. SharePoint Server allows you to create groups, and you can use these groups to organize and quickly filter the list of site content types to find the one you are looking for.

If you migrate the content of your site from MCMS to SharePoint Server, the site content type gallery contains all of your Template Gallery items (mapped to equivalent site content types).

Master Page and Page Layout Gallery

The top-level site in a site collection in Office SharePoint Server 2007 has a special document library named the Master Page and Page Layout gallery. All page layouts and master pages are stored in this document library. This document library supports views, versioning, check in, check out, and workflows as does any other SharePoint list.

To organize your page layouts in SharePoint Server, you now have preview icons as visual aids for contributors and folders. When you perform a content migration from MCMS 2002, SharePoint server creates a set of folders for keeping the Template Gallery structure. In each folder, it generates a basic, default page layout for each Template Gallery item that was present in MCMS.

Placeholder Definitions vs. Site Columns

In MCMS 2002, a placeholder definition indicates the type of media a placeholder can accept, the format that the content must be in, and other constraints a placeholder might have. You can also create your custom placeholder definitions with Microsoft Visual Studio 2003.

Office SharePoint Server 2007 uses site columns instead of placeholder definitions. Site columns determine the default field control associated with the column as well as what kind of content the field can contain, such as a single line of text, a hyperlink, or a picture. Site columns are stored in the Site Column gallery.

In MCMS you specify your placeholder definition setting directly in the placeholder definitions collection of the Template Gallery item. There is no reuse, and if you have two placeholder definitions with the same name in two different templates, it does not directly imply that they refer to the same kind of data. In SharePoint Server, you can use already defined site columns instead of creating a set of different site columns for each content type. Also, site columns let you specify more clearly the kind of data the column will have.

By default, MCMS 2002 provides only six placeholder definitions. SharePoint Server provides 19 default site column types:

  • Single line of text

  • Multiple lines of text

  • Choice (menu to choose from)

  • Number (1, 1.0, 100)

  • Currency ($, ¥, €)

  • Date and time

  • Lookup (information already on this site)

  • Yes/No (check box)

  • Person or group

  • Hyperlink or Picture

  • Calculated (calculation based on other columns)

  • Business data

  • Full HTML content with optional formatting and content constraints

  • A picture with display attributes and optional constraints

  • A hyperlink with display attributes and optional constraints

  • Summary links data

  • Page layout variations

  • Content type ID

  • Audience targeting

The following table shows which placeholder definitions map to equivalent site columns in SharePoint Server.

Table 3. Placeholder definition mapping to equivalent site columns

MCMS Placeholder Definition Type of Information to Use for Site Columns in SharePoint Server 2007

HtmlPlaceholderDefinition

Full HTML content with optional formatting and content constraints

AttachmentPlaceholderDefinition

"Lookup (information already on this site)" or "Hyperlink or Picture"

ImagePlaceholderDefinition

A picture with display attributes and optional constraints

The following placeholder definitions, available in MCMS 2002, do not have a default equivalent in SharePoint Server:

  • XML placeholder definitions

  • SharePoint Connector placeholder definitions

  • Custom placeholder definitions

If you perform a content migration from MCMS 2002, the content from those placeholders is preserved. Specifically, the content is migrated into a text field in the page, and can be viewed and edited as plain text data. You must implement a custom field control in SharePoint Server to render and edit that data further. For more information, see Placeholder Controls vs. Field Controls.

Template Files vs. Page Layouts

In MCMS 2002, template files dictate the overall look and feel of the Web pages. In Office SharePoint Server 2007, all pages are rendered by page layouts that exist in the document library named Master Page and Page Layout gallery. Page layouts are versioned, and the document list where they are contained supports workflows, so you can, for example, establish workflows for page layout approval. All page layouts reference a master page that is based on the SPWeb.CustomMasterURL property of the SPWeb class in which the page that is being rendered resides. All page layouts host controls (known as field controls) that bind to fields on the list item — you can use default SharePoint Server controls or build new ones. Field controls enable content to be edited and rendered for display just like placeholder controls do. For a code example for creating and using a custom field control, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

You can easily provide a consistent look and feel for your site by using master pages. You can use master pages to position navigational controls, company logos, and copyright notices that must be shared by all pages. You can use ASCX controls, Web server controls, or Web Parts on master pages.

For more information about master pages, see the following:

Placeholder Controls vs. Field Controls

In MCMS 2002, the placeholder control is the visible part of the placeholder. Office SharePoint Server provides very similar controls named field controls. You use the default SharePoint Server field controls, or create your own. Field controls need only a small bit of code to display the two modes of the controls, one for render time and one for edit time.

From a Web browser perspective, the edit field control is richer than the default MCMS 2002 placeholder controls; in addition, the default field control provided with SharePoint Server does not use ActiveX technology; it's a DHTML control. The SharePoint Server edit field control offers features such as spelling-checking, table formatting, styling, and the ability for content contributors to use it to author.

MCMS 2002 provided no support for managing links. To work around this limitation, a common solution was to provide "authored links" in an HTML placeholder control, or to create a summary control to iterate through postings in a channel.

SharePoint Server provides three different controls that make organizing links on pages quick and easy.

For selecting links through the site, and from external sites, the Summary Links control enables users to create summaries that include a link, description, and an image, and to set a display style for the summary. Summary links can be organized into groups and sorted using drag and drop.

For rolling up pages in a particular subsection of the site, SharePoint Server provides the Table of Contents control. This control allows authors to create and style a hierarchical view of pages.

It is often useful to generate a list of links to a series of pages through the site, based on a fixed set of criteria. For example, it might be useful to display a list of the five most recently published press releases about a particular product on the overview page for that product. To accomplish this SharePoint Server provides the Content By Query control. This control allows users to easily define queries that return links to pages that match certain criteria and then style the results.

For more information about field controls, see the Microsoft Office SharePoint Server 2007 SDK.

Web Parts

Office SharePoint Server 2007 allows you to use Web Parts in your page layouts. Web Parts are components that enable nonprogrammers to gather information they care about and customize the appearance of Web pages. For example, one Web Part might display a user's calendar; or another one can show a list of new business topics. Developers can create these Web Part components and make them available to SharePoint users, letting them build customizable pages that meet their needs.

If you are planning to use Web Parts, remember the following:

  • Authors can make per-page customizations by adding, removing, and reordering Web Parts, which may cause two pages based on the same page layout to end up looking very different.

  • Any changes that authors make to the Web Parts at the page level are per-page changes. If a page layout designer makes any modification to the Web Parts of the page layout, those changes will have no effect on existing pages based on that page layout.

  • Any page data stored in Web Parts will not be versioned. Any settings or changes made to the Web Part itself are also not versioned.

If you want to use Web Parts in your layout, but you do not want author-time customization, you can do one of the following:

  • Add the Web Part directly to the markup of the page layout, that is, do not add the Web Part to a Web Part zone.

  • Add a locked zone to the page layout with the Web Part already in place.

Adding a Web Part directly to the markup of the page provides more layout fidelity, but not all Web Parts function correctly outside of a zone. In those cases, you will need to use a locked zone.

Note

It is possible to change the implementation of any Web Part to store data in the page row, at which point that content would participate in the versioning process. For full versions, the Web Part settings would need to be versioned as well.

Postings vs. Pages

Content in MCMS 2002 was stored in pages. Only properties were stored in postings. Multiple postings could reference the same Page object (connected postings). In Office SharePoint Server 2007, content is saved in pages and all pages in the content management system are stored as SharePoint list items. These list items belong to a list on the SharePoint site named Pages. Because each list item must have a unique name, each page in a pages list must have a different name. In addition, GUIDs are no longer supported.

Because pages are SharePoint list items, you can take advantage of versioning, more check-in and check-out states, more flexible workflow, and a rich event set for list items and site events.

When you migrate content from MCMS 2002 to SharePoint Server, custom properties data is preserved. Posting custom properties become fields in the Pages document libraries; as a result, you can more easily use these values for your site customizations.

In SharePoint Server, you do not need custom posting properties to modify the way a page is rendered or to set security access. You can associate several page layouts with a content type and can change the page layout for a page. You can also set security on a list item basis, so you can secure pages without writing any code.

Connected Pages and Audience Targeting

In MCMS, one use of connected postings was to hide content depending on the audience.

In Office SharePoint Server 2007, "audiences" are groups of users you want to target. These groups of users can be arbitrary groups or Windows security groups. You can target both listings and pages to specific audiences. This information is also made available to the navigation provider to make site navigation also adapt to your audience.

Connected Postings vs. Variations

In MCMS, connected postings were also used to support multilingual sites. Office SharePoint Server 2007 provides a default "variation feature". For more information, see Multilingual Sites.

The CMS Assessment Tool for content migration will report on your connected postings. These postings are then migrated as individual copies of the postings.

Resource Galleries vs. Image and Document Libraries

In Office SharePoint Server 2007, resources are now easily managed in the content management domain. You store images in image libraries and other resources in document libraries. These SharePoint libraries provide versioning, workflow, alerts, and check-in/check-out functionality previously unavailable for resources. In addition, an easy-to-use interface with thumbnails and search functionality simplifies the task of locating your resources.

Roles vs. Permission Levels

MCMS 2002 provides a fixed set of eight roles: subscribers, authors, editors, moderators, resource managers, template designers, channel managers, and administrators. All rights groups are assigned to exactly one of these user roles.

Office SharePoint Server 2007 provides permission levels, and the number of permission levels is not fixed. SharePoint Server has eight default permission levels for publishing-enabled sites: viewer, design, contribute, read, limited access, approver, hierarchy, and manager. You can also create permission levels and configure the rights for them.

The following table shows how MCMS user roles are mapped to SharePoint Server permission levels.

Table 4. MCMS user roles mapped to SharePoint Server permission levels

MCMS User Role SharePoint Server Permission Level

Subscriber

Viewer

Author

Design

Editor

Approver

Moderator

Approver

Resource Manager

Limited Access

Template Designer

Limited Access

Channel Manager

Hierarchy Manager

Administrator

Full Access

Right Groups vs. User Groups

MCMS lets you organize collections of users with rights groups. A single user can be a member of multiple rights groups. Users can be either local Windows accounts or domain users, and can also be Microsoft Windows NT groups or Active Directory directory service security groups.

In MCMS, you can assign rights groups to the container level in channels, resource galleries, and template galleries. You cannot define rights on a page level.

In Office SharePoint Server 2007, you can define rights not only at the container level, but also at item level on any list, including your pages lists. To assign rights, you create user groups, assign permission levels to these groups, and then add users to the user groups. You can create as many user groups as you need.

If you perform a content migration from MCMS 2002, your rights group information is migrated and a user group is created for each "user role"-"rights group" combination.

In MCMS 2002, though you could store user information in the Active Directory directory service, or in SQL Server by using custom code, MCMS could not make use of the user profile data.

In SharePoint Server, user profiles are built in and synchronized with Active Directory. You can extend this profile and allow users to modify their profiles.

Authoring Connector vs. Rich Client Authoring

The MCMS 2002 Authoring Connector provides the ability to upload content from Microsoft Office Word directly to MCMS. Authoring Connector is a client component that you must install on each desktop computer that will need this functionality. After it is installed, it adds a Send to MCMS command to the Word File menu.

Office SharePoint Server 2007 provides rich-client authoring that does not require the installation of any client components. When a user finishes a document in Word, she can open the Word Save As dialog box, select My Network Places, and then select a document library. SharePoint Server uses the configured document converter for that document library and generates a page. You can also develop custom converters to convert files of almost any type into pages managed by the Publishing feature of SharePoint Server.

The original copy of the Word document is kept in the document library. The user can make changes to the document in My Network Places. SharePoint Server can convert it again to keep the document and the published content in sync.

Publishing Events vs. Windows Workflow Foundation

In MCMS 2002, events were mainly used for creating workflow. Workflow is now a powerful feature of Office SharePoint Server 2007, built upon Microsoft Windows SharePoint Services 3.0, that IT professionals and users can extend.

SharePoint Server provides default, basic approval workflows for pages in publishing sites. You can also create your own workflows using an HTML editor such as Microsoft Office SharePoint Designer 2007. This tool provides a graphical interface in which you can customize workflows without writing any code.

If you require more advanced workflows, you can also use the Visual Studio 2005 Designer for Windows Workflow Foundation, where you have access to the Microsoft .NET Framework and the SharePoint object model.

Site Manager vs. Central Administration

MCMS 2002 administration requires the use of applications such as Site Manager, Database Configuration Application, Server Configuration Application, and Site Deployment Manager. Some of these tools are Win32 applications that must be installed on your computer.

In Office SharePoint Server 2007, you can manage your site settings through a Web browser. SharePoint Server provides a Web-based administration interface named Central Administration. The interface offers better localization, and some of its default tasks eliminate the need for custom site deployment scripts.

Visual Studio 2003 vs. SharePoint Designer 2007

In MCMS 2002, Visual Studio 2003 was the preferred tool for developers to construct the template files needed to create Web sites. Visual Studio 2003 provides the Template Explorer, which is a graphical interface to manage template galleries and Template Gallery items.

In Office SharePoint Server 2007, you can use the Web-based Central Administration interface for tasks you performed with the Template Explorer, such as creating and customizing content types or managing your master pages and page layouts.

Most of the tasks in SharePoint Server have been designed so you can create and customize pages layouts without writing any code.

You can also use Microsoft Office SharePoint Designer 2007 to create master pages and page layouts by using a WYSIWYG user interface. You can drag field controls and server controls, drop them in SharePoint Designer, and then set properties for them. You can create custom workflows by using the workflow design option (Data menu), and insert Web Part zones and Web Parts.

If you require custom development of field controls, document converters, Web Parts, or server controls, or if you need more advanced workflow design, you can use Visual Studio 2005.

Site Deployment Code vs. Administration Tasks

In MCMS 2002, you wrote your own code for content deployment. Export and import were two separate processes and only one import job was allowed at a time. You also had to deploy your template files and custom placeholder controls yourself.

In Office SharePoint Server 2007, page layouts are stored in the database and are deployed with your content automatically. However, custom field controls and other assemblies are not stored in the database, and you still need to deploy these yourself.

The deployment user interface is much richer, so most deployment scenarios can be accomplished by an IT professional using the Web user interface, and you do not need to write any scripts.

For example, when a particular piece of content needed to be deployed by an author immediately, you required custom code in MCMS. You can now use a SharePoint Server Feature named Quick Deployment to allow users without Central Administration rights to have the right to Quick Deploy their content. The Quick Deploy job is a special deployment job that runs more often than a regular job, and allows privileged users to specify individual pages to be deployed quickly.

When you need it, you can use the new SharePoint Server object model to handle other scenarios programmatically, such as deploying content between servers that are not on the same network. In SharePoint Server, the COM-based site deployment API from MCMS 2002 has been replaced with a new .NET Framework–based API. For a code example, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

Navigation

Navigation in MCMS was based on channel hierarchy. Office SharePoint Server 2007 provides rich, default navigational components, and supports synthetic navigation through the use of the Microsoft Visual Studio 2005 navigation provider model. (This is also true of MCMS 2002 SP2 and ASP.NET 2.0.) You can replace the navigational provider with one of your own, which could provide a different navigational structure based on user type, for example, to give custom navigation experiences based on the user's profile.

Note

SharePoint Server does not support using GUIDs to reference items.

For more information about the navigation provider model, see the Microsoft ASP.NET Developer Center.

For more information about custom navigation controls, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

Authentication

MCMS 2002 supports anonymous (CMS Guest) authentication, Forms authentication, and Windows Live ID (formerly Microsoft Passport Network), but everything requires a Windows token. You can also map users to a small set of Windows accounts.

Office SharePoint Server 2007 supports Forms-based authentication against a variety of membership systems for secured sites. Default support is provided for Active Directory, Active Directory in Application Mode (ADAM), and Lightweight Directory Access Protocol (LDAP).

Integration with additional membership systems is possible by using the ASP.NET membership provider model, which SharePoint Server uses as its extension mechanism. SharePoint Server authentication services support Web-based Single Sign-On to ensure that deployments that use clustered front-end Web servers to achieve higher performance and reliability do not require users to authenticate multiple times.

For more information about authentication models, see the Microsoft Office SharePoint Server 2007 SDK.

For information about custom authentication, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

Authoring

In Office SharePoint Server 2007, authors now have a richer edit control than the default control in MCMS 2002. Field controls have also been improved; for more information, see Placeholder Controls vs. Field Controls.

SharePoint Server provides better versioning functionality. You can check in and check out your pages and have more than one "approved version" of a page.

The Web Author in SharePoint Server is a panel of UI elements that provides page information and ways to interact with the page. This panel is positioned at the top of the page, and to be less intrusive, its size has been reduced. Most of its UI elements are drop-down menus, links, and buttons. This console is composed of three main sections: Page status bar, Page editing menu, and Quick access buttons.

Table 5. Authoring Console main sections

UI Elements Descriptions

Page status bar

Appears in the upper row of the panel. Provides information about the current version of the page, its current status, and the publication start date.

Page editing menu

Appears in the lower row of the panel as a series of drop-down menus. Provides access to Page, Workflow, and Tools menus. Enables a user to interact with the page, such as publish the version or approve a pending version.

Quick access buttons

Appears in the lower-right portion of the panel, just after the Page Editing menu. Based on page status and context, it makes available the most popular actions.

In MCMS you can customize your Web Author console. The default MCMS Web Author console occupied a big portion of the page and its visual layout needed to be customized to provide a better experience for authoring. To do that you needed to customize the default console, buy an improved console from a third party, or create one of your own to replace it.

Visual customizations in Office SharePoint Server are just a matter of editing the markup in the navigation master page, and applying custom CSS styles to console elements. Console extensions can be accomplished via a simple XML file, and many classes of extensions and modifications require little or no custom code. The links or menu items on the page menu and the quick access buttons are driven by a data source that is captured in a XML file. As in MCMS, you can create authoring actions and add them to your console.

For more information about customizing your console in SharePoint Server, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

Reusable Content

In many publishing Web sites, certain content fragments are repeated in multiple Web pages, such as copyright statements or a table of detailed product specifications.

In MCMS you had to create custom code to provide this functionality; for example you could create a channel for commonly used content, create postings there with that content, and access that content by using PAPI.

Office SharePoint Server 2007 supports a feature named "Reusable Content" that enables a user to maintain these reusable content fragments in a centralized list for each site collection. Page authors can then reuse these content fragments in different Web pages.

A page author may add this reusable content to a page within the HTML editor. After the reusable content is inserted into the editor, the content of the fragment cannot be changed by the page author in the editor; the reusable contents are simply references to the centralized versions, but they are rendered in full during page viewing and editing time as if they are part of the page content. If subsequent changes are made to the source of the reusable content in the centralized list, the pages containing the references will be rendered with the latest updated version. This capability greatly simplifies the on-going maintenance of reusable content, and enhances the accuracy and consistency of information.

Because the reusable content fragments are stored in a SharePoint list, they inherit the capabilities of SharePoint list items. For example, one can group them based on a category, and view them using different customized views. In addition, one may define workflow steps on this reusable content before they are approved for viewing.

Multilingual Sites

Many companies operate globally, and even in their home market, often must appeal to a diverse customer base that speaks multiple languages. This diversity often requires that presence sites be tailored for different cultures, markets, and geographic regions.

Maintaining a number of similar versions or "variations" of a presence site is difficult and time consuming because it can be difficult to coordinate the creation and updating of content between all of the different variations.

In MCMS 2002, most of these sites followed one of two design patterns:

  • Single channel hierarchy. Each posting contained all of the content for each language in different sets of placeholders for each language. Connected templates and postings may have also been used.

  • Parallel channel hierarchies for each language. Each posting in the URL would display the same page in a different language. Strings used in the UI may also have been stored in satellite assemblies for each language.

To simplify this process, Office SharePoint Server 2007 provides a site "variation" management system. Site managers can define a series of site variations and mark one as the primary variation. Changes to the source variation can be automatically or manually propagated to target variations. This ensures that changes that are made in the sources are properly reconciled in all other variations. This system is integrated with workflow and content import/export to enable integration with third-party translation services. Updates to target variations can use workflow to automatically send updates for translation. When translation is completed, updates can be imported and set for final approval through the workflow system.

API Changes

The MCMS 2002 APIs have been completely rewritten for Office SharePoint Server 2007 to work together with Windows SharePoint Services 3.0.

The following new namespaces replace the MCMS 2002 APIs:

  • Microsoft.SharePoint.Publishing

  • Microsoft.SharePoint.Publishing.Administration

  • Microsoft.SharePoint.Publishing.Administration.WebServices

  • Microsoft.SharePoint.Publishing.Caching

  • Microsoft.SharePoint.Publishing.Design.WebControls

  • Microsoft.SharePoint.Publishing.Fields

  • Microsoft.SharePoint.Publishing.Infrastructure

  • Microsoft.SharePoint.Publishing.Navigation

The COM-based APIs have been entirely replaced by managed code. This is a major change for the site deployment API. Office SharePoint Server 2007 provides equivalent functionality and fills in some of the functionality not provided from the API as follows:

  • An authentication API is provided to create users and change and reset passwords.

  • Different authentication providers can be used.

  • Resource galleries can be created.

  • Revisions can be restored.

Conclusion

By examining this side-by-side comparison of MCMS 2002 and Office SharePoint Server 2007, you should be ready to more easily migrate your MCMS 2002 applications to SharePoint Server, or to start developing new applications on SharePoint Server.

For more information about customizing SharePoint Server code, see Mapping MCMS 2002 APIs to SharePoint Server 2007.

Additional Resources