Upgrading SharePoint 2007 (MOSS 2007) Visually with Customizations
SharePoint 2010 visual upgrade
In the previous post, it was the last step migration a MOSS 2007 web application to a SharePoint 2010. It was MOSS 2007 upgrade - Shared-Services Provider SSP migration and my sites.
By going through all the previous MOSS 2007 upgrade posts, following and finishing the previous post you will have your MOSS 2007 web application and my sites web application upgraded to SharePoint 2010.
However, the migrated SharePoint 2010 web application will still look like a MOSS 2007 in its user experience and user interface. That's why you will need to do a visual upgrade.
The visual upgrade step is the final step in upgrading a MOSS 2007 web application to SharePoint 2010. When you upgrade a web application to SharePoint 2010 it's user experience and interface will still look like a MOSS 2007 web application.
For example, the web application will not have the SharePoint 2010 ribbon and the site settings layout and interface will still look like a MOSS 2007 web application site settings.
Visual upgrade, the simple way
You can visually upgrade your migrated web application by following these steps:
- Open your migrated web application on your browser.
- Click Site Actions on the right.
- Click Visual Upgrade.
This will upgrade the current master page, the site collection is using, to include the SharePoint 2010 ribbon and upgrade the site settings page user experience and interface.
Advantages of the quick visual upgrade
One of the greatest advantages of the straight-forward visual upgrade is that it's not time-consuming. You will just click the link and it will do everything on its own. Also another advantage is that it's much easier than visually upgrading the site manually.
Disadvantages of the quick visual upgrade
In some cases, specially when the root site collection is using a custom master page, sometimes there will be custom content place holders that were placed allover the custom master page to allow the inheriting pages to put some content in these places.
Also, there will be another probability that the custom master page is referencing some custom assemblies and user controls. If you chose to upgrade this master page using the straight forward "Visual Upgrade" link, all of these customizations will be lost.
Leading to an epic error across all the pages inheriting this master page that they can not find the place holders they used to look for.
That's why sometimes the manual visual upgrade choice puts us on the safe side.
Manual visual upgrade
In the manual visual upgrade, you will upgrade the master page and site UI version on your own. MOSS 2007 sites were having their UI version as 3, you will need to higher upgrade this UI version to 4 for SharePoint 2010. We will come to that point later in this topic.
The first step in the manual upgrade is to determine which master page the root site collection is using, and whether any sub site is using a different master page or all the sub sites are inheriting the same master page from the parent site collection.
This will determine if you will upgrade only one master page or a set of master pages across the web application.
Let's start with the root site collection, to check which master page your root site collection is using, follow these steps:
- Open your web application on your browser.
- Click Site Actions.
- Under Look and Feel, click Master Page.
- Check the selected master page's name from the drop down list of master pages.
This will be your target master page. This post will illustrate how to visually upgrade a master page manually then you can apply the same steps to the rest of master pages, if you found any sites inheriting different master pages.
Master page upgrade
You will need to have the SharePoint Designer SPD 2010 installed to complete this post (or you could be using any other HTML editor). Follow these steps to upgrade your master page.
- Open SharePoint Designer SPD 2010.
- Click Open Site and put your site's URL for the SPD to open.
- On the left menu, click Master Pages.
- Look for your target master page to upgrade and click it.
- In the Customizations box, click Edit file.
- If the master page editor opened in a design mode, then change it to code mode at the bottom.
- Search for "PublishingConsole" control and remove it.
- Search for "PublishingSiteAction" control and remove it.
- Search for the following table td
<td class="authoringRegion">and remove all its content. Do not remove it, only remove its content.
- At the top of your master page, compare the current registered assemblies or imported namespaces with the following snippet and change the versions from 22.214.171.124 to 126.96.36.199, also add any missing registered assemblies in your master page.
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=188.8.131.52, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=184.108.40.206, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=220.127.116.11, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@Master language="C#"%> <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=18.104.22.168, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %> <%@ Register TagPrefix="wssuc" TagName="MUISelector" src="~/_controltemplates/MUISelector.ascx" %> <%@ Register TagPrefix="wssuc" TagName="DesignModeConsole" src="~/_controltemplates/DesignModeConsole.ascx" %>
- Download the attachment "SharePoint 2010 ribbon markup snippet" text file. Copy the markup code inside it. Go back to the td in step 9 and paste the markup inside it.
- Refresh your web application in the browser and check if you have any errors regarding a repeated content place holders. If you found any errors related to that, then all you need to do is to remove one of the repeated content place holders.
Congratulations, you are done upgrading your master page. Repeat the previous steps on any master page you have across your web applications that needs to be upgraded.
UI version upgrade
The final step in the visual upgrade is upgrading the UI version of all site collections and sub sites. The following PowerShell code upgrades a single site's UI version to 4.
$site = Get-SPWeb "siteUrl" $site.UIVersion = 4 $site.UIVersionConfigurationEnabled = 0 $site.Update()
Where siteUrl is the URL of the site that needs its UI version to be upgraded.
But you might have over 100 sub sites that need this UI version upgrade. It's impossible to execute this code for every site or sub site in your entire web application.
Alternatively, you can do this using a custom web part that can upgrade all sites' UI version from code. This web part can be built as a visual web part to be able to get a visual report of which sites or sub sites the code has upgraded their UI version.
There is an attached example of the visual web part that do this UI version upgrade written in C#. You will find both the ascx and associated CS file in the attachment. The code of this web part looks similar to the above PowerShell code except for looping over all the sites instead of a single site upgrade.
NOTE: Of course, you can find a way looping over all the sites and sub sites using PowerShell code but the visual web part solution is preferred for re-usability in other visual upgrade processes for other sites.
In this post you have visually upgrade a migrated MOSS 2007 web application to SharePoint 2010 following these steps:
- A straight forward visual upgrade for a site.
- Identified which master page(s) the sites are using.
- Manual visual upgrade to the identified master page.
- Upgrading UI version of a single and multiple sites using different approaches and solutions.
In the next post, some checks will be done to the upgraded sites for any errors, UI issues or bugs. Please go to MOSS 2007 upgrade - Post upgrade checks