Heh. Of course as soon as I decide that I ought to start writing about my efforts into branding MOSS 2007, a big name designer comes forth and reveals he’s been doing the same thing. Nice job Cameron. Go ahead, steal the spotlight.
Anyways, I figure today I’ll write about my base files I deal with when I’m rebranding Sharepoint. This will keep me consistent at least in bouncing all over the map. One of these days I’ll organize these posts into something worthwhile.
Okay, the main areas I deal with are as follows:
- Master Pages and Layouts. /_catalogs/masterpage/ in Sharepoint Designer. These two items form the foundation and _code structure_ of the sites. Very, very important stuff in here. note: You have to be a member of the “Designer” group to edit any of these files. “Administrators” don’t get this right, it’s a separate right. This is most excellent because now, by default, you have to manually assign people who are going to muck with your design. This prevents any administrator from going in and doing anything.
- CSS. I create a root folder I call _assets and stick all my extra supporting files in there. I turn on versioning, turn off search indexing, and restrict write permissions. Then I go to town. I stick my custom CSS, JS, layout images, etc all in there. This is normal web-design stuff. You can stick yours wherever you’d like. Yes, you can even stick it there.
- ItemStyle.xsl, Header.xsl, ContentQueryMain.xsl. These files are SO IMPORTANT. /Style Library/XSL Style Sheets/ I use them all the time. This XSL controls how most of your webparts will display.
Those really are the 3 main sections I spend a great deal of time in when I’m reworking Sharepoint. You can do an awful lot with just those three sections.
I’m going to talk a little bit more about the ItemStyle.xsl. I use the Content Query webpart all day long. The Contennt Query webpart is very nice, very powerful and a welcome addition to Sharepoint. Basically what it does is allow you to query your content and display it back based upon some XSL. You get your content you define in an XML stream. Not to shabby. I do wish it did paging (hint hint to Microsoft.), but really, other than that, I’m pretty happy with it.
There is a dropdown in the part that references these files. The drop downs match up to the templates. Want a different display? Change this. Now if you want extra information to display in your content query (say Site column information or something) that’s a different beast, and probably a different post someday.

The Group style: dropdown references your Header.xsl. Your Item style: drop down references your ItemStyle.xsl. Pretty straightforward. If you know XSL, you can start modifying these pretty easily. Heather Solomon has written a decent guide to customizing the Content Query and the ItemStyle.xsl. You can go check it out. I figure I’ll write up what I’ve learnt another day.
tip: if you want to add a “read more” or something along those lines to your content query, you want to modify ContentQueryMain.xsl and put in a case statement.