When you migrate the WCM site from the MOSS 2007 to the SharePoint 2010 using DB Attach/InUpgrade Upgrade and Visual Upgrade Process, custom MOSS 2007 WCM Master Page (Aka. Custom Publishing Site Branding) never gets upgraded and stays as V3 master page. SharePoint 2010 requires V4 master page. Some of things like site actions menu, global site links (my links and my sites), and page editing toolbar are replaced by the SharePoint 2010 ribbon in the V4 master page.
This requires the creating a new SharePoint 2010 master page based on the MOSS 2007 custom master page. Here are the high-level steps needs to be taken when you port MOSS 2007 WCM Site to the SharePoint 2010 WCM Site.
- Create the new SharePoint 2010 WCM Custom Master Page using the SharePoint Designer 2010. Delete the default master page HTML and Copy the MOSS 2007 WCM Custom Master Page HTML to the new Master Page.
- Remove Page Editing Toolbar, Site Actions Menu, and Global Link register directives. This is replaced by the Ribbon Menu.
<%@ Register TagPrefix=”wssuc” TagName=”DesignModeConsole” src=”~/_controltemplates/DesignModeConsole.ascx” %>
<%@ Register Tagprefix=”PublishingConsole” TagName=”Console” src=”~/_controltemplates/PublishingConsole.ascx” %>
<%@ Register TagPrefix=”PublishingSiteAction” TagName=”SiteActionMenu” src=”~/_controltemplates/PublishingActionMenu.ascx” %>
- Search for “SiteActionMenu” and “Idwelcome”, Remove whole HTML Table Row rendering the welcome link and global links. This is not required since its available through the Ribbon interface.
- Search for the “DesignModeConsole” and “Console” and remove the HTML Table Row rendering the MOSS 2007 publishing page editing toolbar. Again, this is not required and available through the Ribbon interface.
- Add core.js reference required by the SharePoint 2010 ribbon UI.
<SharePoint:ScriptLink runat=”server” Defer=”True”></SharePoint:ScriptLink>
- Copy the Ribbon from the V4.master to the Custom Master Page. Open the V4.master and find the ribbon code in between <div id=s4-ribbonrow></div> and copy it underneath the <asp:ScriptManager in the new Master Page.
- Ribbon is the MUI enabled so, copythe MUISelector directive from the V4.master and add it to the custom master page
<%@ Register TagPrefix=”wssuc” TagName=”MUISelector” src=”~/_controltemplates/MUISelector.ascx” %>
- After adding Ribbon, there may be duplicate placeholders for the breadcrumb – PlaceHolderTitleBreadcrumb – One from the existing MOSS 2007 custom master page code and one in the ribbon. Delete one of the instances of the PlaceHolderTitleBreadCrumb from the MasterPage. If you current UI has a breadcrumb with custom menu then you can remove the breadcrumb from the ribbon.
- Test the SharePoint 2007 version of WCM master page by changing it from the UI -> Site Settings -> Master Page – ~SiteURL/_Layouts/ChangeSiteMasterPage.aspx
- During testing the UI, remove any unnecessary HTML elements or controls causing rendering issues from the SharePoint 2007 Custom Master Page.
On the side note, its great to see SharePoint adopting the DIV tags to layout the UI in the SharePoint 2010. MOSS 2oo7 (V3 Master pages) were using the TABLE based HTML UI while SharePoint 2010 (V4 Master pages) uses the DIV based HTML UI to layout the controls.
Hopefully this will be helpful and save some headaches when you migrate MOSS 2007 WCM site to the SharePoint 2010.