前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server プログラマリファレンス



第 9 章   Web カレンダーアクセスプロトコル (WCAP) の概要


この章では、Web カレンダーアクセスプロトコル (WCAP) 2.0 について説明します。WCAP は、クライアントが iPlanet Calendar Server 5.0 との通信に使用する高度なコマンドベースのプロトコルです。この章は、以下の節で構成されています。



はじめに

iPlanet Calendar Server 5.0 では、デフォルトのクライアント UI プロトコルに SHTML が採用されています (新しいプロトコルの詳細は、『iPlanet Calendar Express カスタマイズガイド』を参照)。ただし、以前にカスタマイズした Calendar Express クライアントとの互換性のために WCAP を使用することもできます。WCAP は、引き続き iPlanet Calendar Server 2.0 プロトコルをサポートします。

WCAP はコマンドベースのシステムで、カレンダー操作データを転送するクライアントの要求とサーバの応答で構成されます。WCAP 2.0 では、HTTP 経由でカレンダー操作データが返されます。ほとんどの場合、iPlanet Calendar Server 5.0 は URL 符号化 (URL の中にエンコードされた) 引数を使ってデータを受け取ります。

WCAP 2.0 では、HTTP メッセージの中に出力を含めて返します。返される HTTP メッセージの本文には、次の形式のカレンダーデータが含まれます。

  • text/calendar 形式 (iCalendar)

  • text/xml 形式

    この XML 形式は iCalendar DTD に従います。

  • JavaScript オブジェクトが埋め込まれた text/js

    この形式は、iPlanet Calendar Server 2.0 ユーザインタフェースのデフォルトでした。.shtml アプローチの採用のため、iPlanet Calendar Server 5.0 ではこの形式は廃止されています。

WCAP 2.0 コマンドは、次の 4 つのカテゴリに分類されます。

  • ユーザ設定情報

  • Web カレンダー操作データ

  • グループスケジューリングに関するメッセージ送信

  • その他のコマンド



このバージョンの新機能

このバージョンには、次の 4 つのコマンドが追加されています。

  • check_id

    管理者はこのコマンドを使用して、セッションがまだ有効かどうかを確認できます。

  • fetchcomponents_by_alarmrange

    指定した期間内にアラームが配信されるコンポーネントを照会します。

  • fetchcomponents_by_attendee_error

    グループスケジューリングメッセージの送信中にエラーが発生したコンポーネントを照会します。

  • get_freebusy

    カレンダーの予定なし/予定あり時間帯の情報を返します。

既存のコマンドに次の 4 つのパラメータが追加されています。

  • acl

    set_calprops に追加されたパラメータ。アクセスコントロールの ACE 文字列を登録します。アクセスコントロールエントリの詳細は、第 10 章「WCAP コマンド」を参照してください。

  • alarmAudio

    storeevents および storetodos に追加されたパラメータ。オーディオアラームを使用可能にします。

  • alarmFlashing

    storeevents および storetodos に追加されたパラメータ。フラッシュアラームを有効にします。

  • alarmPopup

    storeevents および storetodos に追加されたパラメータ。ポップアップダイアログアラームを有効にします。

  • compstate

    すべての fetch コマンドで、compstate を使用して、コンポーネントを状態別に取得できます。

  • userid

    get_userprefs および set_userprefs に追加されたパラメータ。管理者はこのパラメータを使用して、任意のユーザのプリファレンスを検索および設定できます。

  • convertCalid

    set_userprefs で、カレンダーの予約購読リスト (icsSubscribed)、およびグループの予約購読リスト (icsSet) の設定を可能にします。

  • method

    グループスケジューリングのために、storeevents および storetodos コマンドに追加されたパラメータ。ITIP メソッドを指定します。

次のコマンドは、機能が根本的に変更されています。

  • set_calprops は、iPlanet Calendar Server 2.x では置換モードで機能しましたが、新しいバージョンでは、更新モードで機能します。つまり、コマンドですべてのパラメータを指定する必要はなくなりました。変更対象のパラメータだけを指定します。その他のパラメータは、更新するまで変更されません。

