Thursday, July 01, 2010

ajax/silverlight and application.master page dont mix in MOSS 2007!!

If you want to give sharepoint 2007 a strong look and feel (in other words - make it look nothing like sharepoint). It involves digging under the hood and changing files SharePoint did not expect you to change, on of these files is the application.master page.

If you want to mess around with the application.master page, I say mess around, because Microsoft does not recommend this, (and I am sure this is one of the resons why), make sure the application.master page contains no ajax controls or silverlight controls.

Ajax use the preRender event to load whatever it needs to load in order for ajax to work, some SharePoint admin pages overwrite this preRender event, meaning that the ajax bit of code never run, and there is no way to stop this from happening.

We know that the following pages give errors if ajax exist in the application.master page.

_layouts/people.aspx
_layouts/groups.aspx
_layouts/spnewdashboard.aspx

I am assuming they did this because MOSS 2007 was out BEFORE ajax was big, so it seemed like a good idea at that time to mess around with the preRender event. I am hoping tht they learnt from there mistake and will rectify this with a service pack, but I wont hold my breath, looks like there focus was to fix it in SharePoint 2010 instead.

So, as a rule when planning your look and feel in a MOSS 2007 site, make sure there is no ajax or silverlight controls in your master pages.

No comments: