Previous Contents Index Next |
iPlanet Calendar Server 5.0 Programmer's Reference |
Chapter 9 Web Calendar Access Protocol (WCAP) Overview
This chapter describes the Web Calendar Access Protocol (WCAP) 2.0, which is a high level command-based protocol that clients use to communicate with iPlanet Calendar Server 5.0. This chapter has the following sections:
Introduction
Introduction
The default Client UI protocol for iPlanet Calendar Server 5.0 is now SHTML (see the "iPlanet Calendar Express Customization Guide" for a detailed description of the new protocol). However, you may choose to use WCAP for compatibility with your previously customized Calendar Express clients. WCAP continues to support the iPlanet Calendar Server 2.0 protocol.WCAP is a command based system consisting of client requests and server responses for transmitting calendaring data. WCAP 2.0 returns calendaring data via HTTP. In most cases, iPlanet Calendar Server 5.0 receives data through URL-encoded arguments.
WCAP 2.0 returns output in an HTTP message. The returned content body of the HTTP messages can consist of calendar data in the following formats:
text/calendar format (iCalendar).
WCAP 2.0 commands consist of four general categories of usage:
text/js with embedded JavaScript objects.
- This XML format follows the iCalendar DTD.
- This was the default for the iPlanet Calendar Server 2.0 user interface. It has been deprecated for iPlanet Calendar Server 5.0 in favor of the .shtml approach.
What's New in This Version
The following four commands are new to this version:
check_id
Four new parameters were added to existing commands:
fetchcomponents_by_alarmrange
- Allows administrators to check if session is still valid.
fetchcomponents_by_attendee_error
- Queries for components that have alarms to trigger over a specific time period.
get_freebusy
- Queries for components that had errors while sending group scheduling messages.
- Returns calendar freebusy time.
acl
One command has changed fundamentally in the way it works:
alarmAudio
- Added to set_calprops to record ACE strings for access control. For more information on access control entries, see Chapter 10 "WCAP Commands.
alarmFlashing
- Added to storeevents and storetodos to enable audio reminders.
alarmPopup
- Added to storeevents and storetodos to enable flashing reminders.
compstate
- Added to storeevents and storetodos to enable popup dialog reminders.
convertCalid
- For all fetch commands, compstate allows you to fetch by component state. userid
- For get_userprefs and set_userprefs, administrators can retrieve and set any user's preferences.
method
- In set_userprefs, to allow setting the subscribed list of calendars (icsSubscribed), and the subscribed list of groups (icsSet).
- For group scheduling, the storeevents and storetodos commands contain an additional parameter, method, which specifies the ITIP method.
set_calprops now works in update mode, rather than replace mode as in iPlanet Calendar Server 2.x. This means that you no longer have to specify every parameter in the command. You need only specify the parameters you wish to change. All other properties will remain unchanged by your update.
The existing parameter tzid has been added to the following existing commands:
deleteevents_by_id
Existing parameter tzid has changed in two existing commands:See also New in iPlanet Calendar Server 5.0 in Chapter 10 "WCAP Commands".
Command Overview
Table 9-1 describes the high level list of commands supported in WCAP 2.0. For a detailed description of each command, see Chapter 10 "WCAP Commands".
Session Identifiers
For many WCAP commands, you must specify the session identifier (id) that is returned by the login command. The session identifier ensures that data is accessible only to authenticated users with the required level of privilege or ownership.When logging into the system, a user provides authentication of identity. The default authentication mechanism uses plain-text passwords and user names. iPlanet Calendar Server generates the session identifier only when authentication is successful. The identifier then serves as proof of authentication in subsequent calendaring operations.
You can customize the authentication mechanism to use a local or external authentication scheme. See Chapter 3 "CSAPI Reference", for the section csIAuthentication.
Command Formats
The plug-in architecture of iPlanet Calendar Server allows it to support multiple command formats. Both client and server can use a variety of data formats to meet various ISP needs.The command protocol uses HTTP, and follows the standards defined by the WC3 URL specifications.
WCAP in iPlanet Calendar Server consists of JavaScript objects formatted as XML or iCalendar, communicated as HTML documents over HTTP on both the client and server side. The client supports version Internet Explorer 4.0 and above, and Navigator 4.05 and above.
Client Request Formats
Clients submit command requests to the iPlanet Calendar Server in either Universal Resource Identifier (URI) data format, or with an HTML form.
URI Format
Use the following format to submit a URI request:http://webcalenderserver/COMMAND?PARAM=VAL&PARAM=VAL...
Multiple items are delimited by semicolons. If a string contains a semicolon character, replace the semicolon with its quoted-printable equivalent, %3B. For example, to represent the string "gh;i" in a list of IDs, use the following:
http://webcalendarserver/fetchcomponents_by_range.wcap?uid=abc;def; gh%3bi;jkl
Note This is a change from WCAP 1.0 used in iPlanet Calendar Server 2.0. Previously, the quoted-printable equivalent for a semicolon was =3B.
See also Encoded Characters, in Chapter 10 "WCAP Commands".
HTML Form
Submit a form with method=[GET|POST] and action=command (where command is the command to execute). Parameters need to be formatted as specified in the encoding.
Client Side Event Notification
All client side JavaScript code in the parent frame of the response page is required to implement a method called CalcommandCallback(), where command is the name of the command requested. This callback will be invoked when the HTML response is completed loading.The above commands when used with HTTP GET are simply for data retrieval.
The above commands when used with HTTP POST are for data modifications (including creation/deletion).
Server Response Formats
iPlanet Calendar Server responds to client requests by serving HTML containing JavaScript objects.You can configure a response format preference for a server, a user, or an individual request.The client may request output in one of three different formats:
Previous Contents Index Next
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated February 20, 2001