Skip to main content

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 (http://startermasterpages.codeplex.com/).




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.



Error:
ErrorSolution
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

Comments

Popular posts from this blog

Create list view - Conditional Formatting in SharePoint Designer 2010

In this example, we are going to format a column based on certain condition. Here I already have a list called Projects. I also have workflow associated with it. So whenever I create a new item in the list, workflow status column shows ‘In Progress’. Subsequently when the workflow in completed, the workflow status column shows ‘Completed’. For demonstration purpose, I will set the background color of workflow status column to yellow when the status is ‘In Progress’ and to green when the status is ‘Completed’. In SharePoint Designer open the site on which you are working. Click on ‘Lists and Libraries’ link. Choose the ‘Projects’ list. In SharePoint Designer Navigation, choose ‘Lists and Libraries’. In the list settings page, click on ‘New’ in ‘Views’ section. Provide appropriate name for the view and click OK. After choosing list, click on ‘New’ in the Views section. Give appropriate name to the list. Now click on any column, then in the ribbon, click on List View Tools-&g

SharePoint 2013 (SP 15) - Creating Custom Lists

As I am exploring SharePoint 2013, I found out that there are lot of things that are new and there are lot of thing that are old but presented in a different manner as compared to SharePoint 2010. For example, Site Actions was on the top left corner in SP 2010. But in SP 15 (SharePoint 2013) we dont have ‘Site Actions’ button. But instead we have a settings icon which is placed at top right corner. When you click on the settings icon select Add an App. This will basically allow you to add custom lists, documents libraries etc. Add an App is basically the same as More Options in SharePoint 2010. From now on custom lists & libraries will be called apps. Just like in Apple store or Android store you can develop apps for SharePoint and sell it. You can find more information here: http://officepreview.microsoft.com/en-us/store/apps-for-sharepoint-FX102804987.aspx When you click on Add an App you will be navigated to a different scree which will display different opti

Working with large xml files in c# .net

Working with large (huge) xml files is always a pain in the … The reason? These files can’t be loaded in to memory. On my desktop, where I have 2 gigs memory, I can’t open the file in even notepad. I was presented with a challenge recently to manipulate one such large xml file. The xml file was of 550+ MB. I know many would say I have seen bigger xml files than this. But the heart of the matter is if I can’t open 550+ MB file in notepad or in xmldocument in c#, then I can’t open any file bigger than this. And hence the logic to play with these files would remain same. The scenario: We have an xml file from which we want to remove a single node without removing its children. In the below sample xml fragment, the node has to be removed. The children nodes, must then be attached to ( node’s parent) node. One Two 100.22 GoodDay 3 4 Five 200.09 Cra