Have you ever tried to assign a custom master page to the system pages in SharePoint?

This is what I used to do up to now.

Create a feature that deploys the master pages.

add in the onet.xml to the configuration with id 0  the following two lines:

MasterUrl=~SiteCollection/_catalogs/masterpage/My.master
CustomMasterUrl=”~SiteCollection/_catalogs/masterpage/My.master”

Deploy the solution.

Check that the masterpages are there and that they are used by the site created using my template template … Only the default master page is set but the system master page isn’t set.

I then had a look at the following page

http://msdn.microsoft.com/en-us/library/bb687712.aspx

What did I do wrong?

I created my module within a feature.

instead of adding the following to my onet.xml.

[code lang=text]
<Module Name=”MyMasterPages” Url=”_catalogs/masterpage”>
<File Url=”My.master” Type=”GhostableInLibrary”>
</File>
</Module>
[/code]

So what went wrong then?

It’s all about the order that things get activated. I was creating the master page after the site was created using my site collection feature.

Adding the master page using a module in the onet.xml resolved this issue.

By Pieter Veenstra

Business Applications and Office Apps & Services Microsoft MVP working as a Microsoft Productivity Principal Consultant at HybrIT Services. You can contact me using contact@veenstra.me.uk.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: