New functionality brings OWA closer to Outlook
The release of Exchange Server 2003 introduced an updated version of Outlook Web Access (OWA). In "Exchange Server 2003 OWA Overview," October 2003, http://www.winnetmag.com/microsoftexchangeoutlook, InstantDoc ID 39790, I discuss the major new security features in OWA 2003. However, increased security isn't the only improvement that this version of OWA offers—the product also looks and functions more like Microsoft Office Outlook. Let me introduce you to some new end-user features that many OWA customers have been waiting for.
Earlier OWA versions lacked the ability to spell check email messages, so users needed to use third-party products to fill this gap. (For more information about third-party spell-checkers, see "OWA Spell Checking," January 2003, http://www.winnetmag.com/microsoftexchangeoutlook, InstantDoc ID 27212.) Now Microsoft has added this functionality to the OWA premium client, with support for six languages—English, French, German, Italian, Korean, and Spanish—and more language support coming in Exchange 2003 Service Pack 1 (SP1). For more information about the differences between the OWA premium and basic clients, see "Exchange Server 2003 OWA Overview."
OWA 2003 implements its spell-checking engine as an Internet Server API (ISAPI) extension (exchweb/bin/spell/owaspell.dll) that interfaces with the relevant language-specific DLL in the same folder. When the client browser requests spell-checking, it sends an HTTP POST to owaspell.dll and includes the message text in the body of the request. The Exchange server checks its dictionaries and generates an XML document containing all the possible corrections. The server passes the XML document back to the client browser, which transforms the document into an HTML form containing the options for spelling corrections. The client performs any corrections the user chooses.
Figure 1, page 2, shows the XML document that the server generated when I ran spell-checking on the message that Figure 2, page 2, shows. As you can see, the XML document supplies all the information required to correct the text; therefore, no further client/server interaction is necessary. Note that you can check only the body of the message—you can't check the subject line or selected parts of the message.
Users set their spelling preferences through the OWA Options page, and these options persist as properties in the root of their mailboxes. Administrators can preset these preferences as part of provisioning a system, thus avoiding the need for users to select a spell-checking language. Additionally, administrators can throttle spell-checking by modifying the following values in the Exchange server's HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWEB\OWA registry subkey:
- MaxSpellDocumentSize (of type REG_DWORD): This value defines the maximum size of the document in kilobytes. Any requests to spell check a document larger than this size result in an error being passed back to the client.
- MaxSpellErrors (of type REG_DWORD): This value defines the maximum number of spell-checking errors allowed before results are passed back to the client along with an error stating that spell-checking was incomplete because of too many errors.
- MaxUniqueSpellErrors (of type REG_DWORD): This value defines the maximum number of spell-checking errors allowed, but an error is counted only if it's unique.
- MaxSpellRequests (of type REG_DWORD): This value defines the maximum number of concurrent spell-checking requests that the server can process. If a new request comes in and this number is exceeded, the client receives an error that the spell-check server process is busy.
- DisableSpellCheckOnSend (of type REG_DWORD): When set to 1, this value will override the user setting so that spell-checking when sending email is unavailable. This setting doesn't change the OWA UI in any way.
Although earlier OWA versions let users display the contents of their Tasks folder, the items are treated as ordinary posts, with no mechanism for creating new tasks and associating standard task attributes. OWA 2003 treats tasks similar to the way Outlook handles tasks. Note that users can't set certain attributes, such as a designated responsible person for the task, and the number of views is less than the number available with Outlook. Users can, however, associate reminders with tasks. OWA 2003 uses the same polling mechanism to display reminder notifications that it uses for calendars and new mail notification. (For more information about new mail notification, see "Setting OWA Mail and Calendar Notifications," November 2002, http://www.winnetmag.com/microsoftexchangeoutlook, InstantDoc ID 26504.)
Auto Signature Support
OWA 2003 lets people use the OWA options pages to set up a signature that's automatically included in their email messages (including replies and forwarded messages). The signature is separate from any that a user might have set using Outlook. OWA stores a text version (http://schemas.microsoft.com/exchange/signaturetext) and an HTML version (http://schemas.microsoft.com/exchange/signature.html) of the signature in the user's mailbox properties.
The signature facility isn't as feature rich as Outlook's signature capabilities and doesn't allow, for example, the automatic insertion of a vCard or multiple signatures. You can limit the size of a signature or disable signatures completely by modifying the SignatureMaxLength registry value (of type REG_DWORD) on the Exchange server. To modify this value, use a registry editor to navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA registry subkey. The default SignatureMaxLength value is 4096 (4KB). The maximum value is 16672 (16KB); the server treats values greater than the maximum value as 16KB. This value comes into play only when users save their signatures. If you set the value to 0, the Exchange server removes the signature from the OWA Options page and the user can't save a new one.
With the premium client, users can create a rich-text signature, and they can insert a signature on-demand into the Compose message window. The basic client lets users create only plain-text signatures and doesn't offer the on-demand insertion capability.
Address Book Enhancements
Although OWA still doesn't let users browse the Address Book, they can now search both the Global Address List (GAL) and their Contacts folder. (Note that you can search only the default Contacts folder for the language you're running in, and you can't search Contacts if you change the folder's name.) A user can change the default address source through the Options page or by manipulating the property http://schemas.microsoft.com/exchange/anrcontactsfirst in the user's mailbox.
In addition, when your search yields a matching entry, you can now view that contact's properties. If the contact is from the GAL, you see a Properties sheet similar to the one that Figure 3 shows; otherwise, you see the regular Contacts form. You can also see whether the user has a certificate that can be used to encrypt email content.
This search functionality is available only with the premium client, as is the ability to add a resolved user to your Contacts folder from the Contact view dialog box or from the context menu that appears when you right-click a recipient in the message form.
OWA 2003 provides a welcome set of keyboard shortcuts, although you still need a pointing device to navigate fully. Keyboard functions depend on the currently open window—be it an Inbox item view or message form. Shortcuts exist for creating new messages (Ctrl+N), replying to messages (Ctrl+R for Reply and Ctrl+Shift+R for Reply All), forwarding (Ctrl+Shift+F), marking messages read/unread (Ctrl+U and Ctrl+Q, respectively), spelling (F7), and many more, all of which are documented in the OWA Help. Keyboard shortcuts are available only in the premium client.
Calendar Access from Meeting Request
When a user receives a meeting request, OWA now presents the user with a button that opens a separate calendar window already set to the meeting date. This feature is a great example of a small but welcome and functional enhancement; earlier versions required users to open their calendar and navigate to the desired date.
Reply to Public Folder Posts
Unlike earlier versions of OWA, OWA 2003 lets you reply and forward messages in public folders. For this functionality to work, you must use a front-end/back-end server implementation because of how the public store and mailbox interact. The front-end server coordinates the cross-store transactions. Also note that all servers (front-end, back-end, and public folder server) must be running Exchange 2003 for this functionality to work correctly.
By default, a 2MB limit is imposed on the Reply, Reply All, and Forward actions, but you can reset these limits by changing the maxPFReplyForwardSize value (of type REG_DWORD and expressed in kilobytes) in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWEB\OWA registry subkey.
Support for Search Folders
Outlook 2003 provides a UI for manipulating Search Folders (aka Smart Folders). Search Folders are virtual views or collections of objects that can span an entire mailbox; therefore, users can create groups of items that satisfy search criteria regardless of which physical folder they're stored in. For example, a user might have a Search Folder for all items that are sent to or from people within his or her immediate team. Search Folders are either client side or server side and are created in an inactive state; a user must click them before they become active.
OWA 2003 doesn't let users create Search Folders, but when using the premium client, they can navigate to them and manipulate their contents if they exist. OWA displays only active server-side Search Folders, and the only way to produce such Search Folders is to activate them by using an online Outlook 2003 profile. You can see some sample Search Folders in the folder hierarchy that Web Figure 1 (http://www.winnetmag.com/microsoftexchangeoutlook, InstantDoc ID 41349) shows.
Simplified OWA Views and More Query Strings
Although OWA provides a full-blown email client, you can also harness its power in your own applications by calling OWA functionality by means of a URL and some query strings. For example, I can display a new appointment window by entering a URL in the form http://server/exchange/mailbox/Calendar/?cmd=new into my browser. You can use this method to call OWA functions such as displaying folder contents in a particular view, displaying the folder hierarchy, or displaying the Options page.
Administrators commonly use this functionality to embed views of folders within other applications—most typically Web-based portal pages. For example, it's not uncommon to see a user's Inbox and Calendar displayed inside a portal. Although OWA 2000 offers this functionality, the view contains a lot of superfluous information, such as navigation bars and buttons that perform various tasks. Screen real estate is a precious resource in portal applications, so anything that can simplify the view of information is welcome—and OWA 2003 does just that.
OWA 2003 lets portal applications such as Windows SharePoint Services or SharePoint Portal Server 2001 call a simplified view of a user's Inbox or Calendar. Additionally, OWA 2003 helps developers work with multilanguage scenarios. By this I mean that the URL for a folder is language-sensitive and therefore generating the correct URL can be challenging. However, by using the loadmodule and module query strings available in OWA 2003, a developer need not worry about whether one user's Inbox is another user's Bandeja de Entrada. Instead, the developer can use http://server/Exchange?cmd=loadmodule&module=\[Inbox/Calendar\] to provide a common URL regardless of the user's language.
To simplify the folder view, you add the &part=1 query string to this common URL. Developers designed this functionality to embed a folder view into a Web part, which is a base technology within Windows SharePoint Services. The &part=1 query string specifies that you want to create a simplified view of the folder in question and works when used in conjunction with cmd=contents or cmd=loadmodule. Figure 4 shows a simplified view of an Inbox. The simplified Inbox Web part
- doesn't render the toolbar
- doesn't display the folder name
- provides a two-line view by default when viewing a mail folder as a Web part; however, you can specify a different view
- provides a read-only and left-aligned item count and right-aligned navigation buttons
- disables the preview pane
- disables context menus
- makes available standard view functions such as clickable/sortable column headings, flagging, type-down search (i.e., jumping to an entry based on something the user types in), and keyboard actions (e.g., reply, forward, delete)
The simplified Calendar part is based on the OWA basic client Weekly view, which lists items daily for a specific week, as Figure 5 shows. The Calendar is an HTML document with two modes: a quick agenda view and a weekly agenda view. The quick agenda view is presented when a user doesn't specify a date; the Calendar part will render appointments beginning the current day, based on the user's time zone settings, and finish at the end of the user-defined week. The Calendar displays the weekly agenda view when the user supplies an explicit date. The simplified Calendar Web part
- doesn't render the toolbar
- doesn't display the folder name
- observes the user preference for start of week
- doesn't display icons (e.g., recurrence, private)
- displays No appointments scheduled for days that contain no data
- displays No appointments for the rest of the week when in the quick agenda view, if the current day and the rest of the week don't contain appointments
- offers no navigation from the displayed date span
- displays an arrow pointing to the appointment or appointments that are in progress
- underlines appointments when the cursor hovers over them
- opens appointments by a single click
OWA 2003 supports two other useful query strings—one to show the deleted items cache for any folder and one to preload a mail recipient into a Create Message window. For example, to show the deleted items cache for a public folder, you would use the URL http://server/public/folder?cmd=showdelted. To create a mail message with a preassigned recipient, you would use http://firstname.lastname@example.org.
Themes provide the ability to brand the OWA UI to maintain corporate identities. The OWA 2003 premium client implements themes through Cascading Style Sheets (CSS), with a handful of images to accompany these styles. You can also build themes by supplying suitable style sheets and images. CSS are a common way to specify a style to use (e.g., color, font, size) for particular HTML tags. You can find the style sheets for Exchange's five default themes on the Exchange server in the \exchweb\themes folder. Each theme is a separate folder containing an owacolors.css file and associated images. If you look at owacolors.css, you'll see style definitions for many UI components, such as .dailyrow (daily view of the calendar), .msgviewer (view the contents of a message), and .galbuttons (the buttons available when you browse the GAL).
Users can choose a color scheme through the OWA Options page; this setting is stored in the user's mailbox in the property http://schemas.microsoft.com/exchange/themeid. Themes will be a welcome feature for many organizations as well as for ISPs that want to provide separate branding for users of separate hosted companies. For more information about OWA themes, see Best Practices for Exchange, "Skinning Exchange 2003 OWA," January 2004, http://www.winnetmag.com, InstantDoc ID 41108.
OWA 2003 delivers on its promise of being a secure, easy to use, feature-rich Web client. In fact, some commentators suggest that OWA is a good enough reason to consider deploying Exchange 2003, and I agree.