Friday, November 12, 2010

SharePoint 2010 Web Content Management (WCM)

SharePoint Server 2010 ships with a rich set of functionality for developing Web Content Management solutions. SharePoint 2010 is being bundled with a lot of new features and capabilities. In a typical Web Content Management scenario, there will be Authoring-Production or Authoring-Staging-Production environment setup. Where in all the content that is visible on the production site is actually added in authoring environment. The content then goes through approval process. Once approved, it will be pushed to the Staging or Production environment (Site). As part of a sample application, I am going to demonstrate one cycle of content management. This can be regarded as a WCM Reference Implementation. This demonstration will include 4 categories.

1. Branding – Master Page & Custom Style Sheet
2. Metadata – Site Columns & Content Types
3. Page Layouts
4. Setting up deployment Paths & Jobs

1. Branding – Master Page & Custom Style Sheet

Branding is an important part of any site and more often than not client requests for a custom branding. Client will have their own images, color coding & style of displaying information. For this we will have to create custom master page and apply custom style sheet for the same.

WCM – Branding – Custom master page, images & stylesheets

For this example, I had downloaded starter masterpages from Randy Drisgill (

Step 1. Create an empty SharePoint solution in VS 2010. Add a module to the project. By default Elements.xml and a text file is added to the module. Rename the text file to Publishing.master.

Solution structure showing Master Page Module with its resources
Step 2. Open the Publishing.master page and copy paste html markup from starter master page (Randy Drisgill).

Step 3. Now we have to add custom style sheets and images to the solution. For this add folders to the module and add custom style sheets and images in respective folders.

Step 4. We have to put all these resources (master page, styles & images) at appropriate location on the server. Modify the Elements.xml file accordingly.

Elements.xml file – this will deploy files at different locations
Step 5. Now do appropriate modifications to the master page. Add organization logo, add custom styles etc… See below example for adding custom styles.

In my scenario I wanted to get rid of SharePoint:AspMenu and left navigation. For this I promptly commented this section. But then I figured out the ribbon was not loading. When I click on ‘Page’ or ‘Publish’ empty ribbon would show but it would not load any controls.These controls (SharePoint:AspMenu & asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server") must be placed under asp:Panel visible="false" runat="server" This will make these controls not visible on the page but are still available for SharePoint.

Step 6. Now we have to apply new master page to the site. For this create an event receiver for the feature and add below code.

Feature receiver for applying custom master page to the site

Step 7. Once all the modifications are done, deploy the master page on the server.

I will be posting other WCM entities very soon... So keep checking...

-Vighnesh Bendre

No comments: