Branding options with MOSS 2007, as in SharePoint Server 2010, included creating a custom master page or a custom theme (or both). For MOSS 2007, I had chosen to go with the custom theme option because I didn’t have any critical layout changes to make on the master page and because custom master pages did not affect _layout pages. These MOSS 2007 and WSS 3.0 branding issues were expertly outlined by Heather Solomon in her blog post: Master Pages vs. Themes: Which Do You Choose?:
A benefit to themes is that when you apply a theme, it also affects the pages in the _layouts directory, whereas master pages do not.
If a theme doesn’t seem to fit the bill for the design you need to implement in the SharePoint site, then look to master pages. With master pages you can implement your own navigation systems, custom code and design elements, move elements around on the page or hide SharePoint components you don’t want to use. It is a more complete solution for totaling changing the way SharePoint looks.
In some situations, both master pages and themes can be used. If you use a master page to style the site, using a custom theme can style the _layouts pages to coordinate with the look of the site. If you need to apply different color palettes for one design for sub sites, in MOSS use can use the alternate CSS setting, but that isn’t available for WSS sites. You can create a custom master page for the WSS sites to use, then create and apply different themes to change the color palette of sub sites.
One drawback to a theme is that you have to apply it at the site level for each site. Master pages on the other hand can be inherited (for MOSS sites) through sub sites. But this is buggy and more than likely you have to apply the custom master page on each site anyways. Another possible drawback to themes is they have to be installed on the server thus making them available to all sites in the farm. But there is a way around this if you don’t have access to your server or if you don’t want a theme available to all sites.
You can apply a theme (pick one that most closely resembles what you want to ultimately do with your site design) to your site, and then a copy of the theme CSS file will be created for the site. You can edit this file in SharePoint Designer (thus creating a copy of it in the content database and customizing the file) and create your customizations for your site.
So, to run down some key points:
- Can totally change the look of a site.
- Can hide SharePoint components that you don’t want to use.
- Will allow you to alter the layout of the page, in addition to changing the colors and images used in the site.
- Will not affect _layouts pages. You will need to use a workaround.
- Can re-skin the layout of a site to use different images and colors.
- Can only hide SharePoint components that can be controlled through hiding it in the CSS (display: none set on a class/ID).
- Affects _layouts pages.
- Can be used as an alternate CSS file application method, similar to alternate CSS setting in MOSS sites.
- Are installed on the web server unless you customize the file.
In Sharepoint Server 2010, the custom master page option is much more attractive than the custom theme option because it is much easier to apply the custom master pages to your _layout pages (in the browser UI if publishing is enabled). In fact, creating a custom theme and uploading it to the SharePoint 2010 server is not an option even covered by Randy Drisgill and co-authors in the book Professional SharePoint 2010 Branding and User Interface Design, the book that has become my de facto branding bible for SharePoint 2010 (in conjunction with a SharePoint Designer 2010 training class from MindSharp that I also highly recommend).
More Posts in the series:
1. SP 2010 Branding Options: Master Pages vs. Themes: Part 1
Overriding CSS by attaching an alternate style sheet to the master page in the browser’s UI
2. SP 2010 Branding Options: Master Pages vs. Themes: Part 2
Overriding CSS by attaching an alternate style sheet to master page code in SPD 2010
3. SP 2010 Branding Options: Master Pages vs. Themes: Part 3 (Coming soon)
Creating custom master page with custom layout and code using SPD 2010