Programming MicrosoftВ® OutlookВ® and Microsoft Exchange 2003, Third Edition (Pro-Developer)
The mainstay of Exchange Server's collaborative technologies is public folders , which are repositories for all kinds of information that users share. They can be accessed by many types of clients , using various protocols. Public folders can contain custom forms for contributing or reviewing information in the folder, and users can create their own views for organizing and filtering the information in the folder. Public folders and private mailboxes are built on the Exchange Server object database. They take advantage of its architecture and enjoy the benefits of a flexible database schema and server-to-server, server-to-client, and filtered replication. The main features of public folders for developers are described in the following sections.
Folder and Application Accessibility
Public folders in Outlook are arranged in a hierarchical tree view, as shown in the Folder List pane in Figure 2-12. This arrangement makes it easy for users to scroll and find information. This hierarchy is actually a virtual view of public folder replicas in the Exchange Server system; users don't have to know which server a public folder is actually on.
Exchange Server can assign costs to different sites so users connecting to a public folder with no local replica are directed to a replica in the remote site using the least costly route. The assignment of costs to remote connections for public folders is called public folder affinity . Figure 2-13 shows the administrative interface for routing groups, which provide public folder affinity. If you set up routing groups, users of your application will access one replica of the Public Folder database over another depending on their location on the network.
Public folders are not limited to holding data for an application; they can also hold custom forms associated with the application. Users can select the associated form directly in the public folder rather than having to search for the form in a global forms list.
Security and Content Control
Security control is built into each public folder. Three levels of permissions are possible for public folders:
-
Global The default permissions for everyone in the organization and for anonymous users
-
Group Permissions for a specific list of users
-
Per- user Individual permissions for a particular folder
All of these permission levels can be combined for a particular folder or set of users. Assigning permissions is straightforward, as shown in Figure 2-14. Notice that the Permissions tab supports built-in roles for users; you can use these to quickly set permissions for a folder.
In addition to roles-based permissions, public folders have built-in moderation capabilities. A moderated public folder allows you to control what content is posted to a folder and who has permission to approve this content. Before any item is posted to a folder, the item is mailed to the selected moderators, who approve or reject the content. You can quickly set up a moderated public folder in the folder properties.
Public folders support the e-mailing of items to a public folder, which makes information available to many users, cuts down on e-mail traffic, and saves disk space. Public folders can be exposed in the Active Directory as recipients just like regular mail users. Mailing-list server applications and distribution list applications can really take advantage of public folders. By default, the e-mail address of the public folder is hidden from the address book, but the public folder can be exposed in the address book so that users can browse for its e-mail address.
Internet Standards Support
By using Exchange Server public folders as a central location for information, organizations can expose information to any standard Internet client that supports Network News Transfer Protocol (NNTP), Internet Mail Access Protocol version 4 (IMAP4), or HTTP. Internet clients that support these protocols can post and read information securely from a public folder. More important, these protocols allow users who do not have Outlook on their machines to use the functionality of an Exchange Server public folder. For example, an organization can implement a public folder for customer service that internal users can view with Outlook and external users can view by choosing from several clients, including Outlook, an NNTP newsreader such as Outlook Express, a standard Web browser, or even an IMAP4 client such as Netscape Communicator. Let's look more closely at the Internet protocols supported in Exchange Server.
Network News Transfer Protocol
NNTP is an Internet standard that defines server-to-server replication of data in the form of articles. These articles exist in a hierarchy of newsgroups, which are similar to discussion folders in Exchange Server. Users can replicate the articles off line, and the articles are presented in a threaded view so users can view their history. Exchange Server supports both NNTP server-to-server replication and the ability of any standard NNTP client to read information in Exchange Server public folders. Any public folder in Exchange Server can therefore be replicated to another NNTP server or be read by an NNTP client. Organizations can use this feature to expose public folders and their information to their customers. Figure 2-15 shows an example of a newsreader using NNTP to access an Exchange Server public folder.
Internet Mail Access Protocol Version 4
IMAP4 is an Internet standard that defines a way for clients to access messaging information on a server. Exchange Server is an IMAP4-compliant messaging server, so any standard IMAP4 client can access the messaging services of Exchange Server. Some of these services include sending and receiving e-mail, synchronizing e-mail to offline storage, and accessing public folders. Accessing public folders with IMAP4 extends the power of public folders to any standard IMAP4 client.
Hypertext Transfer Protocol
HTTP is the primary protocol used to distribute information on the Web ”that is, to transmit graphics and documents from a Web server to a Web browser. HTTP is a client-to-server protocol, which means that a client running on the user's machine sends a request for data to a server, and the server receives the request and sends the relevant information back to the client. HTTP servers can do more than just send back simple data. Scripts that access other back-end services on the network can run on the HTTP server. These services can be databases, collaboration servers such as Exchange Server, or custom-built applications.
After Exchange 5.5, the Outlook Web Access (OWA) architecture changed significantly. Instead of leveraging ASP, Exchange 2000 and 2003 use compiled code in an ISAPI DLL and some helper files to display OWA. This change removes some of the ways in which OWA can be customized, but it increases its scalability. For this reason, if you want to customize OWA, you should learn how OWA uses URLs. Also, you should learn how to use Windows SharePoint Services (WSS) Forms because you can replace any OWA standard form with a WSS Form. All these topics are discussed in Chapter 20. For accessing your Exchange Server, OWA uses WebDAV and CDO with Internet Explorer 5.0 and later and uses standard HTML for the clients that don't support DHTML and XML, such as Internet Explorer 4.0 and Netscape Navigator.