Themes are a great way to make changes to the user interface when you don't need to add new functionality. With themes, you can customize the application's look and feel with your logo, colors, and typefaces.
You can write advanced themes that change what's on UI pages. You can even restyle particular parts of the application, such as to give certain kinds of content or certain spaces their own character.
How Themes Work
A theme is a set of user interface files -- FreeMarker, CSS, and images -- that substitute as custom versions of the files included with the application. When you create a theme, you're collecting all of these custom files into a single place and mapping that collection to a particular part of the user interface.
How to Make Themes
There are three ways to make themes, ranging from point-and-click simple to intensely detailed. The simplest way isn't documented as part of the developer documentation (because, well, you don't have to be a developer to use it). You'll find information about the other two here.
|Theming Approach||Description||When to Choose It|
|Basic Way||This approach is great because it's simple.||Use this when all you want to do is change the site-wide decorator colors and logo. You won't be able to change any text or rearrange parts of the user interface.|
|Customizing UI with the Theme Resource Kit||The application provides a downloadable resource kit that includes a few user interface files. You can edit the files, repackage them, then upload the package to apply your changes.||Use this when you need more fine-grained control of site-wide UI. In addition to changing CSS styles and images, you can add or change some of the UI logic.|
|Advanced Themes Topics||At this level, you can customize nearly any FreeMarker file and image that makes up the UI. Unlike the "basic" and "resource kit" approaches, this way doesn't include convenient deployment tools.|
Use this when you need low-level control over UI or when you want to have your theme affect just a portion of the UI (such as a single sub-space or single blog). It's powerful that way.
But keep in mind that, as Spider-Man's Uncle Ben said, with great power comes great responsibility. Nearly every new version includes changes to its FTL files -- the files you've customized. It's always possible that those changes will mean some upgrade work on your part to bring your custom versions in line with their new originals.