Programming MicrosoftВ® OutlookВ® and Microsoft Exchange 2003, Third Edition (Pro-Developer)
Outlook is Microsoft's premier client that has the ability to manage information (e-mail messages, appointments, contacts, and tasks ) and share it throughout an organization. Outlook also includes a development environment in which you can write collaborative applications quickly. Part II of this book is dedicated to Outlook and its development environment. Chapters 4, 5, and 6 in particular describe and illustrate the features of Outlook that will enable you to extend it.
Before diving into how to build applications in the Outlook environment, I'll give you an overview of enhancements in Outlook 2003. I'll cover both developer and end user enhancements because the end user enhancements often have developer counterparts. I'll assume that you already know many of the features in Outlook 2002 and earlier.
End User Features
This section describes some of the new end user features in Outlook. These features fall into two main categories, information management enhancements and better replication technologies in Outlook.
Better Network Performance
Two of the major requests for improvements that Outlook users make is in latency and network utilization. When you use Outlook 2003 with servers running Exchange Server 2003, you can have Outlook use a cached copy of your mailbox to work continuously off line while synchronizing with the server in the background. In this new offline mode, you can look up free/busy information and work directly with the Global Address List (GAL) ”something you couldn't do in previous versions. Outlook also displays the status of your folders (such as whether they are up-to-date or whether they need to be synchronized with the server).
MAPI over HTTP
When you work from home or via a dial-up connection, you often need to establish a VPN connection to your corporate network before you can launch Outlook. Outlook now supports sending MAPI calls over HTTP, which means you don't have to create a VPN to your corporate network. Instead, if your Exchange servers are enabled for this technology, you can tunnel into your Exchange servers from Outlook over HTTP. In addition, to provide security all the interaction can be performed over HTTPS so that the network traffic is protected by encryption. This approach is similar to the way you work with Outlook Web Access (OWA).
Reading Pane
You can now reposition the reading pane (formerly the preview pane) to one of several places on your screen. You can also move the preview pane from the bottom of the screen to the right side or to the top of the screen. Figure 1-1 shows the preview pane on the right side of the Outlook window.
Switching Between Online and Offline Mode
One of the biggest hassles with Outlook is switching between working on line and working off line and having to restart Outlook. Now you can switch from online to offline mode in Outlook without having to restart it. With Outlook 2003, if you suddenly lose connectivity to your server, you can quickly switch to offline mode.
Better Notifications via Desktop Alerts
Taking a page from Windows Messenger and its pop-up alerts, Outlook can now display your new e-mail messages and alerts using a transparent pop-up on your desktop. Figure 1-2 shows the new Desktop Alert feature in Outlook.
Search Folders
When you work in Outlook, you often need to perform a search for the same items multiple times. For example, you might search for all flagged items in your inbox. To help you better organize your e-mail, Outlook 2003 introduces search folders . Search folders contain a query, and Outlook dynamically updates the folders with new items that meet the query's criteria. You will learn about search folders in Exchange Server 2003 in Chapter 16. Figure 1-3 shows a search folder in Outlook.
Quick Flagging
The Quick Flag feature in Outlook 2003 allows you to quickly flag an item. Using a column in your view, you can click on the flag and add different color flags to a message. Combined with search folders, quick flags let you organize information efficiently in Outlook. Figure 1-4 shows the Quick Flag feature in Outlook.
Distribution List Expansion in E-Mail Messages
With earlier versions of Outlook, when you view free/busy information in a meeting request, you can expand distribution lists (DLs) to display their individual members , but you cannot do this in an e-mail message. With Outlook 2003, you can expand DLs in e-mail messages by clicking the plus sign next to the DL name . Figure 1-5 shows a message addressed to a DL in Outlook 2003. Note the small plus sign next to the DL name.
New Outlook Bar
The Outlook bar in Outlook 2003 combines the folder list and the old Outlook bar. You can even add your view list to the Outlook bar. Figure 1-6 shows the new Outlook bar.
Rules Wizard Enhancements
The Rules Wizard has new functionality in Outlook 2003. It has a new user interface, and mobile and desktop alerts are integrated into the wizard. Figure 1-7 shows the new Rules Wizard.
Automatic Conflict Resolution
With the new offline-only mode in Outlook 2003, conflicts might occur more regularly because the offline and online copies of items might change at the same time. For example, say you're working off line in Outlook and you flag an item for follow-up. You then open OWA and do the same thing, forgetting that you already flagged the item when you were working off line. When you synchronize Outlook, you'll have a conflict. Another example is a case in which you dismiss a reminder in Outlook when you're working off line, dismiss it again in OWA, and then synchronize Outlook. Another conflict will occur. Outlook automatically resolves conflicts that it can safely resolve without losing data. It has also added a new Conflicts folder and conflict cleanup to its user interface. Figure 1-8 shows the Conflicts folder. Figure 1-9 shows the conflict InfoBar when a conflict has occurred in Outlook.
Multiple Calendars Side by Side
One of the most requested calendar features has been the ability to view multiple calendars side by side. With Outlook 2003, you can view your calendar, another person's calendar, public folder calendars, and even Windows SharePoint Services (WSS) calendars side by side. Figure 1-10 shows a personal folder, a public folder, and a WSS calendar in Outlook.
Integration with WSS
Tight integration with WSS is a new feature in Outlook 2003. From Outlook, you can replicate your WSS calendars and contacts into the Outlook environment. Plus, you can create WSS document workspaces from Outlook so that instead of e-mailing a document back and forth between users as a form of collaboration, you can create a workspace in which to collaborate on the document. Finally, you can integrate WSS alerts with your Outlook alerts. Figure 1-11 shows WSS folders listed in the folder list in the Outlook user interface.
Contact Pictures
In Outlook 2003, you can store a picture of the contact with the contact item. Figure 1-12 shows the new picture capabilities of Outlook contacts.
Calendar Color Coding (Automatic Formatting)
If you are an e-mail power user, you have used the automatic formatting feature in views in Outlook 2000. This feature allows you to specify different fonts and colors for items that meet a particular condition. For example, you can make all the e-mail from your boss appear in green, bold, 16-point Arial font. However, automatic formatting is supported only in table views in Outlook 2002. With Outlook 2003, you can use automatic formatting in the calendar view as well. This means you can specify that appointments meeting certain criteria appear in different colors in the calendar. For example, you can make your personal appointments green, your business appointments blue, appointments where your boss will be attending red, and your golf tee times yellow. Figure 1-13 shows automatic formatting inside a calendar view.
Developer Features
As you'll see throughout this book, Outlook provides a rich way to build collaborative applications. Following is a quick overview of some of these technologies.
Custom Forms, Fields, and Views
Using custom forms, fields, and views, you can build rich applications that leverage the features of Outlook. You can customize built-in Outlook forms to add new functionality, or you can just add new fields to an Outlook folder to track new information.
Folder Home Pages
Folder home pages allow you to view Web information directly within Outlook. You can combine the folder home page with the Outlook View control to view Web content and Outlook content together in a single view.
Outlook View Control
The Outlook View control is an ActiveX control that wraps the Outlook view pane. This control is programmable ”you can modify it using its properties, methods , and events.
Outlook Object Model
Outlook provides a rich object model that you can write your Outlook applications to. This object model exposes much of the functionality that you see in the Outlook user interface and also provides extensibility for that interface. This object model is the main way in which you will interact with Outlook in your code.
Smart Tags
Smart tags are supported by most of the Office applications. Smart tags allow you to recognize key terms in your documents and add custom functionality to those terms. For example, if a stock symbol is entered into a Word document, your smart tag can offer the ability to look up the current stock price from the Web for the user.
COM Add-ins
COM add-ins provide an extensibility model for customizing Office applications using COM components that you write in Visual Basic, C++, or even .NET. This is a key technology that you will learn about in Part 2 of this book.