PacktLib: Building Websites with Microsoft Content Management Server

Building Websites with Microsoft Content Management Server


About the Authors


Overview of Microsoft Content Management Server

Why Content Management?

The Solution—Content Management Servers

The Components of MCMS

MCMS is a Content Server

MCMS Is a Content Repository

MCMS Integrates with Visual Studio .NET

MCMS Is a Web Authoring Tool

MCMS is a Website Manager

MCMS Objects


Installing Microsoft Content Management Server 2002 for the Developer

Pre-Installation Checklist for the Developer

Installing Microsoft Content Management Server 2002 with SP1a

Installing from the Released To Manufacturing version of MCMS

What has been Installed on My Computer?

Frequently Asked Questions

The Database Configuration Application

The DCA Links MCMS Server to the Database

The DCA Toggles between Databases

Running the DCA for the First Time

Connecting to an Existing MCMS Database

DCA—Behind the Scenes


The Server Configuration Application

Starting the SCA

Launching SCA from a Remote Machine

About the MCMS Host, Version, and Database

General Settings

Cache Settings

Web Settings

Access Settings

License Settings


Setting Up a Website from Scratch

Laying the Foundations

Designing and Building the Channel Structure

Designing and Building the Template and Resource Gallery Structure


Creating Templates and Postings

Something About Templates

Before We Begin

Creating the Plant Template File

Editing the Template File

Creating a Template Gallery Item

Creating the First Posting

The Difference between a Template File and a Regular ASP.NET Web Form


Working with Placeholders

Using Placeholders

Before We Begin

Drafting the Prototype




The Completed Page

Linking a Stylesheet to the Template File


Debugging Template Files

Before We Begin

Enable Debugging on the TropicalGreen Project

Debugging the Template File: The Wrong Way

Debugging the Template File: The Correct Way

Debugging by Starting from a URL

Solving the Problem

Removing Breakpoints


Default Postings and Channel Rendering Scripts

Default Postings

Channel Rendering Scripts

Navigation URL

Wrapping up the Summary Page

Tips and Tricks


Understanding the MCMS Publishing Workflow

The Eight User Roles in MCMS

Rights Groups Organize Users

Rights Groups are Assigned to Containers

The Complete Publishing Workflow when a Posting is Created

Before We Begin

Creating Rights Groups

Assigning Users to Rights Groups

Assigning Rights Groups to Containers

An Authors-Only Workflow

An Author-Editor Workflow

An Author-Editor-Moderator Workflow

Deleting Postings

One Last Thing


Authoring with Microsoft Content Management Server

How Users Edit Postings

The Default Web Author Console

Editing the Hibiscus Posting

Publishing the Changed Posting

Creating a New Plant Posting

Managing Workflow


Managing Resources


The Publishing Application Programming Interface

Setting Up the Work Area

The Namespaces

Accessing Objects

Using the Searches Class to Reference Any Object

Accessing Placeholder Content


Building Navigation Controls

Common Navigation Controls

Menus with JavaScript—Creating the Right Menu Web User Control

A BreadCrumb Control

Generating the Entire Site Map—A TreeView Control


Customizing Placeholder Controls

Before We Begin

Deriving from the BasePlaceholderControl Class

Deriving from the MCMS Placeholder Controls

Using PresentationTemplates

Creating Custom Placeholder Controls for the XmlPlaceholder

Building Custom Placeholder Definitions and Placeholders

Why Build Custom Placeholder Definitions?

Before We Begin

The HtmlStrippingPlaceholderDefinition / HtmlStrippingPlaceholder Pair

Making the Placeholder Definition Available to Template Designers

Adding the HtmlStrippingPlaceholderDefinition to the Template

The HtmlStrippingPlaceholderControl Class

Trying it Out


Extending the Workflow

Before We Begin

Registering Event Handlers

Monitoring Workflow Events

E-mail Notification

Canceling an Operation

Generic Event Handlers


Publishing with Authoring Connector

Before We Begin

Installing Authoring Connector


Building the Column Template

The OfficeHtmlPlaceholder and OfficeAttachmentPlaceholder Definitions

Publishing from Microsoft Word

Updating the Page

Replacing Any Page

Submitting Selected Text

Maintaining a Consistent Look and Feel

Changing the Server Name

Creating Publishing Tasks


Implementing Forms Authentication

About Forms Authentication

Configuring IIS to Allow Anonymous Access

Configure Settings in the Web.config File

Creating the Login Page

Logging on to the Site

The CmsFormsAuthentication Class

When Users Do Not Have Rights to View the Requested Page

When the Cookie is Deleted or No Longer Valid

Welcoming Guests to the Site

Visiting the Site as a Guest

Creating a Login/Logout Button for Authors

Creating a Login Channel for Authors


Customizing the Web Author Console

Before We Begin

The Different Faces of the Web Author Console

The Console in the Seven Modes of the Web Author Context

Building Blocks of the Web Author Console

Changing the Look and Feel of the Default Console

Adding Custom Action Controls to the Console

Modifying Existing Actions


Creating Connected Templates and Pages

About Connected Templates and Postings

Before We Begin

Creating Connected Templates

Creating Connected Postings

Going to a Connected Page

Connected Postings Share Workflow Processes

Alternatives to Connected Postings


Aggregating Content

Create the Channel Rendering Script

Alternative Functionality


Enhancing Performance with Caching

How MCMS Works with Caching

What MCMS Caches by Default

Improving Performance with ASP.NET Output Caching

Proving that Caching Enhances Site Performance


Site Deployment

Using the Site Deployment Manager

Opening the Site Deployment Export Dialog

Importing Packages

Automating Deployment Using the Site Deployment API


Hosting Multiple Websites and Adding SSL Security

Hosting Multiple MCMS Websites

Adding SSL Security


Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002

Upgrading from MCMS 2001 to MCMS 2002