既存のパラメータ tzid は、次の既存のコマンドに追加されています。

  • deleteevents_by_id

  • deletetodos_by_id

  • fetchcomponents_by_alarmrange

  • fetchcomponents_by_lastmod

  • fetchcomponents_by_range

  • fetchevents_by_id

  • fetchtodos_by_id

既存のパラメータ tzid は、次の 2 つの既存のコマンドで変更されています。

  • storeevents

  • storetodos

第 10 章「WCAP コマンド」「iPlanet Calendar Server 5.0 の新しいコマンドおよびパラメータ」も参照してください。



コマンドの概要



表 9-1 に、WCAP 2.0 でサポートされているコマンドの概要のリストを示します。各コマンドの詳細は、第 10 章「WCAP コマンド」を参照してください。


表 9-1 WCAP コマンドの概要 

WCAP コマンド

説明

addlink  

あるカレンダーから別のカレンダーへのイベントリンクを追加する  

change_password  

ユーザのパスワードを変更する  

createcalendar  

新しいカレンダーを作成する  

deletecalendar  

既存のカレンダーを削除する  

deletecomponents_by_range  

指定した期間のカレンダー内のイベントおよび仕事を削除する  

deleteevents_by_id  

指定した calid および指定した uid と繰り返し ID のペアのイベントを削除する  

deleteevents_by_range  

指定した期間のカレンダー内のイベントを削除する  

deletetodos_by_id  

指定した calid および指定した uid と繰り返し ID のペアの仕事を削除する  

deletetodos_by_range  

指定した期間のカレンダー内の仕事を削除する  

export  

カレンダーをファイルにエクスポートする  

fetchcomponents_by_alarmrange  

指定した期間内にアラームが配信されるコンポーネントを照会する  

fetchcomponents_by_attendee_error  

グループスケジューリングメッセージの送信中にエラーが発生したコンポーネントを照会する  

fetchcomponents_by_lastmod  

変更されたコンポーネントを照会する (時間範囲を指定)。  

fetchcomponents_by_range  

指定した期間内のコンポーネントを照会する (属性によりフィルタ)。  

fetchevents_by_id  

一意の識別子 (uid、繰り返し ID、修飾子) を使用して、1 つまたは複数のイベントを照会する  

fetchtodos_by_id  

一意の識別子 (uid、繰り返し ID、修飾子) を使用して、1 つまたは複数の仕事を照会する  

get_all_timezones  

サーバがサポートしているすべてのタイムゾーンを返す  

get_calprops  

カレンダープロパティを返す  

get_freebusy  

カレンダーの予定なし/予定あり時間帯の情報を返す  

get_guids  

ランダムな uid のセットを返す  

get_userprefs  

ユーザ設定および特定のサーバ設定を返す  

import  

ファイルからユーザのカレンダーにカレンダーをインポートする  

login  

ユーザを認証して、最初の HTML ビューにリダイレクトする  

logout  

現在のユーザのセッションを終了してログイン画面に戻る  

ping  

管理者専用。カレンダーサーバの ping  

search_calprops  

指定したパラメータ値でカレンダーを検索する  

set_calprops  

カレンダープロパティを設定する  

set_userprefs  

ユーザ設定を設定する  

storeevents  

アプリケーションまたは URL 符号化方式で指定されたイベントを保存する。このコマンドは、URL 内のプロパティを渡してイベントを保存します  

storetodos  

アプリケーション/URL 符号化方式で指定されている仕事を保存する  

upload_file  

ファイルをサーバにアップロードする  

version  

サーバでサポートされている WCAP バージョンを返す  

write_file  

ファイルをデータベースに書き込む  


セッション ID

多くの WCAP コマンドでは、login コマンドによって返されるセッション ID (id) を指定する必要があります。セッション ID を使うことによって、必要なレベルの権限または所有権を持つ、認証されたユーザだけがデータにアクセスできるようにします。

