Monday, December 11, 2006

Inflexibility of WSS 3.0 Customization

Recently I came across the page customization in WSS 3.0 (Creating new custom page that using application.master under _layouts folder), and I found out that the master page is likely not edited for the company branding purpose because the master page is used and shared by all sites in the WSS v3. Any changes upon the application.master would eventually applied to the rest of the sites too.

This would be a PAIN for developers where easier customization feature is not ready for them. The very easy and straightforward solutions to the matter that I can think of are:

1. Clone the application.master and rename it to your own name. Change and apply the custom master page separately.

2. Develop a custom web control that check current SPSite or SPWeb to change master page accordingly.

Perhaps, there are more elegant solutions that can resolve this problem.

4 comments:

David said...

2nd choice may not be feasible. The master page can only be changed before/at PreInit stage of the page life cycle. Changing the Master Page in Control maybe too late.

You can consider having custom HTTPModule. To hook a event handler for PreInit. But that doesn't work well for pages that are stored in page library, another HTTPModule would have taken over the precedence and clear all the registered event handler. Perhaps you can look along this path and find a way to prevent that.

Alvin Chooi said...

Cool, I might get the detailed information about that from you one day :)

Unknown said...

Wow amazing i saw the article with execution models you had posted. It was such informative. Really its a wonderful article. Thank you for sharing and please keep update like this type of article because i want to learn more relevant to this topic.


Painless Dental Treatment In Chennai

Best Dental Clinic In Adyar

Unknown said...

thanks for giving that type of information. ielts coaching in gurgaon