Itchy Publishing Trigger Finger? Resetting a meeting workspace back to its original master page using powershell (after resetting all subsites to inherit the master page)

While we have blogged this in various forms, from setting one site to multiple sites and/or collections, I just wanted to take 2 minutes to make the following commentary.

The Problem

If you push a master page change through all sub sites (webs) in a collection and you have meeting or document workspaces, those will get overwritten and you’ll have various bugs and problems with those workspaces because they use a different master page (MWSDefaultv4.master for meeting workspaces, for example). This is done by doing this (with the publishing features turned on…)

SNAGHTML62392dc

Figure 1 : think about the ramifications of doing this, meeting workspaces and search centers, among other things just don’t like it…

The Reason

Meeting and document workspaces use different master pages and if you haven’t created new branded master pages to accommodate them, you’ll discover the issues (mostly javascripty little things that will crop up later such as deleting appointment pages, etc.) eventually.

clip_image001

Figure 2 : Meeting workspaces have their own master pages damnit!  So watch that publishing trigger finger!

The Fix

If you don’t have a plan for branding meeting workspaces, etc. and you have already flipped the switch and forced master pages down the throats of your workspaces, you’ll need to either:

  1. Go into Designer in those sites and change the master page back
  2. Live with the little problems (ya, right, users LOVE that)
  3. Reset the pages with PowerShell, an example is provided below

 

$web = Get-SPWeb "http://portal.somewhere.com/sites/some_site"

$web.MasterURL = "/sites/some_site/_catalogs/masterpage/MWSDefaultv4.master "

$web.CustomMasterURL = "/sites/some_site/_catalogs/masterpage/MWSDefaultv4.master"

$web.Update()

$web.Dispose()