システムにログインする場合、ユーザは認証に使う識別情報を提示します。デフォルトの認証メカニズムでは、プレーンテキストのパスワードとユーザ名が使用されます。iPlanet Calendar Server は、認証に成功した場合だけセッション ID を生成します。セッション ID は、以後のカレンダー操作で認証の証明の役割を果たします。

認証メカニズムをカスタマイズして、ローカルまたは外部の認証方式を使用することができます。第 3 章「CSAPI リファレンス」「csIAuthentication」を参照してください。



コマンドの形式



プラグインアーキテクチャにより、iPlanet Calendar Server は複数のコマンド形式をサポートできます。クライアントとサーバの両方でさまざまなデータ形式を使用して、さまざまな ISP のニーズを満たすことができます。

コマンドプロトコルは HTTP を使用し、W3C URL 仕様で定義されている規格に準拠しています。

iPlanet Calendar Server の WCAP は、XML または iCalendar 形式の JavaScript オブジェクトで構成され、クライアントサイドとサーバサイドの両方で HTTP を通じて HTML ドキュメントとして送信されます。クライアントとしては、Internet Explorer 4.0 以上および Navigator 4.05 以上をサポートしています。


クライアントの要求形式

クライアントは、コマンド要求を URI (Universal Resource Identifier) データ形式で、または HTML フォームを使って iPlanet Calendar Server に送信します。

コマンドの形式

説明

URI

標準 URI 構文を使ってクライアントから送信される要求

HTML フォーム -
urlencoded

ネイティブ JavaScript オブジェクトを使ってクライアントから送信される要求

HTML フォーム -
text/xml

XML 形式にフォーマットした JavaScript オブジェクトを使ってクライアントから送信される要求

HTML フォーム -
text/calendar

iCalendar 形式にフォーマットした JavaScript オブジェクトを使ってクライアントから送信される要求


URI 形式

次の形式を使用して、URI 要求を送信します。

http://webcalenderserver/COMMAND?PARAM=VAL&PARAM=VAL...

複数のアイテムは、セミコロンで区切ります。文字列にセミコロン文字が含まれている場合、セミコロンは符号化文字 %3B に置き換えられます。たとえば、ID のリストの中の文字列「gh;i」を表すには、次の形式を使用します。

http://webcalendarserver/fetchcomponents_by_range.wcap?uid=abc;def; gh%3bi;jkl



  これは、iPlanet Calendar Server 2.0 で使用されていた WCAP 1.0 から変更されています。以前のバージョンでは、セミコロンの符号化文字は、=3B でした。



第 10 章「WCAP コマンド」「符号化文字」も参照してください。


HTML フォーム

method=[GET|POST] および action=command の形式でフォームを送信します (command は、実行するコマンド)。パラメータには、符号化された形式を使用する必要があります。


クライアント側のイベント通知

応答ページの親フレームのクライアント側の JavaScript コードはすべて、
CalcommandCallback() というメソッドを実装する必要があります (command は、要求するコマンドの名前)。このコールバックは、HTML 応答の読み込みが完了すると呼び出されます。

このコマンドでデータを取得する場合は、HTTP GET を追加指定します。

このコマンドでデータを変更する (作成と削除を含む)には、HTTP POST を追加指定します。


サーバの応答形式

iPlanet Calendar Server は、クライアントの要求に対して、JavaScript オブジェクトを含む HTML で応答します。サーバ、ユーザ、または個々の要求のそれぞれに対して応答形式を設定することができます。

クライアントは、要求する出力の形式を次の 3 つの中から選択できます。

応答形式

説明

JavaScript オブジェクトを含む HTML - text/js

HTML に JavaScript オブジェクトが含まれた応答。これは、すべての WCAP コマンドに対するデフォルトの出力形式です

JavaScript オブジェクトを含む HTML - text/calendar

HTML に iCalendar 形式の JavaScript オブジェクトが含まれた応答

JavaScript オブジェクトを含む HTML - text/xml

HTML に XML 形式の JavaScript オブジェクトが含まれた応答


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated June 04, 2001