- Marcel Meth, Senior Vice President Internet Strategy, FleetBoston Financial Microsoft Exchange Server addresses the most vital needs of todays corporate software solutions: collaboration, knowledge management, and Web accessibility. The newest version, Exchange 2000, now supports a wide range of APIs to fit the diverse requirements of enterprise developers, including WebDAV, ADO 2.5, ExOLEDB, CDO, and, of course, MAPI. As a result, it is far more flexible, but more complex, than earlier versions. A convenient and comprehensive tutorial and reference, Developing Applications with Exchange 2000 steers you through the many new development options. It provides a programmer-based overview of Exchange 2000, shows you how to build various kinds of applications using these APIs, reveals pitfalls to avoid, and offers experience-based tips for success. In particular, this book focuses on Exchange 2000s newly designed Web Storage System and the many ways it can now be accessed. Specific topics include: *WebDAV *Creating custom Web forms with Outlook Web Access *Outlook Object Model (OOM) and the digital dashboard *Accessing Web Store with ADO 2.5 *ExOLEDB *Making remote calls using DCOM *Using XML to set Access Control Lists *Exchange store events *Using CDO 1.21 and CDO 3.0 for messaging, calendars, contacts, workflow, and exchange management *XML and Exchange 2000 *Accessing WebStore with ExIFS In addition, Developing Applications with Exchange 2000 includes a convenient summary comparing and contrasting the APIs and object models, including development scenarios highlighting recommended usage. Two applications, along with smaller code examples, demonstrate Exchange 2000 in typical daily operations throughout. With this book as a guide, you will be better able to decide which development approach to Exchange 2000 best serves your needs. All sample code, plus additional updates and features, can be found at www.plural.com/OutlookExchange.asp. Table of ContentsForeword. Preface. I. INTRODUCTION TO EXCHANGE 2000. 1. Introduction to the Book. Topics Covered. Exchange 2000 Server. The Web Storage System. Programming with Exchange 2000. Who Should Read This Book? How This Book Is Organized. The Sample Code. 2. Setting Up an Exchange 2000 Environment. Exchange 2000 Integration with Windows 2000. Active Directory. Global Catalog. Administration through Microsoft Management Console. Integrated Transport Protocols. Domain Name System. Windows 2000 Network Infrastructure. Setting Up Windows 2000. Preparing Your System for an Upgrade or New Installation. Dual-Boot Setup with Windows NT 4.0. Setting Up Exchange 2000. Installing the Exchange 2000 SDK. The Microsoft Management Console. Customizing the MMC. Active Directory Users and Computers. Exchange System Manager and Public Folders. Exchange 2000 Services. The M: Drive. Summary. 3. Schemas, Namespaces, and Content Classes. About URIs, URLs, and URNs. Schemas. Schemas and the Web Storage System. Namespaces. Default Web Storage System Namespaces. Namespace Rules. Custom Namespace Guidelines. Content Classes. Why Use Content Classes? Putting Content Classes to Work. Content Class Definitions. Content Class Hierarchies. Mapping Content Classes to Outlook Message Classes. Automatic Property Promotion. Summary. 4. WebDAV: An Overview. WebDAV: The Basics. WebDAV Client Support. Microsoft Web Folders. Setting Up a Web Folder. How WebDAV Works. DAV Verbs. DAV and XML. DAV Support in IIS 5.0. Creating a DAV-Enabled Application. MSXML COM Component. MSDAIPP and ADO. Summary. II. EXCHANGE CLIENT ACCESS. 5. Outlook Web Access and Web Forms. Outlook Web Access. OWA Features and Limitations. OWA Installation. OWA Architecture. Accessing the Exchange Server. Basic Administration. Web Storage System. Web Storage System Forms. FrontPage Extensions for Web Storage Forms. Summary. 6. Outlook 2000 and Digital Dashboards. The Digital Dashboard. Folder Home Pages. Digital Dashboard Resource Kit 2.01. Outlook View Control. Properties of the Outlook View Control. Methods of the Outlook View Control. Choosing a Different Outlook Today Page. Summary. III. WORKING WITH ADO AND THE EXCHANGE OLE DB PROVIDER. 7. Accessing the Web Storage System Using ADO and ExOLEDB. The ADO/OLE DB Conspiracy. What Does ADO 2.5 Have to Do with Exchange 2000? The Role of the Web Storage System. The Exchange OLE DB Provider. Opening an ADO Connection to Exchange. Creating a Folder. File URLs. HTTP URLs. Programmatically Getting a User's HTTP Mailbox Folder URLs. The Open Method of the ADO 2.5 Record Object. Using Web Storage System SQL to Get a List of Folders. Web Storage System SQL. The SELECT Statement. Query Scope. The WHERE Clause. The ORDER BY Clause. The RANK BY Clause. Some Unsupported SQL. Summary. 8. Using ADO and ExOLEDB: Advanced Topics. Using ADO and ExOLEDB to Create Scalable Solutions. Using DCOM to Access Remote Exchange Data. Configuring a COM+ Server Application in Windows 2000. Creating and Installing the Application Proxy Package. A Proxy-and-Stub Scenario with Multiple Front-End and Back-End Servers. Using ADO and XML to Set Access Control Lists. Exchange 2000 Pseudo-Role-Based Security. Configuring the Custom MAPI Role Properties: Assigning Users to Roles. Access Permissions: Using Roles to Assign Permissions. Summary. 9. Exchange 2000 Store Events. System Events. OnTimer Event Sink. OnMDBStartUp Event Sink. OnMDBShutDown Event Sink. Asynchronous Events. OnSave Event Sink. OnDelete Event Sink. Dummy Event Sinks. Synchronous Events. OnSyncSave Event Sink. OnSyncDelete Event Sink. The Synchronous Event Always Rings Twice. The IExStoreEventInfo and IExStoreDispEventInfo Support Interfaces. The AbortChange Method. The Data Property. The EventConnection Property. The EventRecord Property. The SourceURL Property. The StoreGuid Property. The UserGuid Property. The UserSid Property. The Event Registration Item. The Criteria Property. The Enabled Property. The EventMethod Property. The MatchScope Property. The Priority Property. The ScriptUrl Property. The Sinkclass Property. The TimerExpiryTime Property. The TimerInterval Property. The TimerStartTime Property. Setting Up the Exchange Super User Account. Logging On Locally. Registering Events Programmatically. The RegEvent Script. Sinking to New Heights. Debugging. Summary. IV. COLLABORATION DATA OBJECTS (CDO). 10. CDO Overview. CDO 1.xx. What CDO Provides. CDO for NT Server (CDONTS). The NewMail Object. CDO for Windows 2000 and Exchange 2000. CDO for Windows 2000. CDO for Exchange 2000. How CDO and ADO Work Together. Summary. 11. CDO 1.21. The CDO Objects. At the Top: The Session Object. Getting Started with CDO. Session Properties. Session Methods. The InfoStores Collection. InfoStores Code Example. InfoStore Properties. The InfoStore Method: IsSameAs. Accessing Folders. Getting a Default Folder. Traversing Folders. Using the GetFolder Method. Using the RootFolder Object to Access Public Folders. Using a Message Object's FolderID Property. Folder Properties. Folder Methods. Retrieving Messages. The Messages Collection. The HiddenMessages Collection. Sorting a Messages Collection. MessageFilter. The Message Object. Entry IDs versus Article IDs. The Fields Collection. Discussion Group Support. Calendar Support. Address Books. The AddressBook Object. The AddressEntry Object. Summary. 12. CDO for Messaging. Supported Internet Standards. RFC 822. MIME Format. Uuencode. Techniques and Code Examples. Sending an E-mail. Attachments. Reading Through a User's Inbox. Summary. 13. CDO for Calendaring. Working with Appointment Items. Creating an Appointment in a User's Private Calendar Folder. Appointments and Meetings. Appointments. Attendees and Addressees. How Appointments and Calendar Messages Work Together. Programming Examples. Creating an Appointment in a Public Folder. Sending a Meeting Request. IAppointment Reference. Properties of the Appointment Object. More about Calendars. Resolving an Addressee. Determining the Status of a User's Calendar (Free/Busy Information). Recurring Appointments. IAppointment Methods. The ICalendar Standard. Summary. 14. CDO for Contacts. Creating a Contact in the Web Storage System. Creating a Contact in the Active Directory. The CDO Person Object. Properties of the Person Object. Methods of the Person Object. The urn:schemas:contacts Namespace. Getting a User's Contacts Folder. Searching for a Contact. Summary. 15. CDO for Workflow and the Exchange Workflow Designer. What Are Workflow Applications? Why Exchange 2000? Au Revoir Routing Objects. Getting Started. Adding the Workflow System Account. Allowing a User to Register Workflows. Restricted versus Privileged Mode. Adding a User to the Privileged Workflow Authors Role. CDO Workflow Objects for Microsoft Exchange. Adding a Reference to Visual Basic. The WorkflowSession Object. The ProcessDefinition Object. Microsoft Exchange Workflow Designer. Installation. Startup. The Folder Pane General Tab. Workflow Actions. Creating a New Workflow Process. XML Support. Summary. 16. CDO for Exchange Management. Server Management. Enumerating Storage Groups and Web Storage System Stores. Recipient Management. Creating a Mailbox for a User. CDOEXM Reference. The ExchangeServer Object. The FolderTree Object. The IDataSource2 Interface. The IDistributionList Interface. The IMailboxStore Interface. The IMailRecipient Interface. The MailboxStoreDB Interface. The PublicStoreDB Interface. The StorageGroup Interface. Summary. V. ADDITIONAL EXCHANGE 2000 TOPICS. 17. XML. Quick-and-Dirty XML Lesson. XML Example. How XML Is Used in Exchange 2000. Using a Rich Browser Such as Internet Explorer 5. Retrieving XML with XMLHTTP. Using XML to Pass Recordset Data. Summary. 18. Accessing the Web Storage System Using the Installable File System. The M: Drive. The Exchange Installable File System. When to Use ExIFS. Microsoft Win32 File System APIs. Sample: The ExIFSWin32Lib Component. Sample: The ExIFSFileSystem Component. Known Issues with ExIFSWin32Lib and ExIFSFileSystem. Setting File Permissions Using the Access Control List. Windows 2000 File System Security in a Nutshell. Sample: The ACLAPILib Component. Known Issues with ACLAPILib. Remotely Accessing ExIFS Using a Network Share. Windows 2000 Services in a Nutshell. Sample: The ExIFS Share Service. Installing and Uninstalling the ExIFS Share Service. Starting and Stopping the ExIFS Share Service. Possible Future Enhancements to the ExIFS Share Service. Summary. 19. Weighing Your Development Options. Reviewing the Exchange 2000 Development Choices. Feature Comparison. ADO 2.5 over ExOLEDB. WebDAV over HTTP. ADO 2.5 Using MSDAIPP over HTTP. CDO for Exchange over ExOLEDB. CDO for Exchange over MSDAIPP. FileSystemObject over ExIFS. Outlook 2000 Object Model over MAPI. CDO 1.21 over MAPI. Selecting the Best Solution: Scenarios. Case Study 1: A Mixed Exchange 5.5 and 2000 Environment. Case Study 2: Levels of Web Support in Exchange 2000 over Exchange 5.5. Case Study 3: Using Exchange in a Workgroup Environment. Case Study 4: Accessing Remote Exchange 2000 Information from a Web Server. Summary. VI. SAMPLE APPLICATIONS. 20. Exchange 2000 Web Storage System Property Viewer Applications. Tool 1: Web-Based Property Viewer. The HTML Page. The ASP Page. Tool 2: ADO Explorer. Using the ADO Explorer Application to Display Property Values. The Main Form. A Look at the Code. Summary. 21. Sample Application: gradebook 2001. About the Sample Application. Features. Query Screens. Schedules: Exchange Calendars. Archiving Transcripts. Summary. Index. 0201703793T04062001 About the AuthorScott Jamison is a Managing Consultant at Plural, Inc., the 1999 Microsoft Solution Provider Partner of the Year. He lectures and writes extensively on a wide array of development topics, including architectures, development techniques, and Microsoft Exchange. He is a monthly columnist for Exchange & Outlook magazine. Alex Gomez is a Senior Consultant at Plural, Inc., where he specializes in collaborative application development. Alex also writes articles for various industry magazines on Outlook and Exchange development. George Wesolowski is a Senior Consultant at Plural, Inc. He holds an advanced computer science degree from Boston University and is an MSCD and MSCE specializing in Windows DNA and .NET component design and development. 0201703793AB04062001 |