Monday, March 03, 2008

WSS 3.0 does not do Master Page Template Inheritance!

I just finished taking a class at learning tree: "Microsoft Office SharePoint Designer 2007: Hands-On". A great class if you are new to the whole Sharepoint/WSS 3.0 thing and have experience as web dev using other technologies like Coldfusion or JSP.

Anyhow, one of the things the instructor said a lot was how MOSS is just "Enterprise features added onto WSS 3.0". That statement misleads you to think that WSS 3.0 core functionality should work pretty much the same in MOSS. So, on the 3rd day of class, the instructor was demoing how Master Pages are COPIED from a parent site into a newly created subsite in WSS. I just about had a heart attack trying to imagine how to manage all those Master Page templates ... one in every single site in your collection!

I was sure I had used inheritance somehow in my MOSS site collection at work. So I went back the next day and confirm I wasn't crazy, that I did use inheritance and it actually worked. Then I brought up the WSS site from class and my MOSS site from work and did some checking ... yep, there is a HUGE core difference in how the Master Page Templates function in MOSS as described below:

Master Page Template Inheritance
The master page, the global design and functionality to be reused on every site on the page, changes functionality from WSS 3.0 to MOSS.

WSS 3.0: Gives you a "Default Template" style Master Page methodology. When you create a new Site, the Master Page Template is either copied from its parent (if the two sites use the same site template) or the template is copied from the 12 hive directory (the built in sharepoint default template store). Each site has its own Master Page Template. To make a global site change to the Master Page, you would need to update the Master Pages in every single site in your site collection.

MOSS: Gives you "Template Inheritance" where you can specify a Master Page to globally affect all your pages, regardless of the subsite template being used. It appears you can override this for individual sites and later do a global Master Page template "reset" from the Site Settings administrative area. This basically means you can change one Master Template (specified in the site collection settings) and have it affect all sites in your collection instantly.

if youre like me, you'll want to use MOSS for any application with more than a handful of sites in the colletion. Trying to manage unique Master Pages for a 100+ site collection would just drive me to drinking.

Configuring MOSS Master Page Template Inheritance
In MOSS, you can see what template is being used as your Inherited Master Page by going into "Modify All Site Settings" in the "Site Actions" menu from the Site Collection default page. you'll see something similar to the following:

Select "Master Page" from the "Look and Feel" menu to see the following configuration page.

The "Site Master Page" is typically the one you want to be public facing. The "System Master Page" will control all your MOSS configuration templates. I typically customize the Site Master Page template and leave the System Master Page as the default so I dont accidentally break the administrative site.

None of these Master Page options are available to a WSS 3.0 site. These template inheritance options are only available in MOSS.

No comments: