People love to customize their environments, as evidenced by the popularity of family pictures and knickknacks in work areas, not to mention rearview-mirror air fresheners in cars and various kinds of lawn statuary. Software developers have responded to this desire in several ways, one of the most popular of which is giving users ways to change the appearance of their programs, colloquially referred to as skinning. Consumer applications have supported skinning for a while, and Windows has long let you customize the colors and fonts of its various UI elements.

However, one capability has been missing from the Microsoft Exchange Server world: You can't easily skin Microsoft Outlook Web Access (OWA). Customizing OWA's appearance might seem unimportant in the grand scheme of things, but a surprising number of Microsoft customers have requested a way to make OWA conform to the appearance of their other corporate Web sites. Companies that offer hosted Exchange services, such as telecommunications providers and ISPs, have been especially noisy about asking for a way to brand OWA with their own logos and color schemes instead of using the ones Microsoft provides.

Microsoft's Exchange team has acted on these requests. Exchange Server 2003 lets you create and apply custom themes that control several aspects of OWA's appearance. When you create a new theme, it becomes available to users through OWA's Options button. You can also specify a particular theme as the default theme for new users.

Simple Customization
Generally speaking, the best approach to OWA customization is to start simply. You can take several simple steps to make OWA look better.

Let's start with the most basic of all customizations. OWA uses hundreds of icons in its Web presentation—the \program files\exchsrvr\exchweb\img directory contains 522 image files. All these files are .gif files, and you can edit them to your heart's content. You can also substitute your own images, although the results might appear less attractive than the carefully drawn images that ship with OWA. Be aware that if you change image sizes, your OWA screens will look strange because the UI elements won't properly align with one another. More problematic is that installing service packs (or reinstalling Exchange) will remove your changes, so be sure you keep copies of your changes so that you can reapply them when necessary.

Two files that you might want to change are logo2.gif and logo-ie5.gif. Logo2.gif contains the logo that appears in the upper-left corner of the OWA screen, immediately above the folder list, and is probably the first customization that most sites will want to make. Logo-ie5.gif is the logo that appears instead of logo2.gif for some earlier (aka downlevel or reach) browsers. Because these logos are simple .gif files, you can use any graphics editor—even Windows' venerable Paint tool—to edit them.

The \program files\exchsrvr\exchweb\img directory contains some files whose names start with "logon" (e.g., logon_microsoft.gif, logon_logo.gif). These files contain the Microsoft and OWA logo, respectively, that appear when you load the forms-based authentication logon page, logon.asp. (For details about enabling forms-based authentication on Windows Server 2003, see "The OWA Evolution," http://www.winnetmag.com, InstantDoc ID 39572.) Editing or replacing these graphics is the simplest way to change the logon page's appearance.

To remove the OWA and Microsoft logos on the logon page, simply open the appropriate logon page, search for the tag that contains the name of the file you want to replace, and replace that filename with the name of the file you want to use instead. If you take this route, however, be sure to adjust the and tags on the images so that the browser can lay them out properly. You can customize the appearance of logon.asp more extensively by editing it with Microsoft FrontPage or an HTML editor. This approach lets you much more easily preserve the correct appearance.

One caveat is that Microsoft won't support your changes. If you break something, Microsoft will just tell you to put the original version of the file back in place.

Creating Themes
Exchange 2000 Server OWA and Exchange Server 5.5 OWA have the same general appearance on all computers. However, Exchange 2003 OWA lets you create coordinated graphics and color schemes that users can select or that you can set as the default scheme. This capability lets you change OWA's appearance to match corporate branding, logo, or appearance requirements.

Creating themes is straightforward. You begin by creating a new subdirectory for the theme files in the \program files\exchsrvr\exchweb\themes directory. You'll notice that this directory already contains five theme subdirectories, conveniently named 0 through 4. If you look in those directories, you'll see the 10 files that you can customize to create your own theme. Figure 1 shows the areas in the OWA window that some of these files customize:

  • Logo2.gif is the 179 * 36 pixel "branding" logo, which by default displays the Microsoft Office symbol and "Outlook Web Access" text, as Figure 1 shows. You can replace this file with your company logo or other graphic. Scaling the graphic to approximately the same size as the default graphic will improve the appearance of the finished theme.
  • Nb-bkgd.gif is a 1 * 26 pixel strip that contains the background color for the navigation bar on the left side of the OWA window. Microsoft-supplied themes all use a subtle top-to-bottom color gradient in this file, but you can make your background color solid if you want to.
  • Nb-hide-ql.gif is a 50 * 8 pixel image that appears in the left-hand navigation pane. The default image is a small horizontal strip with a triangle in the middle that you click to hide or expand the navigation bar that replaced the original Outlook bar (which contained icons for the Inbox, the Options page, and various Outlook folders).
  • Nb-show-ql.gif is a 50 * 8 pixel image that contains the icon that appears when the navigation bar is hidden. Ideally, this image should be similar to the nb-hide-ql.gif image.
  • Nb-ql-tgl.gif is a 1 * 26 pixel background image that appears behind the nb-hide-ql.gif and nb-show-ql.gif images. Ideally, this image should use colors that complement the colors you use for nb-hide-ql.gif and nb-show-ql.gif.
  • Nb-sel-bkgd.gif is a 1 * 26 pixel strip that supplies the background highlight color for the icons in the navigation bar.
  • Nin-bg.gif is a 130 * 126 pixel image that contains the background for OWA's pop-up new-mail notifications. A cool way to customize this image is to use an image-processing program (e.g., Adobe Systems' Adobe Illustrator) to incorporate your company logo faintly into the image.
  • Tool-bkgd.gif is a 1 * 32 pixel that appears as the background for the toolbar at the top of the OWA window and for unselected buttons in the navigation bar.
  • Resize-dot.gif is a 1 * 1 pixel image that, as far as I can determine, isn't used.

