Over the last few months I have heard a lot of confusion and question about if a site should use a master page or a theme. In this post I am going to go through some basic pros and cons and information to help you make a better decision as to how to brand your SharePoint 2007 site.
If you need more info about either master pages or themes, check out these posts:
What is a Master Page (and component information for both master pages and page layouts)
About Themes (note this refers to WSS v2, but is still applicable for WSS v3)
The first thing I recommend is to assess your design needs. Set aside terminology and SharePoint features and don't worry about how to execute the site branding, but identify what you need to change from the default SharePoint look and feel. Here are some questions to ask:
- Do you need to change the colors used? For example change the blue palette to another color palette? Often you need to incorporate corporate colors, product color schemes or colors that better reflect a mood/emotion or industry you are in.
- Do you need to change the images used? Do you need to incorporate certain illustrations, photos or logos? Most everyone at a minimum wants to include their own logo. Do you need to style a header that matches your branding?
- What navigation do you want to use? Do you want to use both the tabbed horizontal menu and the left navigation, or maybe only one or neither? If using the menu(s), do you need to alter how they look? If so, how drastically?
- Do you need to move core components of the page layout around? Don't think about content, but about the page wrapper (header, nav, footer). Are there other components you need to incorporate, move or remove?
- Do you plan on having a collection of sites and each site needs to have its own color palette? Some sites have sub sites (such as HR, travel and accounting in an Intranet) color coded.
After making some decisions about your design, you can start looking at what master pages and themes can provide and you can start to decide which is best for the site.
Master pages provide total control of the site layout. Themes on the other hand re-skin the layout by changing colors and images used in the design. Since a theme is just a CSS file and images, the layout of the page such as the location of the navigation, can't be altered.
If you are using the SharePoint site intact with the navigation that comes with the site, and you just need to update the colors and images and add a header to the site, a theme can handle all of that for you. To see what a theme can change, apply one of the many out of the box themes that SharePoint provides. Click here for instructions on how to apply a theme.
But testing out a SharePoint theme doesn't give you a full idea of what you can do with a theme. The page icon next to the title can be removed, so can the title. Header images can be added in. People often think themes can only update the colors used since that is what the out of the box themes do. But a lot more can be accomplished. Click here and here to see two examples of custom themes for WSS v2 sites.
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.