Microsoft Exchange 2000 : Programming Collaborative Web Applications
Microsoft Exchange 2000 Server gives businesses a powerful, highly customizable infrastructure for messaging and decision-making. This book shows experienced Windows C/C++ developers how to use Exchange 2000 Server's powerful Software Development Kit (SDK) to build robust, powerful collaborative applications that can help any enterprise share information more effectively -- and act on it more rapidly. Working from practical examples and easy-to-customize sample applications, this book will show you exactly how to build next-generation messaging and collaboration applications for businesses of any size. Paul Ammann covers the key components of the Microsoft Exchange 2000 Server SDK, including libraries, header files, and sample applications. He offers practical techniques for building stand-alone client and server applications, applications that extend Exchange 2000 Server's built in messaging and groupware, and administrative applications that make Exchange 2000 easier to manage.
- Paperback | 608 pages
- 175.3 x 231.1 x 48.3mm | 1,111.31g
- 23 Jul 2001
- Pearson Education (US)
- Addison-Wesley Educational Publishers Inc
- New Jersey, United States
Table of contents
Preface. 1. Introduction to the Web Storage System. Accessing Items Using URLs. Knowledge Management. Web Storage System Schema. Web Storage System Forms. Collaboration Data Objects. Web Storage System Events. WorkFlow Support. Web Application Development. Exchange 2000 Server Web Storage System. Web Storage System Access APIs and Protocols. OLE DB and ADO Access. HTTP/WebDAV Access. File System Access. MAPI Access. Additional Web Storage System Access Protocols. Web Storage System Item Properties. Namespaces and Property Names. Namespace URLs and URNs. Default Web Storage System Namespaces. Custom Properties. Namespace Guidelines. Custom Properties and MAPI. Property Names and the Exchange OLE DB Provider. Property Names and HTTP/WebDAV. Property Names and XML. Property Data Types. The Item Default Stream Property. Automatic Property Promotion from the Stream.2. Web Storage System Schema and Search Engine. Web Storage System Schema. Content Classes. Content Class Inheritance. Schema Definition Items. Content Class Definitions. Property Definitions. Schema Scope. Folder Expected Content Class. Application and Schema Folders. Web Storage System Search. The SELECT Statement. The SELECT * Statement. Search Scope. Property and Full-Text Indexing. Property Indexing. Full-Text Indexing. Customizing Full-Text Indexing. Web Storage System Search Folders. Search Folder Properties. Search Folder Items. HTTP/WebDAV Search Folder Creation Protocol Command. Example Search Folder HTTP Request and Response.3. Web Storage System Security. Item Access Rights. Folder Item Access Rights. Nonfolder Item Access Rights. Standard Access Rights. Web Storage System XML Security Descriptor Format. Security Identifiers in XML. XML Security Descriptor XML Elements. Discretionary Access Control Lists XML Elements. System Audit Control Lists XML Elements. Example Descriptor in XML. Accessing Item Descriptors. New Item Descriptor Inheritance. Exchange 5.5 Access Rights and the Web Storage System.4. Web Storage System Forms and Events. An Introduction to Web Storage System Forms. Web Storage System Form Registration. Web Storage System Forms Registry. Schema Collection Ref. Form Definition Properties. Form Registration Examples. HTTP/WebDAV Example. Testapp Example. Order of Precedence. Default Form Registration. Reusing Elements of Outlook Web Access. Working with Default Views. Controlling the Navigation Bar. URL Parameters. An Introduction to Web Storage System Events. Web Storage System Event Terms. Events Overview. Exchange Calls Event Methods. Multiple Events. Multiple Sinks. OLE DB and ADO. Events and Event Sink Interfaces. System Events. Synchronous Events. Synchronous Event Details. Asynchronous Events (Notifications). Asynchronous Event Details. System Events. Additional Event Sink Interfaces. Support Interfaces. Event Registration. The Event Registration Item. Registration Steps. Recursive Events. Registering for MDB-Wide Events. Event Notification Priority. The RegEvent Script. Remarks. Event Registration Guidelines. Event Registration Security. Event Registration Modification. Event Reliability. Working in an Event Sink. Loop Recursion. Information Passed to an Event Method. Contextual Information in an Event Registration. Security in an Event Sink. COM+ Applications. The Script Host Sink. Event Naming. Sink Monitoring. Event Logs. Performance Monitor Counters.5. Collaboration Data Objects. CDO Components. CDOEX Server. CDOW. CDOEXM. CDO and ADO. Differences between CDO and ADO. Synchronized Streams and Properties. Binding to Items in the Web Storage System. Updating Items in the Web Storage System. CDO and ADSI. The IDataSource Interface. Data Sources and Binding. The Configuration Object.6. Messaging. Internet Standard Message Formats. The RFC 822 Message Format. The UUENCODE Attachment Format. The MIME Message Format. MIME Message Body Parts. Content Body Parts. Multipart Body Parts. MIME Hierarchies of Body Parts. Messaging and the Exchange Web Storage System. Messaging Content Classes. Automatic Message Property Promotion. The Exchange Mail Submission URI. Messaging with CDO for Exchange 2000 Server. CDO Messaging COM Interfaces. CDO Messaging COM Classes. CDO BodyPart Object Hierarchies. Example 1: Alternative Representations of a Message. Example 2: Alternative with Attachments. Example 3: Alternative with MHTML Formatting. CDO BodyPart Fields and Streams. BodyPart Content Streams. BodyPart Streams. CDO Message Fields and Streams. Message Fields. Message Streams. Message Stream and Property Synchronization. CDO Messaging Configuration. Configuration Fields. CDO Messaging and ADO. When to Use CDO or ADO for Messaging.7. Calendaring and Contacts. Calendars in Exchange 2000 Server. Calendars on the Internet. The Calendar Object Model. Time Zones. Specifying the Time Zone. Making Time Zones Work with Outlook. Using Recurring Appointments with Time Zones. Time Zone to CdoTimeZoneId Map. Contacts. Working with the CDO Person Object.8. Workflow. Workflow Overview. Using Built-In Workflow Functionality. Modeling Business Processes. Developing Typical Workflow Applications. Creating Workflow Event Sinks and Tools. Developing Advanced Workflow Applications. Application Architecture. Workflow Components. Workflow Engine. Workflow Event Sink. Workflow Variations. Web-Based and Email Workflow Compared. Default and Ad Hoc Process Definitions. Workflow Process Definition. Defining the ActionTable. Setting Security and Audit Properties. Workflow Security Modes. Privilege Checking. Restricted Mode. Privileged Mode. Managing Workflow Deployment. Adding the Workflow System Account. Registering a Workflow Event Sink. Privileged Workflow Authors. Testing and Debugging Workflow Applications. Using an Audit Trail. Using Script Debugger.9. Server and Recipient Management. Overview. Typical Uses. DLLs and Installation. Web Storage System Configuration. Rules about Folder Trees and MDBs. Folder Tree Replication. Active Directory and CDOEXM. Building Active Directory Paths. Retrieving Folder Tree URLs. Web-Based Management. Exchange Management Security. Managing the Exchange Server. Setting Up a Store. Managing Mail Recipients. Recipient Management Interfaces. Recipients, Folders, and Groups. Accessing Mailboxes and Folders. Email Addresses Stored as Active Directory Paths. Error Checking with CDOEXM Objects.10. Constructing Web Storage System URLs. Constructing OLE DB URLs. The File: URL Scheme. The HTTP: URL Scheme. Constructing Web Storage System HTTP URLs. Using Relative URLs. Getting the Host Domain Name. Getting Well-Known Mailbox Folder URLs.11. Working with Folders and Items. Creating Folders. Creating Items. Getting Existing Items. Accessing Item Streams. Copying Items. Deleting Items. Deleting Items Using a Recordset. Moving Items. Working with Item Properties. Printing Item Property Names, Types, and Values. Working with Multivalued Properties. Setting and Retrieving Custom Properties. Getting a List of Folders. Using Transactions. Using the Interfaces in Context.12. Using the HTTP/WebDAV Protocol. Creating Items (HTTP/WebDAV). Creating Folders (HTTP/WebDAV). Getting an Item's Stream (HTTP/WebDAV). Deleting Items (HTTP/WebDAV). Copying Items (HTTP/WebDAV). Moving Items (HTTP/WebDAV). Getting Item Property Values (HTTP/WebDAV). Constructing XML with XMLDOM. Modifying Item Property Values (HTTP/WebDAV). Searching Folders (HTTP/WebDAV). Specifying Row Ranges in a Search. Rendering Search Results with XSL. Creating Search Folders.13. Search Tasks. Simple Query. Schema Scope. Specifying a Deep Traversal. Word and Character Matching. Specifying a Date Range. Getting Item Counts with GROUP BY. Enumerating Search Results.14. Using Schema. Creating Property Definitions. Creating Content Class Definitions. Specifying Expected Content Classes for Folders. Configuring a Folder's Schema Scope. Setting the Schema Collection Reference for a Folder. Setting the Base Schema Path for a Schema Folder. Testing Your Schema. Displaying Icons Based on Item Content Class. Using Folder Content Class.15. Security Tasks. Getting an Item's XML Security Descriptor. Creating Web Storage System Descriptors in XML. Creating an ACE in XML. Modifying an Item's DACL. Updating an Item's Security Descriptor.16. Using Web Storage System Forms. Registering a Web Storage System Form. Form Definition Properties. Syntax. Registering a Web Storage System Form Using PROPPATCH. Using ADO to Set the SCR and Default Document Properties. Binding Messages to Custom Forms. Reusing Outlook Web Access Components in a Web Page. Loading an Outlook Web Access View in an IFrame. Loading an Outlook Web Access View in a Frame.17. Using Store Events. Implementing Synchronous Event Sinks. Implementing an OnSyncSave Event Sink. Implementing an OnSyncDelete Event Sink. Implementing Asynchronous Event Sinks. Implementing an OnSave Event Sink. Implementing an OnDelete Event Sink. Implementing System Event Sinks. Implementing an OnMdbStartup Event Sink. Implementing an OnMdbShutdown Event Sink. Implementing an OnTimer Event Sink. Managing Event Registrations. Adding an Event Registration for a Folder. Removing an Event Registration for a Folder. Enumerating Event Registrations for a Folder. Managing Event Registrations with RegEvent.vbs. Registering for an Asynchronous Event. Registering for an OnSyncSave Event. Registering for a System Event. Registering for an OnTimer Event. Deleting Event Registrations. Enumerating Event Registrations.18. Messaging. Creating a Message. Configuring the Message Object. Setting Language and Time-Zone Information. Setting the Send and Post Methods. Sending or Posting Using the Network. Sending or Posting Using the Pickup Directory. Sending or Posting Using Exchange. Configuring Network Authentication Information. Setting Network Proxy Information. Using Default Configuration Settings. Addressing the Message. Setting Subject and TextBody Fields. Setting Message Header Fields. Adding Attachments. Manually Adding Attachments. Creating MIME-Formatted Messages. Adding BodyPart Objects to the MIME Hierarchy. Setting Header Fields on Body Parts. Creating MHTML-Formatted Messages. Specifying the Header Fields Character Set. Sending and Posting Messages. Sending Using Exchange. Posting Using Exchange. Replying to Messages. Forwarding Messages. Extracting Embedded Messages. Embedding a Message. Loading Messages from within ADO Stream Objects. Saving Messages into ADO Stream Objects. Listing Inbox Contents Using ADO.19. Calendaring and Contacts. Creating Appointments and Meeting Requests. Adding an Appointment to the Calendar. Sending a Meeting Request. Addressing a Calendar Message. Checking Free/Busy Status. Publishing an Appointment. Creating Recurring Appointments and Meetings. Specifying Exceptions to Recurring Appointments and Meetings. Using Calendar Folder Query. Adding Attachments to Appointments and Meetings. Processing a Calendar Message. Responding to a Meeting Request. Processing Meeting Responses. Processing Meeting Cancellations. Processing Recurring Meeting Exceptions. Updating Appointments and Meetings. Getting Appointments and Meetings from Folders in Exchange. Sending Meeting Updates. Canceling Appointments and Meetings. Canceling an Appointment. Canceling a Meeting. Canceling Recurring Appointments and Meetings. Declining a Previously Accepted Meeting. Inviting Additional Attendees. Inviting Attendees to a Meeting in the Calendar Folder. Forwarding a Meeting Request. Configuring the Appointment Object. Using Contacts. Creating Contacts. Creating a Contact in the Web Storage System. Creating a Contact in Active Directory. Searching for Contacts. Getting a Contact's VCard Stream.20. Managing Workflow. Using the WorkflowSession Object. Managing Run-Time Errors. Caching Custom Properties. Accessing Active Directory Properties. Using WorkflowSession Item Security. ItemAuthors. ItemReaders. Using Audit Trail. Deleting Workflow Items. Working with ReceivedMessage. Accessing and Modifying a ProcessInstance. Advanced Developer Tasks. Creating Action Table Columns. Adding Action Table Rows. Specifying the Common Script File. Creating the ProcessDefinition. Registering a Workflow Event Sink in a Folder.21. Server and Recipient Management. Server Management Tasks. Enumerating Storage Groups and Stores. Retrieving Folder Tree URLs. Creating a Folder Tree. Deleting a Folder Tree. Creating a Storage Group. Deleting a Storage Group. Creating a Public Store. Deleting a Public Store. Creating a Mailbox Store. Deleting a Mailbox Store. Checking for CDOEXM Errors. Recipient Management Tasks. Creating a Mail-Enabled Recipient. Creating a Mailbox-Enabled Recipient. Creating a Recipient Using ADSI. Disabling a Mail Recipient. Creating a Contact. Moving a Mailbox. Deleting a Mailbox. Setting Mailbox Storage Limits. Controlling Mailbox Cleanup. Enumerating Recipients. Enumerating Groups. Enumerating Contacts. Setting Proxy Addresses. Building a Restricted Address List. Enabling a Folder for Mail.Appendix: MIME, SMTP, and RFCs. MIME Encapsulation of Aggregate HTML Documents (MHTML). Key Concepts of MHTML. CDO Support for MHTML. MIME Extensions to Internet Mail. MIME Headers. Content-Type. Content-Type: application. Content-Type: audio. Content-Type: image. Content-Type: message. Content-Type: multipart. Content-Type: text. Content-Type: video. Content-Transfer-Encoding. Content-Transfer-Encoding: 7bit. Content-Transfer-Encoding: 8bit. Content-Transfer-Encoding: base64. Content-Transfer-Encoding: binary. Content-Transfer-Encoding: quoted-printable. Content-Transfer-Encoding: X-token. Content-Disposition. Content-Disposition: attachment. Content-Disposition: inline. Internet Mail RFCs. Internet Messages and SMTP. About Simple Internet (RFC 822) Messages. Simple Internet Mail Message: An Example. About SMTP. Summary of RFC 822. RFC 822: Introduction. RFC 822: Notational Conventions. RFC 822: Lexical Analysis of Messages. RFC 822: Message Specification. RFC 822: Date and Time Specification. RFC 822: Address Specification. RFC 822: Appendixes. SMTP/NNTP Transport Event Sinks with CDO. MIME Capabilities.
About Paul Ammann
PAUL T. AMMANN has more than 14 years of across-the-board experience in enterprise Windows, Novell, and UNIX environments. In his career, he has been contracted to configure and troubleshoot Cisco routers, conduct network performance analyses, and solve networking infrastructure problems, from the desktop to the enterprise. His previous books include IP Solutions for Windows 2000 (Prentice Hall PTR).