The 10th file isn't an image; it's an HTML Cascading Style Sheets (CSS) file named OWAColors.css. OWA uses the CSS only for color specifications. When you open the file, you'll see groups of lines that specify colors for specific CSS styles. For example, the CSS lines that Figure 2 shows specify that any element whose style is set to cbToolbar will use the background image from the /exchweb/themes/0/tool-bkgd.gif URL and that the image's bottom border and background will have the specified colors. In the CSS, you specify colors by using a standard Red-Green-Blue (RGB) color specifier. Each color component has a value from 0 to 255 in hexadecimal format, with a pound (#) character prefix. The value #000000 specifies black, #FFFFFF specifies white, and other colors correspond to intermediate values between those two extremes.

By editing the colors specified for various elements, you can customize the elements' appearance. Although adjusting all the colors to look just right requires patience, the task doesn't take long. If you know a skilled Web designer, he or she can probably speed the process by suggesting pleasing color combinations.

No matter what colors you assign, you should know that the public-folder interface won't honor them if the public-folder server is running Exchange 2000. In addition, if public folders are configured for anonymous access, the public-folder server won't be able to determine which user is reading the folder and thus which theme to display.

Making Themes Available
After you create a theme, you need to register it so that your Exchange mailbox server knows that the theme exists. You register themes on your organization's Exchange mailbox servers and put the theme files on all OWA machines, including all front-end servers.

To register a theme, create a REG_SZ registry value for the theme under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA\Themes subkey. Specify the name of the theme as you want it to appear in OWA's Options pane. In the value's contents, you specify a set of four name and value pairs, all of which are mandatory. (If you omit a pair, OWA will ignore the entire theme.) The pairs are

  • Id—the theme ID, which you can specify in decimal or hex format. The theme ID can't conflict with an existing theme ID and must be no larger than 0x80000000 (in other words, you must not set the pair's first bit).
  • Path—the path relative to the exchweb\themes directory that specifies the location of the theme files.
  • Title—the theme name, which must be less than 512 characters. Whatever you put here will appear in the OWA Options pane as an available theme.
  • Bgcolor—an RGB specifier for the theme's background color. For example, the following value specifies theme ID 200 (in hex format):
Id=0x200;path=3sharptheme;
title=3sharp;bgcolor=#FFFFFF

This theme uses a white background and resides in the exchweb\themes\3sharp directory.

User Selection
Users can select a theme by clicking the Options button at the bottom of the OWA navigation bar and choosing a theme from the Appearance section. By default, the Options button lists the themes that ship with OWA: Default (blue), Olive Green, Silver, Burgundy, and Dark Blue. If you want to force users to use a particular theme, create a new REG_DWORD registry value named DefaultTheme under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA\Themes subkey and specify the theme ID that you want users to use. The specified theme will appear for all users. However, users can change the theme manually, if they choose.

Tailor-Made OWA
You can use themes to skin OWA now and modify the most important aspects of its appearance. Combine skinning with segmentation (i.e., the ability to selectively enable OWA features), and you can deliver to your users the particular look and features you want them to have. (For information about OWA's segmentation settings, see "Customizing OWA 2000 Access," June 2002, http://www.winnetmag.com/microsoftexchangeoutlook, InstantDoc ID 24778.)