By Thomas Rizzo
Microsoft Outlook 97, part of Microsoft Office 97, revolutionized the process of information management. Outlook 97 combined the best features of a personal information management tool with the best features of a messaging and calendaring client. The result was a program that could manage e-mail, schedules, contacts, tasks, and other types of information in a single, intuitive user interface. Outlook 97 provided not only great functionality, but also a rich development environment so users could tailor Outlook to meet their specific needs. Microsoft Outlook 98 builds on this functionality, and will again revolutionize the way people work with information.
Microsoft Outlook 98 has four primary design goals. First, the Outlook team strove to make the product easier to use. Everyone agrees that both Outlook 97 and Outlook 98 are feature rich, but finding specific features in Outlook 97 was sometimes arduous. Outlook 98 now has a simpler menu structure and user interface that makes new features easier to find. The second design goal was to improve the performance of common Outlook tasks (e.g. switching between folders or working with your schedule), and to make Outlook easier to set up and administer. Internet protocol support was the third design goal. Outlook 98 not only supports messaging and calendaring Internet standards such as SMTP/POP3, IMAP4, NNTP, S/MIME and iCal/vCal, but also directory lookup standards such as LDAP. Other supported Internet standards include Internet content such as HTML mail and Internet contacts such as vCard.
The final design goal — and the focus of this article — was to improve the collaborative development environment. Outlook 98 includes a host of new features that extend the types of solutions you can build with Outlook and the functionality those solutions provide.
One new type of solution developers can build with Outlook 98 is HTML based. Outlook 98 includes the ability to use HTML as your default content type for messages. This feature allows users to mail Web pages through their e-mail system. FIGURE 1 shows an expense report application being read inside Outlook 98. Developers can quickly write HTML applications and make them available to their users by using Outlook 98. Because Outlook 98 utilizes the HTML rendering technology of Internet Explorer 4.0, developers can take advantage of new HTML technologies such as dynamic HTML. FIGURE 2 demonstrates a dynamic HTML application, asteroids, hosted inside an Outlook e-mail message.
FIGURE 1: An expense report application being read inside Microsoft Outlook 98.
FIGURE 2: A dynamic HTML application, asteroids, hosted in an Outlook e-mail message.
Outlook 98 includes a built-in HTML-based solution called Outlook Today. Outlook Today gives users a customizable summary of upcoming meetings, tasks due, and the number of e-mail messages unread in the user's inbox (see FIGURE 3). All the information in the view is hyperlinked, so users can simply click on an item to drill into specifics, or check off a completed task. Because Outlook Today is built using HTML, developers can customize which items are displayed in the Outlook Today view.
FIGURE 3: Outlook Today gives users a customizable summary of upcoming meetings, tasks due, and the number of e-mail messages unread in the user's inbox. All the information in the view is hyperlinked.
FIGURE 4 shows how developers can make available their specific versions of Outlook Today to users. As you can see, developers can create a sales force Outlook Today, an accounting Outlook Today or even a developer Outlook Today. All of these custom Outlook Todays could contain information and hyperlinks that are specific to the audience or even to the individual user. FIGURE 5 shows a customized Outlook Today that displays information from a SQL server database and traffic conditions downloaded from an Internet site.
FIGURE 4: Developers can make specific versions of Outlook Today available to their users.
FIGURE 5: A customized Outlook Today, displaying database server and Web site information.
Another new feature that will ease development and improve performance of offline applications is filtered replication. Filtered replication allows the end user to select which content should be replicated to the Outlook offline store. The parameters used in selecting the items to replicate can be built-in properties, such as who the item is from or when it was created. Custom properties and formulas can also be used to determine which items should be replicated. For example, imagine a public folder of Outlook contacts that contains 50,000 contacts. For an end user to be able to replicate the size of information to their machines, they would need a large amount of disk space. With filtered replication, the end user could set up parameters that would limit the amount of contacts they could download. One parameter includes selecting the contacts in their sales district. After replicating, the 50,000 contact database now only consists of the 500 contacts the user is interested in.
Setting up filtered replication is easy. FIGURE 6 shows the interface for users to configure their replication parameters. The point-and-click nature of the filtered replication dialog box makes it easy to select custom fields and create formulas for replication.
FIGURE 6: The point-and-click nature of the filtered replication dialog box makes it easy to select custom fields and create formulas for replication.
Background replication — also new to Outlook 98 — works seamlessly with filtered replication. Background replication allows users to synchronize their folders offline while continuing to work in the Outlook environment. Users can also set how often Outlook should synchronize in the background. For example, a user can set Outlook to synchronize all of their folders every 15 minutes. The amount of time between synchronizations is completely customizable to the user.
Another new feature for current Outlook developers is the ability to change the first page of the built-in Outlook contact form. To change the first page of a contact form in Outlook 97, the developer had to hide the first page of the contact form and recreate all the buttons and functionality of the first page on a separate, custom page. Outlook 98 now includes the ability to edit the first page of a contact form (see FIGURE 7).
FIGURE 7: Outlook 98 now includes the ability to edit the first page of a contact form.
Similar to the custom contact form functionality, Outlook 98 also supports the replacing of any default Outlook forms with custom developed forms. Developers can replace the standard mail message or appointment form with their custom form.
The most important improvements for developers using Outlook 98 are the changes in both the Outlook development environment and the Outlook object model. Outlook 97 had a rich interface for developing custom forms, but when a developer added VBScript to the form, Outlook provided only a rudimentary script editor with no built-in debugging capabilities. In Outlook 98, the development environment has been greatly enhanced with some key additions, including simultaneous design- and run-time modes for forms, a script debugger, find and replace in the script editor, and a built-in object browser.
Outlook 98 has made it easier to access the Outlook forms design tools and has simplified the menus and command for publishing Outlook forms. As just mentioned, Outlook 98 includes the ability to run Outlook forms in both design- and run-time mode, allowing developers to see how changes made at design time will effect the form at run time (see FIGURE 8).
FIGURE 8: A form running simultaneously in design- and run-time modes.
A script debugger. Outlook 98 also introduces a script debugger for Outlook forms that contain VBScript. The VBScript debugger that comes with Outlook is based on the Internet Explorer 4 script debugger (available from http://www.microsoft.com/scripting). With the script debugger, breakpoints, stepping through code, viewing the call stack and checking values at run time are all supported. The script debugger makes it much easier to debug Outlook solutions that have logic coding error or use outside components such as DAO. Entering the STOP statement in VBScript code will automatically break the code at that point and bring up the script debugger. FIGURE 9 shows the script debugger screen. The code that is being debugged is firing on a click event of a command button that talks to an Access database from an Outlook form. By stepping through their code with the debugger, developers can quickly resolve any bugs that are present.
FIGURE 9: The script debugger screen.
A better editor. The script text editor has also been improved in Outlook 98. Now, developers can do global search-and-replaces of text within scripts using the editor. Toolbar buttons have also been added for consistency and ease of use. Also included in the editor is an object browser for better discoverability of the features of the Outlook object model. The object browser can jump to specific parts of the Outlook documentation so developers can quickly access the Help information they need on a specific object.
An enhanced object model. Outlook 98 contains many enhancements to the Outlook object model. First, the standard Outlook dialog box for choosing a folder can now be displayed from scripts and applications. For management capabilities, there is now a version property on all objects. The meeting request object has been simplified and extended through the new Exception collection for recurring appointments. For applications that use the Outlook contact object, e-mail addresses are automatically resolved when assigned programmatically in an application. Finally, for better performance of applications, the Outlook object model is dual interfaced. This allows VBA, VB, C/C++, or Java developers to take advantage of the object model.
As you can see from all the enhancements mentioned, Outlook 98 provides developers with a rich collaborative application development environment. Outlook 98 includes many other features that were not discussed in this article. If you want to try Outlook 98 for yourself, please download a copy from the Outlook Web site at http://www.microsoft.com/outlook. Happy developing!
Tom Rizzo works as a Product Manager in the Microsoft Exchange Server Product Unit in Redmond, WA. Tom specializes in evangelizing development features in both Exchange and Outlook. You can reach Tom at thomriz@microsoft.com.
This article is reprinted with permission of Informant Communications Group, Inc.
It originally appeared in the March 1998 issue of Microsoft Office & VBA Developer.