SharePoint 2010 introduces a new UI that is a clear and welcome departure from the outdated UI supplied by SharePoint Server 2007. The new SharePoint 2010 UI leaves behind the unnecessary postbacks, the confusing page transitions, and the table-based page layouts of SharePoint 2007. The result is a much improved user experience with a server-side Ribbon and a wealth of new client-side behavior that's able to execute many users' commands behind the scenes using asynchronous callbacks to the Web server.

And while everyone agrees that the new UI of SharePoint 2010 is a great step forward, one must also acknowledge that it's very different from the user experience provided by SharePoint 2007. The links and command buttons for standard user commands live in new places and can be tucked away in unnoticeable Ribbon tabs. The user experience for executing many common tasks is now dialog-driven and takes a little getting used to. The bottom line is that many end users will require some degree of training on the new UI to ensure a quick and successful migration from SharePoint 2007 to SharePoint 2010. 

Visual Upgrade

However, SharePoint Farm administrators don't have to line up this training before scheduling the migration of their farms and their content to SharePoint 2010. That's because they can migrate the content for their sites to SharePoint 2010 and continue to use the SharePoint 2007 interface, using a new featured called Visual Upgrade.

Visual Upgrade effectively decouples the content migration from the UI migration. The farm administrator can upgrade all content to SharePoint 2010 without having to worry about end-user training. Moreover, users will not have the new SharePoint 2010 UI forced upon them prematurely no matter which weekend the farm administrator chooses to perform the upgrade.

How Visual Upgrade Works

Whenever SharePoint Foundation provisions a new site, it creates a special hidden document library known as the Master Page Gallery. In addition to creating the Master Page Gallery in each new site, SharePoint Foundation also provisions the following three master page instances:

  • v4.master
  • minimal.master
  • default.master

The master page named v4.master is the primary master page used in SharePoint 2010 sites. For example, v4.master is what gives Team sites in SharePoint 2010 a common page layout across site pages and application pages. This common layout is what some developers refer to as the "chrome" of the page because it includes familiar elements such as the Site Actions menu, the breadcrumb trail, the ribbon, the Welcome menu, the Site Icon, the TopNav bar and the QuickLaunch bar.

The master page named minimal.master provides a page layout without any of the chrome that is included in v4.master. Minimal.master is used by several of the standard site page templates and application pages that are distributed along with SharePoint Foundation and SharePoint Server 2010.

The third master page that is provisioned in the Master Page Gallery for every new SharePoint 2010 site is default.master.  This master page contains the standard HTML layout and chrome of a SharePoint 2007 site and has been specifically included to support visual upgrade. Now let's discuss the details of how SharePoint Foundation can switch between these master pages.

Each SharePoint 2010 site also includes new property named UIVersion. After SharePoint 2007 content is migrated to SharePoint 2010, all sites have a UIVersion property value of 3, which tells SharePoint Foundation to link the site's pages to default.master. When the UIVersion property is updated to a value of 4, SharePoint Foundation redirects all pages to link to v4.master. This is the basic mechanism Microsoft uses to implement feature upgrade.

The choice of when to migrate to the new SharePoint UI can be made on a site-by-site basis using standard commands in the browser. There is also a command available in the browser for a site collection owner to migrate all the sites at once. After the farm administrator has upgraded the content to SharePoint 2010 and started everyone off with the SharePoint 2007 UI, individual teams and groups can decide when the time is right for them to migrate.

If you are a farm administrator, you can also control the visual upgrade process using a Windows PowerShell script. For example, let say you want to transition a site that's currently using the SharePoint 2007 UI. After you retrieve the site with the Get-SPWeb cmdlet, you can assign a value of 4 to the UIVersion property, then call Update:

Add-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction "SilentlyContinue"
$site = Get-SPWeb "
http://intranet.wingtip.com"
$site.UIVersion = 4
$site.Update()

As you can see, the visual upgrade feature lets companies  upgrade from SharePoint 2007 to SharePoint 2010 without forcing their users to immediately switch over to the new SharePoint 2010 UI. This effectively decouples content and farm migration from UI migration.