Office Communications Server 2007 provides the infrastructure to enable client applications to publish and subscribe to extended, or enhanced, presence information. The enhanced presence infrastructure includes categories and containers. Categories are individual pieces of presence information, such as status, location, or calendar state. Containers are logical buckets into which clients publish instances of various categories of presence information (as shown in the following figure). When change occurs, clients can publish an individual category instead of an entire presence document.
For example, if a fictitious user Tim is watching the presence of Joe, Joe can control what presence information Tim can see. If he places Tim in his Public container, Tim can only see Joe's name, e-mail, and basic contact information. If Joe places Tim in his Personal container, Tim can see additional categories such as detailed contact information, additional numbers, and location.
Office Communications Server 2007 notifies watchers of presence changes, depending on the containers for which each watcher has permission. For example, as a sales representative moves from one part of town to another, his supervisor and wife might be notified of his movements, while individuals without the necessary permission for that container are not. Office Communications Server 2007 supports this functionality through the use of rich ACLs (Access Control Lists) that are based on containers and categories.
The principal client exposing enhanced presence information is Office Communicator 2007, in which users can assign their contacts to one of several presence levels, depending on how much information about themselves they want each contact to see. By design, each presence level corresponds to a container and is associated with a particular amount of information about a user. Contacts assigned to one level might see only the user's name, job title, company, and e-mail address, while contacts who are assigned to another might, for example, see the user's home and mobile phone numbers.
Administrators can also define custom states for a user or group and Office Communicator retrieves these custom states with custom activities from a Web site. For example, an administrator might want to provide a way for a recruiter in recruiting department to remain uninterrupted while interviewing. In this case, the administrator can create a custom state that consists of the Do Not Disturb icon and associate it with a string “interviewing” to define this activity.
Additional customizations enable developers to create custom clients for publishing and subscribing to other publications from different clients.