This page has been archived and is no longer  being actively maintained.
Outlook Developer Home
Outlook Programmer's Library
 
Outlook Technologies
Outlook Forms
Languages
Samples
Other Technologies

 

Collaboration Data Objects

For the current version of this page, click here.

Originally known as Active Messaging, the Collaboration Data Objects (CDO) library allows you to access the Global Address List and other server objects, in addition to the contents of mailboxes and public folders. It is the principal model used for Exchange Server Scripting (Exchange 5.5) and is also used for some key Outlook programming tasks, such as displaying an address book for the user to pick from. However, with the advent of the Outlook Email Security Update, CDO is far less useful, many developers are using Redemption instead in order to avoid the security prompts. 

CDOLive is the premier resource site for Collaboration Data Objects, with samples, articles, lists of undocumented MAPI properties, and a discussion forum, hosted in a Microsoft Exchange Server public folder with custom web rendering via CDO.

CDO 1.21 is not officially supported in a .NET Framework environment, although we've seen people useit. See Support Policy for Microsoft Exchange APIs with .NET Framework Applications.

 Availability | Documentation | Articles | Discussion | Samples | Problems | Tools | More Information

Availability

For Outlook and Exchange Server 5.5 and earlier, the current version is 1.21. See Exchange 5.5 Collaboration Data Objects (CDO) Patch for post 5.5 SP4 hotfixes.

CDO is no longer available for separate redistribution. For server applications, you will need a version of CDO that is not subject to Outlook security prompts. If you are running Exchange 5.5, install either the Exchange Administrator utility or Outlook Web Access. If you are running Exchange 2000, install the Exchange System Manager on the server. We understand this counts as one client access license.

For client applications, you must install Outlook in order to install CDO. In Outlook 2000 and later versions, CDO is included with Outlook but is not part of the default setup, nor will it install on first run. Therefore, you must explicitly select it during a custom setup or use the Windows Installer object library to programmatically install CDO, as shown in the Items Command Bar COM Add-in sample.

In Outlook 98 and 2000, CDO is officially supported only in Corporate/Workgroup mode. However, most techniques do work in Internet Mail Only mode. Microsoft considers IMO mode + CDO to be a "use at your own risk" configuration.

In relation to the Outlook Email Security Update, Microsoft has issued a security patch for CDO and Outlook 98 and Outlook 2000 that affects all client applications that use CDO. See Microsoft Outlook CDO Security Update. The patched version of CDO reports the same version as the unpatched version -- 1.21 -- so there is no way for an application to tell which version is in place.

Some confusion exists over other libraries with "CDO" in their name -- CDONTS, CDO for Windows 2000, and CDO for Exchange (2000/2003). The first two can be used for creating and sending messages, but otherwise have little client application in an Outlook programming environment. See CDOLive - Digging deeper into CDO, History & Future for details on all the different versions of CDO.

Back to Top

Documentation

Back to Top

Articles

Top CDO techniques for Outlook applications
More techniques for client-related applications
Techniques for server-based or multiple-mailbox applications
  Back to Top

Discussion

Back to Top

Samples

Back to Top

Problems

If you plan to install Outlook 2003 on client machines, you will probably need to update the version of CDO running on your server first. In Exchange 5.5 environments, CDO is integral to the operation of Outlook Web Access. In Exchange 2000 and 2003, you may have server-based applications that use CDO for data access. Once you use Outlook 2003 against an Exchange mailbox, a change takes place in the mailbox properties that is incompatible with CDO. Exchange 5.5 OWA users will no longer be able to access the mailbox, and Exchange 2000 or 2003 applications that use CDO to access the mailbox may fail completely if they call the PR_FREEBUSY_ENTRYIDS MAPI property. You can contact Microsoft Product Support Services to obtain a hotfix for your version of Exchange:

No client fixes are available yet, but pre-Outlook 2003 client applications using CDO for calendaring functions may encounter similar problems.

Also see:

Back to Top

Tools

Exchange Inspector Free tool for examining the MAPI properties of items in Exchange mailboxes and public folders and in the Global Address List. Triggers Outlook security prompts.
MAPIProp Free COM component designed to read MAPI-properties of CDO and Outlook Object Model objects for Microsoft Outlook 2000, 2002/XP, 2003 without triggering security prompts. Microsoft Visual C++ 6.0 source code included.
MAPIViewer Provides an Explorer-like interface for browsing MAPI stores and viewing items and their properties. Free.
Outlook Spy Developer utility for finding out what's going on inside Outlook, via the Outlook object model, CDO and MAPI. You can edit and delete most properties, drag properties from one item to another, copy values to the clipboard, run scripts, monitor events.
Visual MAPI Automatic code generator for MAPI (i.e. CDO) projects in Visual Basic or VBA. Donationware. Requires the VB 6.0 runtime. 
Back to Top

More Information

   
© 2002-6 TurtleFlock, LLC
All right reserved.
About OutlookCode.com

Send comments to webmaster@outlookcode.com

Designed and Implemented by TerraLink USA 

FrontPage Integration
by RobsonDesignWorks

 
 
get Sue's code | forums | share your own code | registration