Wednesday, December 12, 2007

MOSS SP1 Fix List

Avoiding the temptation to be the millionth blogger to say that SP1 has been released I thought id take a different tack and link to the list of issues that SP1 resolves. Also the WSS 3.0 SP1 Fix List can be found here

Hands up for volunteers to go through the lists and check them off ;-)

Tuesday, December 04, 2007

Removing 'This Site' from the Search Control

I was recently asked to remove the 'This Site' scope from the Search scopes drop down in the header of my custom master pages, and as I wasn’t quite sure how or why it got there it sounded like it would provide a nice challenge for the afternoon.



Firstly the reason why they are there; this turned out to be due to the fact we were simply using the Search delegate control normally included on OOTB master pages/page layouts, which looks roughly along the lines of...

< asp:contentplaceholder id="PlaceHolderSearchArea" runat="server">
< sharepoint:delegatecontrol runat="server" controlid="SmallSearchInputBox">
< /sharepoint:delegatecontrol>
< /asp:contentplaceholder>

By default this control includes contextual scopes ('This Site'/'This List') as well as the custom scopes that you have defined for your site collection.

It looked a little light weight and puny so i swapped it out with the much bigger tougher looking;


< spswc:searchboxex id="SmallSearchBox" 
runat="server"
registerstyles="false"
textboxwidth="160"
usesitedefaults="true"
dropdownmode="ShowDD"
suppresswebpartchrome="true">
< /spswc:searchboxex>

The property that we need to look at here is the DropDownMode property, by setting its value to 'ShowDD_NoContextual' we successfully get rid of the 'This Site' contextual scopes.


Job done...



Or so I thought...


What I didn’t count on was my List view pages (AllItems.aspx) doing whatever the hell it pleases and ignoring the change I’d made to my master page. When I went to view the list I was given not only a ‘This Site’ contextual scope but for extra value a ‘This List’ contextual scope.




Some digging around lead me to discover that for some rather strange reason MS have made the ViewPage.aspx template (located at %12hive%\Template\Pages) explicitly overwrite the Search placeholder with the simple search control detailed at the beginning of this post. I’m baffled as to why given that the Form.aspx template located in the same place doesn’t do the overwrite!


As the majority of OOTB lists use this ViewPage.aspx to create its default AllItems.aspx it puts one in quite the little predicament.

I'd love to hear suggestions on how to get around this without simply modifying the OOTB ViewPage (naughty, naughty) or writing another JS hack. ;-)

Saturday, December 01, 2007

Removing 'Alert Me'

I hunted around for ages trying to find out how to remove this little sucker, it turned out to be a permission level within the site collection.

Site Settings > Modify All Site Settings > Advanced Permissions > Settings > Permissions Levels >

Select the ‘Read’ permission level then unselect the ‘Create Alerts’ option.

This will stop all users with the 'Read' permission (usually all authenticated in a typical intranet deployment) from being able to create alerts, although users with the contribute, full control etc permissions will still be able.

Alternatively you can disable the create alerts feature altogether from central admin by following these steps…

Central Admin > Application Management > User Permissions for Web Application

Unselect the ‘Create Alerts’ option.