CommuniGate Pro
Version 5.1
アプリケーション
 
 
 
WebApp

Web Application モジュール

CommuniGate Pro のWeb Application モジュールは、CommuniGate Pro のオブジェクト(アカウント、 メッセージ、メーリングリスト、Web ファイルなど) へのアクセスに関するモジュールです。このモ ジュールを介して、Web (HTTP/HTML) ブラウザ上で各オブジェクトにアクセスが可能です。

処理では、まず、HTTP クライアントブラウザから要求がWebUser ポートを介してHTTP モジュール で受信され、その要求がWeb Application モジュールに渡されます。続いて、Web Application モジュー ルによって、要求されたファイルが取り出されます。または、Web Application モジュールの内部Web アプリケーションコードが起動し、取り出されたファイルがHTML フォーマットに変換されます。こ の後、取り出されたファイルまたは変換後のファイルがHTTP モジュールを介してHTTP クライアン トブラウザに戻されます。

CommuniGate Pro サーバーのWebUser インターフェイスをカスタマイズする場合、このセクション の説明をよくお読みください。

ステートレス処理とセッションベース処理

通常のHTTP サーバーの処理は、ステートレスです。具体的には、ユーザーのブラウザから要求が複 数回にわたって送信されたときでも、HTTP サーバー上では、そのブラウザに関する情報(状態) は 記憶されません。つまり、要求はそれぞれ、別個に処理されます。

一方、Web アプリケーションサーバー(Web Application モジュール) の場合、ユーザーは「ログイン」 し、CommuniGate Pro のアカウントとパスワードを入力します。ログインに成功すると、セッション が開始されます。セッションでは、ユーザーの操作や要求に関する情報が保持され、したがって、そ のセッションで発生したセッションデータは、その後のHTTP 要求すべてで使用可能です。セッショ ン要求はいずれも、次のURL を使って送信されます。

http://hostname:serverport/Session/sessionID/sessionRequest
上で、sessionID はセッション識別文字列、sessionRequest は取り出し対象のファイルの名前、または、 起動対象のアプリケーションコンポーネントの名前です。

Web Application モジュールのセッションは、タイムアウトカウンタを使って制御されます。タイム アウト内(設定可能) にセッションに対してHTTP 要求が送信されなかった場合、そのセッション は閉じられます。また、ユーザーは、特殊ページ(Bye ページ) 要求を送信することでセッションを 閉じることができます。


スキン

CommuniGate Pro のWebUser インターフェイスは、複数のスキンに対応しています。スキンはいずれ も複数のファイルのセットで、こうしたファイル(スキンファイル) によって情報の表示方式が決ま ります。スキンファイルとしては、次のようなものがあります。

CommuniGate Pro ソフトウェアには、名前なしストックスキンが1 つ付属しています。このスキンに より、簡素でシンプルなHTML/WML インターフェイスが提供されます。そのほか、名前付きストッ クスキンが複数付属しており、こういったスキンで実装されるインターフェイスは、名前なしストッ クスキンに比べて高度で洗練されています。ストックスキンはいずれも、CommuniGate Pro のアプリ ケーションディレクトリに格納されています。つまり、CommuniGate Pro ソフトウェアパッケージの 一部であり、したがって、サーバー管理者が内容を修正する必要はありませんし、また修正しないよ うにします。

スキンとしては、上記の付属のスキンのほか、名前なし/ 名前付き「カスタム」スキンも使用できます。カスタムスキンは、サーバーワイドスキン、または、ドメインワイドスキンとして作成できます。 サーバーワイドのカスタムスキンは、全ユーザーが利用できます。一方、ドメインワイドのカスタム スキンは、そのスキンの作成元のドメインのユーザーが使用できます。

ユーザーがWebUser インターフェイスサービス(HTTP ユーザーポート) に接続すると、URL (ステー トレスHTTP 要求)に指定されているホスト名を使ってCommuniGate Pro のドメインが検索されます。 そのドメインが見つかったときには、そのドメインのデフォルトアカウントWebUser プレファレンス が取り出され、このプレファレンスに指定されているSkinName 設定(レイアウト) と言語設定が使 用されます。

SkinName 設定の内容はスキンの名前で、ここで指定されているスキンが使われます(SkinName 設定 の内容が空だったときには、名前なしスキンが使われます)。

SkinName 設定で指定されているスキンがドメインのスキンセットの中になかった場合、サーバーワイ ドのスキンセットがチェックされます。このスキンセットにも、SkinName 設定で指定されているスキ ンがなかったときには、その名前のストックスキン(付属の名前付きストックスキン) が使用されま す。その名前のストックスキンがなかった場合、名前なしストックスキンが使われます。

ドメインにはそれぞれ、複数のスキン( ドメインのスキンセット) を作成できます。そのため、要求 で指定されているスキンが同じであっても、ドメインが異なれば、形式が異なるページが表示される こともあります。また、デフォルトWebUser プレファレンスでは、ドメインごとにスキンを指定する ことができます。つまり、同一のデフォルトWebUser プレファレンスで、異なるドメインにそれぞれ 同じ名前のスキンを置き、そのスキンの内容(形式) を別個にするといったことも可能です。

WebUser インターフェイスのステートレス要求URL を使って、アクセス先のドメインの任意のスキン を指定することもできます。指定する場合、Skin 要求パラメータに、そのスキンの名前を指定しま す。

また、デフォルトアカウントWebUser プレファレンスから取り出された言語設定には言語の名前が格 納されており、この名前の言語を使ってステートレスページが表示されます。スキンと同じく、ステー トレス要求URL で言語を指定することもできます。指定する場合、Language 要求パラメータに、そ の言語の名前を指定します。

一方、セッションベースのHTTP 要求(Web Application モジュール) では、URL のホスト名は使用さ れません。代わりに、ユーザーがログインすると、指定されているCommuniGate Pro のアカウントに ついて新規のWeb Application セッションが作成され、その後、有効なアカウントWebUser プレファ レンスが取り出されます。このプレファレンスには、スキンの名前が格納されています(名前が空の 場合、名前なしスキンを表します)。このスキンが、そのアカウントのドメインのスキンセットから取 り出され、セッションで使用されます(WebUser インターフェイスの場合、ドメインはステートレス HTTP 要求のホスト名によって固定されていますが、Web Application モジュールでは、アカウントを指定できるため任意です)。
有効なアカウントWebUser プレファレンスに指定されているスキンが、そのアカウントのドメインに なかった場合、サーバーワイドスキンが使われます。

また、セッションベースのHTTP 要求(Web Application モジュール) では、言語としては、スキンと 同様、有効なアカウントWebUser プレファレンスに指定されている言語が使用されます。

WAP/WML スキン

Accept 要求ヘッダフィールドの内容は常時、HTTP モジュールによってチェックされます。このフィー ルドの内容がwml サブ文字列だった場合、HTTP モジュールは、その要求がWML ブラウザから送信 された要求であると認識します。

WML ブラウザから送られた要求はいずれも、WML スキンを使って処理されます。その場合、要求が ステートレス要求(通常のHTTP) だったときには、アクセス先のドメインのデフォルトWebUser プ レファレンスのWAP/WML Layout パラメータからWML スキンの名前が取り出され、そのWML スキ ンが使われます。一方、ユーザーがWML ブラウザを使ってログインしたときには、そのユーザーの アカウントWebUser プレファレンスのWAP/WML Layout パラメータからスキンの名前が取り出され、 そのスキンがセッションで使用されます。

スキンは、その名前がWML で始まっている場合、WML スキンと認識されます。WML スキンの名前 はいずれも、WAP/WML Layout パラメータ(利用可能なスキン) のリストに表示され、通常のスキン のLayout パラメータのリストには表示されません。

cHTML (I-Mode) スキン

User-Agent 要求ヘッダフィールドの内容は、常時、HTTP モジュールによってチェックされます。
このフィールドの内容がDoCoMo サブ文字列だった場合、HTTP モジュールは、その要求が日本語の I-Mode ブラウザから送信された要求であると認識します。
また、このフィールドの内容がportalmmm サブ文字列だった場合、HTTP モジュールは、その要求 が英語のI-Mode ブラウザから送信された要求であると認識します。

上記のI-Mode 要求はどちらも、特殊I-Mode スキンを使って処理されます。これは、WML 要求がWML スキンを使って処理されるのと同様です。この場合、I-Mode スキンは、特殊I-Mode/cHTML WebUser プレファレンスパラメータで指定されているスキンが使用されます。

キンの名前がIMode で始まっている場合、そのスキンはcHTML スキンと認識されます。cHTML スキンの名前はいずれも、I-Mode/cHTML Layout パラメータ(利用可能なスキン) のリストに表示さ れ、通常のスキンのLayout パラメータのリストには表示されません。

日本語のcHTML ブラウザでページが取り出される際、ページのキャラクタセットがShift-JIS に 設定され、その後のページもすべてShift-JIS を使って表示されます。
英語のcHTML ブラウザでページが取り出される際、ページのキャラクタセットがwindows-1252 に 設定され、その後のページもすべてwindows-1252 を使って表示されます。


スキンファイルの階層

WebUser インターフェイスの要求が処理される際、指定されているスキン(デフォルトアカウント WebUser プレファレンスなどで指定されているスキン)に対応するスキンファイルが取り出されます。 このファイルが見つからず、また、そのスキンがドメインのスキンだったときには、同じ名前のサー バーワイドスキンのスキンファイルが検索され、使用されます。サーバーワイドスキンのスキンファ イルが見つからず、また、そのスキンが名前付きスキンだったときには、名前なしのサーバーワイド スキンまたは名前なしのストックスキンが使われます。

ドメインにカスタムスキンが作成されておらず、また、サーバーワイドスキンもない場合、いずれの ドメインでもストックスキンが使用されます。このストックスキンとしては、デフォルトでは名前な しストックスキンが選択されています。
サーバー管理者は、サーバーワイドの名前なしスキンファイルをアップロードすることで、名前なし ストックスキンファイルを「非表示」にできます(サーバーワイドの名前なしスキンファイルが優先 されます)。したがって、このアップロードにより、すべてのドメインについて、アプリケーションの ルック&フィールを変えることができます。
同様に、サーバー管理者またはドメイン管理者は、ドメインワイドの名前なしスキンファイルをアッ プロードすることで、名前なしストックスキンファイルとサーバーワイドの名前なしスキンファイル を「非表示」にできます( ドメインワイドの名前なしスキンファイルが優先されます) 。このアップ ロードにより、ドメインごとに、アプリケーションのルック&フィールを変えることができます。

上記のように、スキンファイルの階層を変更(ファイルをアップロード) することで、サーバー管理 者またはドメイン管理者はスキンのデザインを変更したり、細部を修正したり、また、既存のスキン を再利用することができます。

ダイナミッククラスタ環境の場合、サーバーワイドスキンは2 種類あります。一つはローカル用のサー バーワイドスキンで、ローカルのサーバーのドメインに使用されます。もう一つはクラスタ用のサー バーワイドスキンで、クラスタの全共有ドメインに使用されます。この2 種類のサーバーワイドスキ ンの内容を変更すると、その変更はそれぞれ、ローカルのサーバーのドメインまたはクラスタの全メ ンバーで自動的に有効になります。


スキンの言語とテキストデータセット

スキンにはいずれも、テキストデータセット(strings.data テキストファイル) があります。この ファイルは「デフォルト言語」ファイルで、内部には辞書が格納されています。このファイルの辞書 の内容は、WSSP スクリプトページでコマンドを使って取り出すことができます。

スキンには、上記のデフォルト言語ファイルのほか、ローカライズテキストデータファイル (language.data ファイル、languageは言語の名前で、例えば、french.data、japanese.dataなど) を 使用することもできます。このファイル(非デフォルト言語) を選択した場合、このファイルに指定 されている言語のデータセットが使用されます。

要求されたデータが、指定されているテキストデータセットに存在しなかったときには、同じ言語の 親スキン(階層が上位のスキン、上記を参照) のテキストデータセットがチェックされます。親スキ ンのテキストデータセットにも、要求されたデータがなかった場合、デフォルト言語ファイル (strings.data) のテキストデータセットが使われます。

テキストデータセットファイルに非ASCII 文字列を格納したい場合、UTF-8 キャラクタセットを使用 します。Unicode とUTF-8 キャラクタセットについては、http://www.unicode.org に詳しい説明があり ます。


通常のファイル(WSSP ファイル以外) の処理

URL にファイル名が指定されており、その拡張子が.wssp 以外(つまり、通常のファイル) だった場 合、Web Application モジュールにより、そのスキンファイルが取り出され、内部スキンキャッシュに 格納されます。同時に、そのファイルがHTTP モジュール接続を介してクライアントブラウザに返却 されます。

URL に指定されているファイル名は、自動的に小文字に変換されます。

その後、同じファイルが要求された場合、内部スキンキャッシュから取り出されます。

一方、ファイルがセッションベースのURL で要求された場合、セッションタイムアウトカウンタがリ セットされます。この動作を利用し、クライアントブラウザウィンドウにフレームを作成し、その後、 セッションURL を使って、そのフレームにファイルを定期的に読み込むことができます。つまり、 セッションの非アクティブタイマーをリセットし、そのフレームがユーザーのブラウザに表示されて いる間、セッションを継続させることが可能です。

システム管理者またはドメイン管理者は、サーバーワイドスキンファイルまたはドメインワイドスキ ンファイル(いずれもカスタムファイル) をアップロードすることで、Web アプリケーションのルッ ク&フィールを変更できます。
例えば、ストックスキンでは、ページのロゴのファイルとしてLogo.gif が使われています。このファ イルをカスタマイズし、サーバーワイドの名前なしスキンとしてアップロードすることで、Web アプ リケーションのページの表示を変えることができます。この場合、カスタムページ(WSSP) ファイル を作成し、アップロードする必要はありません。

ステートレス要求には.wssp に対するファイル参照を指定でき、この方法でカスタムページ(WSSP) ファイルを取り出すことができます。その場合、下記のように、接頭辞%%filesRef%% を.wssp 識別子の 前に付加します(filename はファイル名、extension は拡張子)。

... href="%%filesRef%%filename.extension" ...
上記の処理については、詳しくは
ステートレス要求に関連するコードコンポーネント を参照してくだ さい。

セッションでは名前付きスキンを使用できますが、セッションベースのページの場合、通常、そのス キンのファイル(通常のファイル) の参照が必要です。この参照は、セッションレルム (HREF="filename.extension" またはHREF="/Session/sessionID/ filename.extension) を使って指定できます。なお、この場合、指定したファイルはクライアン トブラウザではキャッシュされません。これは、セッションのセッションID はそれぞれ別個で、ま た、ファイルURL もセッションごとに異なるためです。ただし、次のように、ファイルURL に接頭 辞%%SESSION(filesRef)%% を付加することで、クライアントブラウザでファイルがキャッシュされるよ うになります。

... href="%%SESSION(filesRef)%%/filename.extension" ...
上記の処理については、詳しくはセッションデータセットを参照してください。

Web Application (WSSP) ファイル

URL にファイルが指定されており、そのファイル拡張子が.wssp だった場合、Web Application モ ジュールにより、そのWSSP ファイルが取り出され、同時にWSSP ファイルの内容が内部コードにコ ンパイルされます。続いて、Web Application モジュールによって、そのファイル名に対応するWeb ア プリケーションコードが実行されます。このコードの実行により、各種の文字列や配列、辞書データ が生成されます。その後、WSSP 内部( コンパイル済み) コードが実行され、Web アプリケーション コードで生成されたデータをもとにHTML ページが作成されます。最後に、このHTML ページがHTTP モジュール接続を介してブラウザに返却されます。

URL に指定されているファイル名は、自動的に小文字に変換されます。

WSSP ファイルのフォーマットについては、「WSSP スクリプティング」のセクションに詳細がありま す。システム管理者またはドメイン管理者は、カスタムのWSSP ファイルを作成し、サーバーワイド スキンまたはドメインワイドスキンとしてアップロードできます。この方法で、Web アプリケーショ ンのルック&フィールを変更できます。

Web Application モジュールのコードコンポーネントについては、「コードコンポーネント」のセクショ ンに説明があります。こうしたコードコンポーネントを使ってWSSP ページの定義が可能です。コー ドコンポーネントでは、受信したフォームパラメータの処理が可能です。また、データセットを作成 し、そのデータセットにデータを取り込むこともできます。


スキンの作成と管理

サーバーワイドスキンとドメインワイドスキンはどちらも、WebAdmin エディタを使って作成と管理 が可能です。

サーバーワイドスキンの管理を行いたい場合、WebAdmin インターフェイスの[Domains] セクション を開き、[Skins] リンクをクリックします。

また、ドメインワイドスキンの管理を行いたい場合、WebAdmin インターフェイスの[Domains] セク ションを開き、そのドメインの[Domain] ページを開きます。その後、[Skins] リンクをクリックし ます。ドメイン管理者がドメインワイドスキンの作成や変更を行う場合、そのドメイン管理者に [CanModifySkins] 権限が付与されていることが必要です。

[Skins] リンクをクリックすると、[Skins Editor] ページが開きます。ドメインワイドスキンの場合、 そのドメインの[Skins Editor] ページが表示されます。ドメインワイドスキンには名前なしスキンは なく、したがって名前なしスキンは表示されません。ただし、ドメインの[Skins Editor] ページには[Create Unnamed Skin] ボタンがあり、このボタンを使って、そのドメインに名前なしスキンを作成で きます。

[Skin Editor] ページには、スキンを構成するファイル(表示可能なファイル) がすべて表示されます。 スキンを構成するファイルとしては、スキンのデフォルトファイルとしてアップロードされたファイ ルと、直接アップロードされたファイル(管理者がアップロードしたファイル) の2 種類があります。

 名前サイズ変更済み
Help.gif15525-Sep-06
デフォルトaddressbook.wssi114323-Sep-06
デフォルトalerts.wssp172726-Sep-07
デフォルトansweredletter.gif89027-Feb-06
デフォルトattachedFile.gif114727-Feb-07
...
デフォルトmailbox.wssp580628-Sep-06
mailboxes.wssp345202-Oct-06
...
デフォルトstrings.data28K27-Oct-06
デフォルトgerman.data31K28-Oct-06
...
デフォルトwebsite.wssp59228-Sep-06
デフォルトwebsitebody.wssi264828-Sep-06

直接アップロードされたファイルには、[Marker] 列にチェックボックスが表示されます。一方、デ フォルトのファイルの場合、[Marker] 列に[default] という文字が表示されます。

リストのスキンファイルはいずれもダウンロードでき、ダウンロードする場合、そのファイルの名前 をクリックします。

また、スキンファイルをアップロードする場合、[Browse] ボタンをクリックしてファイルを選択し、 [Upload] ボタンをクリックします(ファイルは、ワークステーションに置いておきます)。

直接アップロードされたファイルは、削除することができます。削除する場合、そのファイルのチェッ クボックスを選択し、[Delete Marked] ボタンをクリックします。

.wssp ファイルまたは.wssi ファイルをアップロードすると、そのファイルはコンパイラによって自 動的にコンパイルされます。ここで、コンパイラがエラーを検出した場合、そのファイルは正常にアッ プロードされません。ただし、[Skin Editor] ページにはファイルのコードが表示され、エラーが発生 した場所に<--ERROR--> というマーカー(赤) が示されます。

ファイルをアップロードすると、そのスキンのキャッシュがクリアされます。また、ドメインワイド スキンのファイル(共有ドメイン)、またはクラスタワイドスキンのファイルをアップロードすると、 その更新は全クラスタメンバーで有効になります。

You can upload a set of files by uploading a TAR-archive (a file with .tar name extension). For example, when you have a TAR-archive with a predesigned Skin you can open the Skin you want to modify (the Server-wide Unnamed Skin or Domain-wide Unnamed Skin or some Named Skin), and upload the .tar file. The Server will unpack the archive and store each file individually, as if they were uploaded one-by-one.

名前なしスキンの[Editor]ページには、名前付きスキンのリスト(  [Named Skins]パネル)があります。
スキンセット
GoldenFleece
IceColdMail

名前付きスキンを作成する場合、[Create Skin] ボタンの右のフィールドに名前を入力し、[Create Skin] ボタンをクリックします。

名前付きスキンを削除する場合、[Marker] 列のチェックボックスを選択し、[Remove Marked] ボタ ンをクリックします。なお、スキンは、内容が空のスキン(ファイルが何もないスキン) だけが削除 でき、そうでないスキンは削除できません。

名前なしスキンを削除したいときには、そのスキンを構成するファイルと名前付きスキンをすべて削 除し、[Remove Unnamed Skin] ボタンをクリックします。

スキンは、その名前をクリックするとオープンできます。オープン後、スキン名が表示され、また [UP] リンクが表示されます。このリンクをクリックすると、名前なしスキンのページに移動します。

名前付きスキンのページでは、スキンの名前を変更できます。変更する場合、新規の名前を入力し、 [Rename Skin] ボタンをクリックします。


Request Processing

The CommuniGate Pro Web Application module processes a request for a WSSP file by calling a code component that produces a dataset - a 辞書 containing text string keys and values, associated with those keys. Values can be text strings, arrays of values, or dictionaries.

For example, when a Domain default page is requested, the code component called and it produces a dictionary that contains keys such as canAutoSignup, hasMailLists, hasCertificate.

The Web Application module then uses the script code from a WSSP file to convert this data into into an HTML or other markup language page.

This section lists the available CommuniGate Pro code components, specifies when those components are called, explains how the code components process the <FORM> parameters, and specifies the content of the dataset produced by each code component.


ステートレス要求に関連するコードコンポーネント

要求がステートレス要求(HTTP) の場合、Web Application モジュールによって、その要求のスキン HTTP パラメータ(スキンに関するパラメータ) がチェックされます。スキンHTTP パラメータがステートレス要求にあったときには、指定されている名前の名前付きスキンがオープンされます。スキ ンHTTP パラメータがなかった場合、名前なしスキン(アクセス先のドメインの名前なしスキン) が 使われます。

ステートレス要求に関連するコードコンポーネントではデータセットが生成されますが、各データ セットには、Web Application モジュールによって「汎用(共通)」要素が追加されます。汎用要素と しては、次のものがあります。いずれも、ステートレスWSSP ページ(ステートレス要求用のWSSP ファイル) で使用できます。

filesRef
この要素の値は文字列で、この文字列を使って必要なファイル(画像、スタイルシートなど) の参照(URL) を作成できます。参照先のファイルは、処理対象のドメインのスキンのファイ ルでなければなりません。例えば、HTML 要素<img src="%%filesRef%%Logo.jpeg"> で は、カレントのスキンのLogo.jpg を参照できます。
serverName
この要素の値は文字列で、文字列の内容はCommuniGate Pro のサーバー名( メインドメインの 名前) です。
skinName
この要素の値は文字列で、その内容はカレントのスキン名です。
language
言語として非デフォルト言語が選択されている場合、この要素には、その言語の名前が格納 されます。
domainName
この要素の値は文字列で、内容はCommuniGate Pro のドメインの名前です。この要素は、 CommuniGate Pro サーバー上でステートレス要求がいずれかのドメインに送られ、その処理に 成功したときにだけ使用できます( これ以外の場合、この要素は生成されません)。
charset
この要素の内容は、ドメインスキンテキストデータセットの要素charset の値です。なお、 要素charset の値は、コードコンポーネントで個々に指定できます(下記を参照)。
secureChannel
この要素は、ステートレス要求がセキュア(HTTPS) 接続を介して受信されたときにだけデー タセットに追加され、また、その値がYES (文字列) に設定されます。
isWML
この要素は、ステートレス要求がWML ブラウザを介して受信されたときにだけデータセット に追加され、また、その値がYES (文字列) に設定されます。

以下、ステートレス要求に関連するコードコンポーネントについて、その名前(ステートレス URL)、処理、生成されるデータセット(結果データセット) を記載します。また、コードコンポー ネントに関連するWSSP ファイルについても説明します。このWSSP ファイルを使って、HTTP 応答 が作成されます。


URLs: /, /default.html

このURL ( コードコンポーネント) を使って、ログイン処理が実行されます。

処理

HTTP 要求にユーザー名パラメータとパスワードパラメータがあった場合、各パラメータの値を使っ てユーザー認証が行われます。資格(ユーザー名とパスワード) が適正であれば、新規のWebUser セッションが作成され、「エントリページ」要求がセッションに送信されます。この要求に対して、通 常、HTML 「ジャンプページ」が返り、このジャンプページがユーザーのブラウザに返送されます。こ のジャンプページを介して、ブラウザ上で「セッション領域」が開きます。

HTTP 要求にパラメータDisableIPWatch があった場合、このセッションでは、「固定IP アドレス」 セキュリティ機能が無効になります。この動作は、この機能がアカウントWebUser プレファレンスで 有効になっているときでも同じです。

HTTP 要求にパラメータDisableUseCookie があった場合、このセッションでは、「クッキー使用」 セキュリティ機能が無効になります。この動作は、この機能がアカウントWebUser プレファレンスで 有効になっているときでも同じです。

生成されるデータセット
ユーザー名とパスワードの各パラメータにユーザー名とパスワードが指定されていなかった とき、または、WebUser セッションの生成に失敗したときには、次の各要素がデータセット に追加されます。
autoSignup
アクセス先のドメインで自動サインアップ処理がサポートされている場合、この要素(要素の値は文字列YES) がデータセットに追加されます。
clientAddress
文字列要素で、値はユーザーのブラウザのIP アドレスです。
errorCode
ログイン処理が失敗した場合、この要素がデータセットに追加されます。値は、エ ラーコードが格納された文字列です。
forgotPassword
errorCode の内容が"Incorrect Password (不正なパスワード) " または"Unknown Account (不明なアカウント) " だった場合、この要素(要素の値は文字列YES) が データセットに追加されます。
hasCertificate
アクセス先のドメインにカスタム証明書がある場合、この要素(要素の値は文字列 YES) がデータセットに追加されます。
hasDirectory
アクセス先のドメインのデフォルトのスキンに配列要素GuestDirectoryFields が あり( ドメインのテキストデータセットの中)、かつ、その配列が空でなかった場合、 この要素(値は文字列YES) がデータセットに追加されます。
hasLists
アクセス先のドメインのデフォルトのスキンに配列要素GuestDirectoryFields が あり( ドメインのテキストデータセットの中)、かつ、その配列が空でなかった場合、 この要素(値は文字列YES) がデータセットに追加されます。
skinNames
この要素の内容は配列です。アクセス先のドメインで使用可能なスキンの名前のリ ストです。
loginName
ユーザーがログインを試みたものの、そのログインに失敗した場合、この文字列要素 がデータセットに追加されます。ユーザー名パラメータの値が、この要素の値として 使われます。
restoreSessionPage
ユーザーが接続を切断(中断) した場合、この文字列要素がデータセットに追加されます。中 断されたセッションのページ名が、この要素の値として格納されます。
この要素の値(ページ名) をHTTP パラメータrestoreSessionPage に格納し、そ のパラメータをHTTP 要求( このページによって生成されたHTTP 要求) で使うこと で、中断された要求(セッション) を再開できます。
restoreCharset
ユーザーが接続を切断した場合、この文字列要素がデータセットに追加されます。中断された セッションのキャラクタセットの名前が、この要素の値として格納されます。
この要素の値(キャラクタセット) をHTTP パラメータrestoreCharset に格納し、 そのパラメータをHTTP 要求( このページによって生成されたHTTP 要求) で使うこ とで、中断された要求を再開できます。
restoreParameters
ユーザーが接続を切断した場合、この配列要素がデータセットに追加されます。配列の要素は いずれも辞書で、辞書の要素は次の通りです。
name
中断された要求に関連するパラメータの名前。
value
中断された要求に関連するパラメータの値(エンコード済み)。
上記の要素(name とvalue) が格納されたパラメータをHTTP 要求(このページに よって生成されたHTTP 要求) で使うことで、中断された要求を再開できます。
WSSP ファイル
このコードコンポーネントでは、login.wssp ファイルを使ってHTTP 応答が生成されます。

ログイン処理が成功した場合、HTTP リダイレクト応答が返却されます。この応答のリダイレクトURL ( リダイレクト先のURL) は、新規のセッション上のWSSP ページ(StartPage) です。このページは、 文字列StartPage (WML セッションの場合、文字列wStartPage) に指定されています。

また、ログイン処理が成功し、要求にパラメータrestoreSessionPage が存在したときには、 resume.wssp ページ(WML セッションの場合、wresume.wssp ページ) が表示されます( このページ は、ステートレス要求のページとして表示されます)。この場合、次のデータセットが作成されます ( このページで使用できます)。

restoreParameters
上記のrestoreParameters と同じです。
sessionID
新規のセッションのセッションID です(値は、関数SESSION(ID) から返る値と同じです。 この関数は、セッションのwssp ページで使用できます)。
jumpPage
wssp ページ(ジャンプページ) で、中断された処理をユーザーが再開した場合、このページ が使われます( このページには、オプションのパラメータが格納されます)。

URL: /RecoveryPassword.wssp

このコードコンポーネントを使って、パスワードリカバリ(再送信) 処理が実行されます。

処理
HTTP 要求にユーザー名パラメータと送信(Send) パラメータがあった場合、このコードコン ポーネントにより、要求で指定されているアカウントが検索され、検索後、そのアカウントの パスワードと、アカウント設定RecoverPassword が取り出されます。ここで、パスワード の暗号化が可能で、また、アカウント設定RecoverPassword に値が指定されている場合、 そのパスワードが格納された電子メールメッセージが作成され、そのメッセージが所定の電子 メールアドレス(RecoverPassword の値) に送信されます。
生成されるデータセット
errorCode
パスワードリカバリ処理が失敗した場合、この要素がデータセットに格納されます。値は、 エラーコードです。
messageCode
パスワードリカバリ処理が成功した場合、この要素がデータセットに格納されます。値は、 文字列PasswordSent です。
WSSP ファイル
recoverypassword.wssp ページを使って、HTTP 応答が生成されます。

URL: /Signup.wssp

このコードコンポーネントを使って、自動サインアップ処理(アカウントの新規作成) が実行されます。

処理
HTTP 要求にusername、password1、password2、realName の各パラメータが存在して いる場合、要求にしたがってアカウントが作成されます。アカウントの作成に先立ち、 password1 とpassword2 が同じであるかどうかがチェックされます。同じだったときにはア カウントが作成され、UseAppPassword の値がYES に設定されます。また、Password と RealName がそれぞれ、指定されている値に設定されます。さらに、HTTP 要求に ForgotPassword パラメータがあり、その内容が空白でなかった場合、その値がアカウント設定 RecoverPassword の値として使われます。

また、要求に文字列パラメータPublicInfo (単一もしくは複数) があるかどうかがチェック されます。このパラメータの値(名前) は、ディレクトリへの統合で指定されている属性 Public Info のいずれかの名前でなければなりません。値(名前) と名前が一致し、しかも、そ のパラメータに値が格納されている場合、その値が新規のアカウントの初期アカウント設定に 追加されます。 
例えば、自動サインアップページにフィールドCity を表示したい場合、<INPUT type="hidden" name="PublicInfo" value="City"> コントロールと <INPUT type="text" name="City" value="" size=30 maxlength=255> コントロールを Signup.wssp (HTML) コードに定義します。 

アカウントが正常に作成されると、新規のWebUser セッションが作成され、また、「エントリ ページ」要求がセッションに送られます。

生成されるデータセット
HTTP 要求にusername、password1、password2、realName のいずれかのパラメータが 存在しなかった場合、または、新規のアカウントの作成に失敗した場合、次の各要素で構成さ れるデータセットが作成されます。
errorCode
自動サインアップ処理が失敗した場合、この要素がデータセットに追加されます。要素の 値は、エラーコードを格納した文字列です。
userName
HTTP 要求にパラメータuserName (ユーザー名) があり、その内容が空でなかった場合、 この要素がデータセットに追加されます。この要素の値は、パラメータuserName の値で す。
realName
HTTP 要求にパラメータrealName (実名) があり、その内容が空でなかった場合、この要 素がデータセットに追加されます。この要素の値は、パラメータrealName の値です。
recoverPassword
HTTP 要求にパラメータrecoverPassword ( リカバリパスワード) があり、その内容が空で なかった場合、この要素がデータセットに追加されます。この要素の値は、パラメータ recoverPassword の値です。
WSSP ファイル
signup.wssp ページを使って、HTTP 応答が作成されます。

URL: /List/, /List/default.html

このコードコンポーネントを使って、ドメインのメーリングリスト(閲覧可能なメーリングリスト) のリストが取り出されます。

処理
このコードコンポーネントでは、HTTP 要求のパラメータは処理されません。
生成されるデータセット
このコードコンポーネントでは、次の各要素で構成されるデータセットが生成されます。
errorCode
メーリングリスト取り出し処理が失敗した場合、この要素がデータセットに追加されます。 この要素の値は、エラーコードです。
lists
この要素には、要素がメーリングリストディスクリプタである配列が格納されます。メー リングリストディスクリプタはいずれも辞書で、辞書は、次のキーと値で構成されていま す。
name
メーリングリストの名前。値は文字列。
realName
メーリングリストの「説明/ 概要」。値は文字列。
browse
メーリングリストのアーカイブの閲覧ポリシー。値(文字列) は、anyone (任意のユー ザー) またはsubscribers (加入ユーザーのみ) のいずれか。
WSSP ファイル
listlist.wssp ページ(ファイル) を使って、HTTP 応答が作成されます。

URL: /List/listname/, /List/listname/List.html

このコードコンポーネントでは、listnameに指定された メーリングリストのレコード( メッセージ) が 取り出されます。

このコードコンポーネントでは、汎用メールボックスコードコンポーネントを使って処理が実行され ます。

処理
このコードコンポーネントにより、HTTP 要求にパラメータNextMessage (値は数値) が格 納されているかどうかがチェックされます。このパラメータが存在した場合、その値は、この メーリングリストのアーカイブメールボックスに格納されているメッセージの一意のメッセー ジID (UID) と解釈されます。続いて、指定されているメールボックス「ビュー」のメッセー ジのうち、このメッセージID のメッセージが検索され、その後、同じメールボックス 「ビュー」の次のメッセージが検索されます。

また、HTTP 要求にパラメータPrevMessage (値は数値) が格納されているかどうかが チェックされます。このパラメータが存在した場合、その値は、このメーリングリストのアー カイブメールボックスに格納されているメッセージの一意のメッセージID (UID) と解釈され ます。続いて、指定されているメールボックス「ビュー」のメッセージのうち、このメッセー ジID のメッセージが検索され、その後、同じメールボックス「ビュー」の前のメッセージが 検索されます。

次のメッセージまたは前のメッセージが見つかった場合、そのメッセージのUID がデータセッ トに追加されます(下記を参照)。この場合、汎用メールボックスコードコンポーネントは使 用されません。

一方、次のメッセージまたは前のメッセージが見つからなかった場合、汎用メールボックス コードコンポーネントを使って、HTTP 要求の各パラメータが処理され、その結果にしたがっ てデータセットが作成されます。

生成されるデータセット
listName
メーリングリストの名前を格納した文字列。

次のメッセージまたは前のメッセージが見つかったときには、次の要素がデータセットに追加 されます。

messageJump
見つかったメッセージのUID を格納した文字列。

一方、HTTP 要求パラメータで次のメッセージまたは前のメッセージが要求されていなかった とき、もしくは、次のメッセージまたは前のメッセージが見つからなかったときには、次の要 素がデータセットに追加されます。

realName
メーリングリストの説明(概要) を格納した文字列。
charset
メーリングリストの優先キャラクタセットを格納した文字列。

汎用メールボックスコードコンポーネントを使って残りの要素がデータセットに追加され、最 終のデータセットが作成されます。

WSSP ファイル
listmailbox.wssp ページを使って、HTTP 応答が生成されます。

URL: /List/listname/Message/uid.html

このコードコンポーネントでは、listname で指定されるメーリングリストのアーカイブのメッセージ のうち、uidで指定されるUID のメッセージが取り出されます。

このコードコンポーネントの場合、汎用 Message コードコンポーネントを使って処理が実行されます。

処理
このコードコンポーネントでは、汎用メッセージコードコンポーネントを使ってHTTP 要求の各パラ メータが処理され、データセットが作成されます。
生成されるデータセット
listName
メーリングリストの名前を格納した文字列。
nextMsg
アーカイブメールボックスビューで次のメッセージが見つかった場合、この要素がデータ セットに追加されます。この要素の値は、次のメッセージのUID が格納された文字列で す。
prevMsg
アーカイブメールボックスビューで前のメッセージが見つかった場合、この要素がデータ セットに追加されます。この要素の値は、前のメッセージのUID が格納された文字列で す。
上記の要素のほか、汎用メールボックスコードコンポーネントを使って残りの要素が生成さ れ、データセットに追加されます。
WSSP ファイル
listmessage.wssp ページ(ファイル) を使って、HTTP 応答が作成されます。

エラーページ

HTTP 要求に対するエラー応答(エラーページ) は、WSSP ファイルを使って生成されます。下記は、 HTTP エラーコードとエラー条件、また、エラーコードの生成に使われるWSSP ファイルの一覧です。

コードエラー条使用されるWSSP ファイル
301要求されたリソースの場所が移動している。moved.wssp
404要求されたリソースが存在しない。notfound.wssp
401要求されたページの表示にはHTTP 認証(要求ヘッダ)が必要。unauthorized.wssp
401HTTP 認証要求ヘッダの資格が不適当。denied.wssp
500一般システムエラー。failure.wssp
501一般システムエラー。error.wssp

上記の各WSSP ページ(ファイル) を使ってエラーコードが生成される場合、ステートレス要求の処 理の際に作成されたデータセットの要素が使用されます(上記を参照)。このデータセットの要素のほ か、次のようにして追加された要素も使用されます。

errorCode
エラーコードがあり、そのエラーコードがユーザーに送信する必要があるエラーコードだった 場合、この要素がデータセットに追加されます。
hostName
HTTP 要求にHost: フィールドがあった場合、この要素がデータセットに追加されます。この 要素の値は、Host: フィールドの値です。

HTTP 要求がWebUser セッションに送信されたものの、そのセッションが見つからなかったときに は、disconnected.wssp ページを使って処理が行われます。この場合も、ステートレス要求の処 理の際に作成されたデータセットが使われます。


セッション要求に関連するコードコンポーネント

新規のWebUser セッションが作成されると、アカウントWebUser プレファレンスに指定されている スキンが開かれ、そのスキンがセッションスキンとして使われます。また、スキンテキストデータセッ トから文字列StartPage が取り出されると同時にジャンプページが作成され、このジャンプページ がユーザーのブラウザに渡されます。このジャンプページにより、ユーザーのブラウザがセッション 領域(文字列StartPage に指定されているページ) にリダイレクトされます。

セッション領域に送られたHTTP 要求(URL が/Session/ で始まる要求) はいずれも、セッション 要求として処理されます。このHTTP 要求(URL) の2 番目の要素は一意のセッションID で、この セッションID を使ってWebUser セッションが検索されます。

WebUser セッションが検索され、そのセッション(セッションID で識別) が見つからなかった場合、 または、セッションのFixed Network Address (固定ネットワークアドレス) オプションが有効 に設定されており、HTTP 要求(セッション要求) のIP アドレスがセッションの開始に使われたログ イン要求のIP アドレスと異なっていた場合、disconnected.wssp ページが表示されます(上記を 参照)。

一方、WebUser セッションが検索され、そのセッションが見つかった場合、Web Application モジュー ルによって、HTTP 要求のURL の残りの部分(2 番目のセッションID の右の部分) が「セッション領 域の内部に対する要求」として処理されます。ここで、このURL の残りの部分に指定されている要素が通常のファイルだったときには、そのファイルがセッションスキンから取り出され、ユーザーのブ ラウザに返却されます。

上記の処理(WebUser セッションに関する処理) でも、ステートレス要求と同じように、.wssp 要求 (WSSP ファイルに対する要求) が発生するたびにコードコンポーネントが呼び出されます。そのコー ドコンポーネントによって、HTTP 要求のパラメータが処理され、データセット(結果データセット) が生成されます。その後、スキンから.wssp ファイルが取り出され、その.wssp ファイルを使ってHTTP 応答が作成されます。

作成された結果データセットに要素blockAlerts が存在しなかったときには、Web Application モ ジュールによって、そのセッションのユーザーに対する待機アラート がないかどうかチェックされます。 待機アラートがあった場合、コードコンポーネントAlerts が呼び出され、その後、Alerts.wssp ファイルを使ってHTTP 応答が生成されます。

Web Application モジュールにより、HTTP 要求の所定のパラメータがチェックされ、必要に応じて処 理されます。こうしたパラメータはいずれも、すべての.wssp 要求(WSSP ファイルに対する要求) で使用されます。すべての.wssp 要求について実行される処理を「汎用(共通)」処理と呼んでお り、汎用処理としては次のものがあります。
EmptyTrashNow
このパラメータがHTTP 要求に存在し、また、メールボックスもしくはメールボックスのエイ リアスの名前がTrash で、そのメールボックスまたはエイリアスが[Can Delete] 権限( メー ルボックスのアクセス権) で開くことができる場合、コードコンポーネントによって、その メールボックスのメッセージがすべて削除されます。この削除処理に失敗したときには、エ ラーコードが、文字列要素errorCode として結果データセットに格納されます。
SMIMEUnlock
このパラメータがHTTP 要求に存在し、また、セッションにアクティブのプライベートキーが なく、また、暗号化プライベートキーがアカウント設定に存在し、さらに、HTTP 要求にパラ メータSMIMEPassword が存在したときには、要求で指定されているパスワードを使って暗号 化プライベートキーの有効化( ロック解除) が実行されます。この処理に失敗したときには、 エラーコードが、文字列要素SMIMEError として結果データセットに格納されます。

また、コードコンポーネントによる処理ではいずれも、Web Application モジュールによって所定の要 素がデータセットに格納されます。こういった要素を「汎用(共通)」要素と呼んでおり、汎用要素と しては次のものがあります。

messageText
HTTP 要求にパラメータmessageText が存在した場合、この文字列要素がデータセットに追 加されます。この要素の値は、パラメータmessageText の値です。
messageCode
HTTP 要求にパラメータmessageCode が存在した場合、この文字列要素がデータセットに追 加されます。この要素の値は、パラメータmessageCode の値です。
secureChannel
要求がセキュア(HTTPS) 接続を使って受信された場合、この要素(値は文字列YES) がデー タセットに追加されます。
isWML
要求がWML ブラウザから送られた要求だった場合、この要素(値は文字列YES) がデータ セットに追加されます。
charset
[Use UTF8] オプション(WebUser プレファレンス) が[Never] に設定されている場合、この 要素には、WebUser プレファレンスで指定されている優先キャラクタセットが格納されます。 そうでない場合、この要素には文字列utf-8 が格納されます。
注意: この要素の値はデフォルト値です。個々のコードコンポーネントで、別の値を指定できます。 
SMIMEActive
セッションにアクティブ( ロック解除済み) のSMIME プライベートキーが存在した場合、こ の要素(値は文字列YES) がデータセットに追加されます。
SMIMEInactive
セッションにアクティブ( ロック解除済み) のSMIME プライベートキーは存在しないものの、 ユーザーのアカウント設定にプライベートキーがあり、そのプライベートキーのロック解除が 可能な場合、この要素(値は文字列YES) がデータセットに追加されます。
mailboxes
選択可能なメールボックスのリストで、ユーザーが閲覧可能です。

.wssp 要求(WSSP ファイルに対する要求) に指定されているコードコンポーネントが不明の(存在し ない) 場合でも、その.wssp ファイルをセッションスキンから取り出すことができるときには、その .wssp ファイルは、「汎用」要素だけで構成されるデータセット(自動的に作成されます) を使って処 理されます。その後、結果がユーザーのブラウザに返却されます。

例えば、ストックスキンではHello.wssp 要求が使われますが、この要求に対応するコードコンポー ネント(同じ名前のコードコンポーネント) はありません。したがって、この場合、汎用要素で構成 されるデータセットが作成され、Hello.wssp ファイルで、このデータセットを使って処理が行われ ます。

以下、定義済みのコードコンポーネントについて説明します。説明では、コードコンポーネントの名 前(名前は、.wssp 要求で指定されている名前、つまり.wssp ファイルの名前と同じです) と処理、ま た、コードコンポーネントによって生成されるデータセットを記載してあります。

コードコンポーネントで生成されたデータセットは、そのコードコンポーネントと同じ名前の.wssp ファイルを使って処理されます。


名前: Mailboxes, wMailboxes

処理

HTTP 要求(.wssp 要求) にパラメータCreate があり、また、文字列パラメータNewName に何らか の値(名前) が格納されている場合、このコードコンポーネントにより、パラメータNewName に指 定されている名前を使って、新規のメールボックスが作成されます。この処理が失敗したときには、 文字列errorCode が格納された要素errorCode がデータセットに追加されます。処理に成功し、 新規のメールボックスが作成された場合、文字列MailboxCreated が格納された要素messageCode がデータセットに追加されます。また、アカウントWebUser プレファレンスの[Show Subscribed Mailboxes] オプションが有効に設定されている場合、作成されたメールボックスの名前がサブスクラ イブメールボックス(ユーザーが常時、アクセスできるメールボックス) のリストに追加されます。
HTTP 要求にパラメータnewClass があった場合、作成されたメールボックスのクラスがパラメータ newClass で指定されているクラスに設定されます。

また、HTTP 要求にパラメータFilter がある場合、メールボックスのうち、その名前がパラメータ Filter の値と同じメールボックスだけがリストに追加されます。

生成されるデータセット

このコードコンポーネントでは、WebUser プレファレンスの[Show Subscribed Mailboxes] オプション が有効に設定されているときには、アカウント(ユーザー) のメールボックスまたはメールボックス のエイリアスのリストが作成されます。または、WebUserプレファレンスの[Show Subscribed Mailboxes] オプションが有効に設定されている場合、サブスクライブメールボックスのリストが作成されます。 この両方のオプションが有効になっている場合、両方のリストが単一のリストに統合されます。HTTP 要求にパラメータFilter がある場合、メールボックスのうち、その名前がパラメータFilter の値と同じメールボックスだけがリストに追加されます。

filter
この要素(文字列) には、パラメータFilter のカレントの値が格納されます。
newName
この要素(文字列) には、パラメータNewName のカレントの値が格納されます。
mailboxClasses
この要素(配列) には、サポートされているメールボックスのクラスの名前(文字列) が格納 されます。
mailboxList
この要素は配列で、配列の要素として辞書が格納されます(つまり、配列の内容は、メール ボックスのリストです)。辞書にはそれぞれ、メールボックスのリストの中の個々のメール ボックスに関する情報が格納されます。辞書の要素(キーと値) は次の通りです。
mailboxName
文字列要素で、ここにメールボックスの名前が格納されます。
parent
文字列要素で、このメールボックスが別のメールボックスのサブ(子) メールボックスの 場合、この要素が追加されます。この文字列要素には、このメールボックスの親メール ボックスの名前が格納されます。
nonSelectable
文字列要素で、このメールボックスが選択できないメールボックスの場合、この要素(値 はYes) が追加されます。なお、この要素が追加されたときには、これ以降(下記) の要 素は辞書にはいっさい追加されません。
isList
このメールボックスが何らかのメーリングリストのメインのメールボックス(アーカイブ) だった場合、この要素が追加されます(つまり、このメールボックスと同じ名前のメーリ ングリストが存在することになります)。
nMessages
文字列要素で、このメールボックスのメッセージの数が格納されます。メッセージの数が 取得できなかった場合、この要素の値として文字列??? が格納されます。
nRecent
文字列要素で、このメールボックスの「最新(Recent)」メッセージの数が格納されます。
numUnread
文字列要素で、ここには、このメールボックスの「未読(Unseen)」メッセージの数が格 納されます。
size
文字列要素で、ここには、このメールボックスのサイズ(四捨五入後) が格納されます。 メールボックスのサイズが取得できなかった場合、この要素の値として文字列??? が格納 されます。
mailboxClass
オプションの文字列要素で、ここにはメールボックスのクラスが格納されます( メール ボックスが非メールタイプのメールボックスの場合)。
mailboxPage
文字列要素で、このクラス( メールボックスのクラス) の処理に使われるwssp ページの名 前が格納されます。
nSelected
文字列要素で、この配列mailboxList の要素の数が格納されます。
trashSize
アカウントにメールボックスTrash がある場合、この文字列要素が追加されます。この要 素には、メールボックスTrash のサイズが格納されます。
currentStorage
文字列要素で、アカウントの各メールボックスの合計サイズ(四捨五入後) が格納されま す。
storageLimit
文字列要素で、アカウントの全メールボックスのサイズの上限(四捨五入後) が格納されま す。アカウントに全メールボックスのサイズの上限がなかった(サイズ無制限) 場合、この 要素には文字列unlimited が格納されます。

名前: Mailbox, wMailbox

このコードコンポーネントは、HTTP 要求にパラメータMailbox が存在し、その値がメールボックス の名前である場合に使用されます。

処理

HTTP 要求でメールボックスが要求された場合、Web Application モジュールによって、そのメールボッ クスのセッションオブジェクトが作成されます。セッションオブジェクトには、そのメールボックス の表示(ビュー) に関する各種のパラメータが格納されます。こうしたパラメータにはそれぞれ、セッ ションオブジェクトの作成時にWebUser プレファレンスの値が挿入されます。

HTTP 要求のMsg ( メッセージ) パラメータはそれぞれ、「メッセージセット(複数のメッセージの集 合)」を構成する要素( メッセージ) として認識されます。Msg パラメータはHTTP 要求に複数存在 でき、その場合、それぞれ数値( メールボックスのメッセージを示す一意のID) が格納されていなけ ればなりません。

HTTP 要求にパラメータForward またはパラメータRedirect があり、また、パラメータ RedirectAddresses が空でなかった場合、各Msg パラメータを使って「メッセージセット」が作成 されます。その後、メッセージセットのメッセージがそれぞれ、パラメータRedirectAddresses に指定されているアドレスに転送またはリダイレクトされます。
HTTP 要求にパラメータListApprove があり、また、メールボックス(パラメータMailbox で指 定されているメールボックス) がメーリングリスト名/approval のメールボックス(オーナーによる承 認が必要なメッセージを格納) だった場合、このHTTP 要求は、Redirect ( リダイレクト) 要求(送 信先アドレスは、メーリングリストのアドレス) として処理されます。
上記の処理が成功した場合、要素messageCode に文字列MessagesForwardedInfo または MessagesRedirectedInfo が格納され、要素messageCode が結果データセットに追加されます。 処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果データ セットに追加されます。

HTTP 要求にパラメータCopy またはパラメータMove があり、また、パラメータMailboxName の 値が選択可能なメールボックスの名前だったときには、各Msg パラメータを使って「メッセージセッ ト」が作成されます。その後、メッセージセットのメッセージがそれぞれ、パラメータMailboxName で指定されているメールボックスにコピー(Copy の場合) または移動(Move の場合) されます。指 定されているパラメータがMove の場合、Deleted、deleted、moved to Trash のいずれかのマー クが付加されます(どのマークが付加されるかは、WebUser プレファレンスによって決まります)。
上記の処理が成功した場合、要素messageCode に文字列MessagesCopiedInfo が格納された後、 要素messageCode が結果データセットに追加されます。処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果データセットに追加されます。

HTTP 要求にパラメータDelete があり、また、WebUser プレファレンスの[DeleteMethod] オプショ ンが[Move To Trash] に設定されている場合、各Msg パラメータを使って「メッセージセット」 が作成されます。その後、メッセージセットのメッセージがそれぞれ、メールボックスTrash (ゴミ 箱) にコピーされます(削除されます)。メールボックスTrash が存在しなかったときには、自動的 に作成されます。

HTTP 要求にパラメータDeleteAll があるときには、メールボックスのメッセージはすべて削除さ れます。この場合、削除の方法としては、WebUser プレファレンスの[DeleteMethod] オプションで 指定されている方法が使用されます。

HTTP 要求にread、unread、flag、unflag、delete、undelete のいずれかのパラメータがあ る場合、各Msg パラメータを使って「メッセージセット」が作成されます。その後、メッセージセッ トのメッセージのフラグがセットまたは変更されます。なお、上記のパラメータのうち、delete と undelete は、WebUser プレファレンスの[DeleteMethod] オプションが[Move To Trash] 以外の 設定のときに限って処理されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

HTTP 要求にパラメータPurge があり、WebUser プレファレンスの[DeleteMethod] オプションが [Move To Trash] 以外に設定されている場合、メールボックスのメッセージのうち、そのフラグが Deleted であるメッセージがすべて削除されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

HTTP 要求にパラメータNextMessage (値は数値) がある場合、その値は、メールボックスのメッ セージの一意のID (UID) と解釈され、その値で示されるメッセージ(次のメッセージ) が検索され ます。次のメッセージが見つかったときには、そのUID が要素messageJump に格納された後、要素 messageJump が結果データセットに追加されます。

HTTP 要求にパラメータPrevMessage (値は数値) がある場合、その値は、メールボックスのメッ セージの一意のID (UID) と解釈され、その値で示されるメッセージ(前のメッセージ) が検索され ます。前のメッセージが見つかったときには、そのUID が要素messageJump に格納された後、要素 messageJump が結果データセットに追加されます。

HTTP 要求にパラメータNextUnread が存在し、パラメータMailboxName で指定されているメール ボックスに何らかの未読のメッセージがあった場合、その未読のメッセージのUID が要素 messageJump に格納された後、要素messageJump が結果データセットに追加されます。

要素messageJump が結果データセットに追加されなかったときには(上記のmessageJump に関 する処理が行われなかった場合)、汎用メールボックスコードコンポーネントを使ってHTTP 要求が 処理され、その後、結果セットが生成されます。

生成されるデータセット

mailbox
文字列要素で、メールボックスの名前が格納されます。
mailboxClass
この文字列要素には、メールボックスのクラスが格納されます( この要素がある場合)。
mailboxPage
この文字列要素には、wssp ページの名前が格納されます。このwssp ページを使って、このク ラス(要素mailboxClass に格納) のメールボックスが表示されます。
isSentBox
カレントのメールボックス(パラメータMailboxName で指定されているメールボックス) が、送信されたメッセージのコピーを格納するメールボックス(送信メールボックス) だった 場合、この要素(値は文字列YES) がデータセットに追加されます。
isDraftsBox
カレントのメールボックスが、ドラフト(書きかけ) のメッセージを格納するメールボックス だった場合、この要素(値は文字列YES) がデータセットに追加されます。

HTTP 要求のパラメータで、次の未読メッセージ、次のメッセージ、前のメッセージが指定されてお り、そのメッセージが見つかった場合、次の要素がデータセットに追加されます。

messageJump
見つかったメッセージのUID を格納した文字列。

HTTP 要求のパラメータで、次の未読メッセージ、次のメッセージ、前のメッセージが指定されてい ないか、または、指定されていても、いずれも見つからなかった場合、次の要素がデータセットに追 加されます。

refreshTime
メールボックスのビューの更新時間間隔(単位は秒) が格納されます。この時間間隔は、 WebUser プレファレンスから取り出された値です。
listApproval
メールボックスがメーリングリスト名/approval のメールボックス(オーナーによる承認が必 要なメッセージを格納) だった場合、この要素がデータセットに追加されます。要素の値は、 メーリングリストの電子メールアドレスです。

上記の要素のほか、汎用メールボックスコードコンポーネントを使って残りの要素が生成され、デー タセットに追加されます。


名前: Contacts, wContacts

このコードコンポーネントの処理は、上記のコードコンポーネント(Mailbox、wMailbox) と同じです。


名前: Notes, wNotes

このコードコンポーネントの処理は、上記のコードコンポーネント(Mailbox、wMailbox) と同じです。


名前: Calendar, wCalendar

このコードコンポーネントは、HTTP 要求にパラメータMailbox が存在し、その値がカレンダータイ プのメールボックスの名前である場合に使用されます。

処理

HTTP要求でカレンダータイプのメールボックスが要求された場合、Web Application モジュールによっ て、そのメールボックスのセッションオブジェクトが作成されます。セッションオブジェクトには、 そのメールボックスの表示(ビュー) に関する各種のパラメータが格納されます。各パラメータには それぞれ、セッションオブジェクトの作成時にWebUser プレファレンスの値が挿入されます。セッ ションオブジェクトにはまた、「月カレンダー」ビューの月番号が格納され、この月番号は、デフォル トでカレントの月(本月) に設定されます。さらに、セッションオブジェクトには日番号も格納され ます。この日番号で指定される日が、カレントの月の最初の日として「月カレンダー」ビューに表示 されます。そのほか、セッションオブジェクトには"byDay" フラグも追加され、このフラグによって、 カレンダーデータがデータセットに保存されるときの方法(日を単位として保存、または、一定の時 間を単位として保存) が決定されます。

HTTP 要求のパラメータprevMonthlyCalendar の値は数値で、このパラメータの値が「月カレン ダー」を表す月番号から差し引かれます(過去の月カレンダーの表示)。

HTTP 要求のパラメータnextMonthlyCalendar の値は数値で、このパラメータの値が「月カレン ダー」を表す月番号に加算されます(将来の月カレンダーの表示)。

HTTP 要求のパラメータJumpDay の値は数値で、エポック日番号(カレンダービューで最初の日とし て表示される日の番号) を表します。

HTTP 要求のパラメータJumpDay の値は、byDay フラグの新規の値として使われます。

HTTP 要求のMsg ( メッセージ) パラメータはそれぞれ、「メッセージセット(複数のメッセージの集 合)」を構成する要素( メッセージ) として認識されます。Msg パラメータはHTTP 要求に複数存在 でき、その場合、それぞれ数値( メールボックスのメッセージを示す一意のID) が格納されていなけ ればなりません。

HTTP 要求にパラメータDelete があり、また、WebUser プレファレンスの[DeleteMethod] オプショ ンが[Move To Trash] に設定されている場合、各Msg パラメータを使って「メッセージセット」 が作成されます。その後、メッセージセットのメッセージがそれぞれ、メールボックスTrash (ゴミ 箱) にコピーされます(削除されます)。メールボックスTrash が存在しなかったときには、自動的 に作成されます。

HTTP 要求にread、unread、flag、unflag、delete、undelete のいずれかのパラメータがあ る場合、各Msg パラメータを使って「メッセージセット」が作成されます。その後、メッセージセッ トのメッセージのフラグがセットまたは変更されます。なお、上記のパラメータのうち、delete と undelete は、WebUser プレファレンスの[DeleteMethod] オプションが[Move To Trash] 以外の 設定のときに限って処理されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

HTTP 要求にパラメータPurge があり、WebUser プレファレンスの[DeleteMethod] オプションが [Move To Trash] 以外に設定されている場合、メールボックスのメッセージのうち、そのフラグが Deleted であるメッセージがすべて削除されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

生成されるデータセット

mailbox
文字列要素で、メールボックスの名前が格納されます。
refreshTime
メールボックスのビューの更新時間間隔(単位は秒) が格納されます。この時間間隔は、 WebUser プレファレンスから取り出された値です。
weekDayNames
曜日の名前を格納した配列。配列の要素(曜日) は、WebUser プレファレンスで最初の曜日と して指定されている曜日で始まります。
todayDay
月の日のうちのカレントの日付を示す日(本日)。
todayMonth
カレントの月。
todayYear
カレントの年。
todayDayNum
カレントの日(本日) のエポック日番号(カレンダービューで最初の日として表示されるとき に使われる番号)。
monthlyCalendar
配列で、要素はそれぞれ月の週です。この配列の各週が月カレンダーに表示されます。また、 週はそれぞれ7 つの要素で構成される配列です。7 つの要素のうち、いずれかの要素が月の日 に対応しなかった場合(つまり、その要素が、月の最初の日より前の日、または、月の最後の 日より後の日だった場合)、その要素は空白の文字列になります。一方、要素が月の日に対応 している場合、その要素は辞書として表現されます。この辞書のキー( と値) は次の通りです。
day
文字列で、月の日のうち、この要素(の位置) に対応する日が格納されます。
workDay
オプションの文字列要素で、この日が就業日の場合、値としてYES が格納されます。
dayNum
この日のエポック日番号。
year
文字列要素で、月カレンダーに最初の日として表示される日が属する年の数値。
byDay
オプションの要素で、値は文字列YES です。この要素は、byDay フラグがセットされていると きに追加されます。
timeSlices
byDay フラグがセットされている場合、この配列にタイムスライスが格納されます。配列の要 素は辞書で、辞書には次の値が格納されます。
hour
時を表す数値で、24 時間制。
PMhour
時を表す数値で、時の値が12 以上の場合、24 時間制。
minute
分を表す数値で、2 桁。
calendarDays
byDay フラグがセットされている場合、この配列にカレンダービューの要素(月の日) が格納 されます。要素は辞書で、辞書にはそれぞれ一日のカレンダーデータが格納されます。辞書の 要素は次の通りです。
weekDay
日の曜日の名前。
year
この日が属する年。
month
この日が属する月の名前。
day
この月の日。
dayNum
エポック日番号。
allDayEvents
オプションの配列で、この日の終日イベント(一日を通したイベント) に関するディスク リプタが格納されます。配列の要素は辞書で、辞書には「イベント要素」が格納されます (下記を参照)。
events
配列で、この日のイベント(一日の個別のイベント) のディスクリプタが格納されます。 ディスクリプタはそれぞれ一定の長さの時間( タイムスライス) に対応しています。ディ スクリプタはそれぞれ辞書で、辞書には「イベント要素」が格納されます( タイムスライ スにイベントがある場合)。この辞書の要素は次の通りです。
nTimeSlices
このディスクリプタの時間の長さ、つまりタイムスライス。
conflicts
オプションの配列で、このタイムスライスの範囲に別のイベント(重複イベント) が ある場合、そのイベントのUID が格納されます。
status
このタイムスライスにイベントがなく、かつ、このタイムスライスが「就業時間」に属して いない場合、この要素(ステータス) には文字列UNAVAILABLE が格納されます。
calendarDays
byDay フラグがセットされていない場合、この配列にカレンダーの各日が格納されます。要素 は辞書で、辞書にはそれぞれ次の値が格納されます。
weekDay
この日の曜日。
year
この日が属する年。
month
この日が属する月の名前。
day
月の日。 
dayNum
エポック日番号。
allDayEvents
byDay フラグがセットされていない場合、この配列に終日イベントに関する情報が格納されま す。配列の要素は、一日のデータ(終日イベント) です。その日に終日イベントがない場合、 要素は空白の文字列です。そうでない場合、配列の要素には、その日の終日イベントが格納さ れます。配列の要素は辞書で、辞書にはそれぞれ、終日イベントの「イベント要素」( イベン トを表す各要素、下記を参照) が格納されます。
calendarSlices
byDay フラグがセットされていない場合、この配列にタイムスライスに関する情報が格納され ます。配列の要素は辞書で、辞書の要素は次の通りです。
hour
時を表す数値で、24 時間制。
PMhour
時を表す数値で、時の値が12 以上の場合、24 時間制。
minute
分を表す数値で、2 桁。
days
配列で、要素は、このタイムスライス(上記の3 つの要素で指定されるタイムスライス) における一日のカレンダーデータです。要素は辞書で、日のうち、このタイムスライスに 何らかのイベントがある場合、辞書に「イベント要素」が格納されます。辞書にはまた、 イベント要素のほか、次の要素も格納されます。
nTimeSlices
イベントの時間の長さ、つまりタイムスライス。
conflicts
オプションの配列で、このタイムスライスの範囲に別のイベント(重複イベント) が ある場合、そのイベントのUID が格納されます。
status
このタイムスライスにイベントがなく、かつ、このタイムスライスが「就業時間」に 属していない場合、この要素(ステータス) には文字列UNAVAILABLE が格納されま す。

「イベント要素」は、次の要素で構成されます。

summary
文字列で、イベントのサマリー(概要) テキストが格納されます。
ID
メールボックスのイベントのUID を格納した文字列。
status
イベントのステータス(ビジー) を格納した文字列。
priority
イベントの優先度を示す数値。この要素は、イベント優先度が0 でない場合に限って追加さ れます(0 の場合には追加されません)。

名前: Tasks, wTasks

このコードコンポーネントは、HTTP 要求にパラメータMailbox が存在し、その値がタスクタイプの メールボックスの名前である場合に使用されます。

処理

HTTP 要求でタスクタイプのメールボックスが要求された場合、Web Application モジュールによって、 そのメールボックスのセッションオブジェクトが作成されます。この場合、セッションオブジェクト には、そのメールボックスの表示(ビュー) に関する各種のパラメータが格納され、各パラメータに はそれぞれ、WebUser プレファレンスの値が挿入されます。また、セッションオブジェクトには、日 番号も格納されます。この日番号で指定される日が、タスクビューで最初の日として表示されます。

HTTP 要求のパラメータJumpDay の値は数値で、エポック日番号( タスクで最初の日として表示され る日の番号) を表します。

HTTP 要求のMsg ( メッセージ) パラメータはそれぞれ、「メッセージセット(複数のメッセージの集 合)」を構成する要素( メッセージ) として認識されます。Msg パラメータはHTTP 要求に複数存在 でき、その場合、それぞれ数値( メールボックスのメッセージを示す一意のID) が格納されていなけ ればなりません。

HTTP 要求にパラメータDelete があり、また、WebUser プレファレンスの[DeleteMethod] オプショ ンが[Move To Trash] に設定されている場合、各Msg パラメータを使って「メッセージセット」 が作成されます。その後、メッセージセットのメッセージがそれぞれ、メールボックスTrash (ゴミ 箱) にコピーされます(削除されます)。メールボックスTrash が存在しなかったときには、自動的 に作成されます。

HTTP 要求にread、unread、flag、unflag、delete、undelete のいずれかのパラメータがあ る場合、各Msg パラメータを使って「メッセージセット」が作成されます。その後、メッセージセッ トのメッセージのフラグがセットまたは変更されます。なお、上記のパラメータのうち、delete と undelete は、WebUser プレファレンスの[DeleteMethod] オプションが[Move To Trash] 以外の 設定のときに限って処理されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

HTTP 要求にパラメータPurge があり、WebUser プレファレンスの[DeleteMethod] オプションが [Move To Trash] 以外に設定されている場合、メールボックスのメッセージのうち、そのフラグが Deleted であるメッセージがすべて削除されます。
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

HTTP 要求のパラメータshowCompleted の値は、showCompleted フラグの新規の値として使われま す。

生成されるデータセット

mailbox
文字列要素で、メールボックスの名前。
refreshTime
メールボックスのビューの更新時間間隔(単位は秒) が格納されます。この時間間隔は、 WebUser プレファレンスから取り出された値です。
showCompleted
オプションの要素で、値は文字列YES です。showCompleted フラグがセットされた場合、この 要素がデータセットに追加されます。
numTotal
メールボックスに格納されているカレンダリングデータの総数。
numSelected
選択されているタスクの総数。
tasks
選択されているタスクが格納された配列。配列の要素は辞書で、辞書の内容はタスクです。辞 書の要素(キー/ 値) は次の通りです。
nBefore
数値を表す文字列で、タスクが開始したときにデータセットに追加されます。この要素は、 タスクがタスクビューに初めて表示された後、タスクの開始まで無視可能な( タスクが開 始されたとは見なされない) タイムピリオド(時間間隔) の数を示します
nDuration
数値を表す文字列で、タスクの開始時刻またはタスクビューが初めて表示された時刻(ど ちらか遅い時刻) から、タスクの期限時刻またはタスクビューが最後に表示された時刻 (どちらか早い時刻) までの時間の長さ(単位はタイムピリオドの数) を示します。
nAfter
数値を表す文字列で、タスクが終了したときにデータセットに追加されます。この要素は、 タスクが終了した後、そのタスクがタスクビューに最後に表示されるまで無視可能な( タ スクが終了したとは見なされない) タイムピリオド(時間間隔) の数を示します。
ID
文字列で、値はメールボックスのタスクメッセージのUID。
percentComplete
数値で、値はタスクの達成率。
summary
文字列で、値はタスクのサマリー(概要)。
priority
数値で、値はタスクに設定されている優先度。

名前: Message

このコードコンポーネントは、HTTP 要求にメールボックスパラメータ(値は、表示されるメッセー ジが格納されているメールボックスの名前) とパラメータMSG (値は、メールボックスのメッセージ のUID) がある場合に使用されます。

処理
HTTP 要求にパラメータCopy またはパラメータMove があり、また、パラメータMailboxName の 値が選択可能なメールボックスの名前だったときには、パラメータMailboxName に指定されている メールボックスにメッセージがコピーされます。パラメータがMove だったときには、そのメッセー ジにDeleted というマークが付加されるか、または削除されます(どちらの処理が行われるかは、 WebUser プレファレンスの設定によります)。
上記の処理が成功した場合、要素messageCode に文字列MessagesCopiedInfo が格納され、要素 messageCode が結果データセットに追加されます。処理が失敗したときには、要素errorCode (値 は、処理エラーコードを示す文字列) が結果データセットに追加されます。
パラメータがMove で、このパラメータによりメッセージが削除された場合(WebUser プレファレン スの設定によります)、要素backToMailbox (値はYes) が結果データセットに追加され、その後、 このコードコンポーネントによる処理は終了します。

HTTP 要求にパラメータRedirect があり、また、パラメータRedirectAddresses が空でなかっ た場合、メッセージは、パラメータRedirectAddresses に指定されているアドレスにリダイレク トされます。
上記の処理が成功した場合、要素messageCode に文字列MessageRedirected が格納され、要素 messageCode が結果データセットに追加されます。処理が失敗したときには、要素errorCode (値 は、処理エラーコードを示す文字列) が結果データセットに追加されます。

HTTP 要求にパラメータTakeAddress がある場合、メッセージのFrom: アドレスがアカウントのア ドレスブックに追加されます。

HTTP 要求にパラメータTakeCertificate がある場合、メッセージのデジタル署名から証明書が取 り出され、その証明書がアカウントのアドレスブックに追加されます。

HTTP 要求にパラメータStoreFiles があり、また、パラメータselectedWebFolder にパーソナ ルWeb サイトの名前が格納されている場合、メッセージのファイル(添付ファイル、画像) が、指定 されているWeb サイトフォルダに保存されます。
上記の処理が成功した場合、要素messageCode に文字列FilesCopied が格納され、要素 messageCode が結果データセットに追加されます。処理が失敗したときには、要素errorCode (値 は、処理エラーコードを示す文字列) が結果データセットに追加されます。

HTTP 要求にread、unread、flag、unflag、delete、undelete のいずれかのパラメータがあ る場合、そのパラメータに応じて、メッセージのフラグが変更されます
上記の処理が失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) が結果 データセットに追加されます。

最後に、汎用メッセージコードコンポーネントを使って、HTTP 要求の各パラメータが必要に応じて 処理され、その結果にしたがってデータセットが生成されます。

生成されるデータセット
mailbox
メールボックス名を格納した文字列。

メッセージが削除された場合、次の要素がデータセットに追加されます。

MSG
メッセージのUID を格納した文字列。
flagged, recent, deleted, flagged, media, isDraft
メッセージにフラグが付加されている場合、そのフラグの種類に応じて、上記のいずれかの要 素(値はYes) がデータセットに追加されます。
status
この文字列要素(ステータス) には、次のいずれかの値が格納されます。
  • Deleted - メッセージのフラグとしてDeleted (削除済み) がセットされている場合、この値が格納されます。
  • Draft - メッセージのフラグとしてDraft (書きかけ) がセットされている場合、この値が格納されます。
  • Redirected - メッセージのフラグとしてRedirected ( リダイレクト) がセットされている場合、この値が格納されます。
  • Unread - メッセージにSeen (既読) フラグがセットされていない場合、この値が格納されます。
  • Answered - メッセージのフラグとしてAnswered (返信済み) がセットされている場合、この値が格納されます。上記以外の場合、次の値が格納されます。
  • Read
messageBody
文字列で、HTML で表現されたメッセージが格納されています。汎用メッセージコードコン ポーネントで作成されたデータです。
charset
メッセージの表示に使われるキャラクタセットが格納されています。この要素の値は、汎用 メッセージコードコンポーネントで設定できます。
nextMsg
メッセージビューに次のメッセージがある場合、この要素がデータセットに追加されます。値 は、次のメッセージのUID を示す文字列です。
prevMsg
メッセージビューに前のメッセージがある場合、この要素がデータセットに追加されます。値 は、前のメッセージのUID を示す文字列です。
hasFiles
メッセージにファイルがある場合、この文字列要素(値はYES) が追加されます。
editableContact
メッセージがVCard オブジェクトで、そのオブジェクトが更新可能な場合、この文字列要素 (値はYES) が追加されます。
editableGroup
メッセージがGroup オブジェクトで、そのオブジェクトが更新可能な場合、この文字列要素 (値はYES) が追加されます。
editableNote
メッセージがNote オブジェクトで、そのオブジェクトが更新可能な場合、この文字列要素 (値はYES) が追加されます。
editableEvent
メッセージがイベントで、そのイベントがカレント(WebUser セッション) のユーザーによっ て「提出」されたもので、しかも、そのイベントが更新(編集) 可能な場合、この文字列要素 (値はYES) が追加されます。
editableTask
メッセージがタスクで、そのタスクがカレントのユーザーによって「提出」されたもので、し かも、そのタスクが更新(編集) 可能な場合、この文字列要素(値はYES) が追加されます。
canCancelEvent
メッセージがイベントで、そのイベントをカレントのユーザーが取り消しできる場合、この文 字列要素(値はYES) が追加されます。
canCancelTask
メッセージがタスクで、そのタスクをカレントのユーザーが取り消しできる場合、この文字列 要素(値はYES) が追加されます。
canAcceptDecline
メッセージがタスクまたはイベントの要求の場合、この文字列要素(値はYES) が追加されま す。
percentComplete
メッセージがタスクで、そのタスクが別のユーザーからカレントのユーザーに委譲(共同作業 の委託) されたタスクだった場合、この要素(値は数値) が追加されます。
statusCode
オプションの文字列要素で、メッセージがタスクまたはイベントの場合、メッセージのステー タスが格納されます。
conflictingID
オプションの文字列要素。この要素には、デフォルトカレンダーメールボックスのメッセージ のうち、表示されているイベント要求( メッセージ) とコンフリクトするメッセージのUID が 格納されます。
canUpdatePartStatus
メッセージが、カレントのユーザーによるタスクまたはイベントの要求に対する返信だった場 合、この文字列要素(値はYES) が追加されます。
canCancelEvent
メッセージが、Event オーガナイザからの取り消し要求だった場合、この文字列要素(値は YES) が追加されます。
canCancelTask
メッセージが、Task オーガナイザからの取り消し要求だった場合、この文字列要素(値は YES) が追加されます。
listApproval
メッセージのメールボックスがメーリングリストのメーリングリスト名/approval メー ルボックス(オーナーによる承認が必要なメッセージを格納) だった場合、この文字 列要素が追加されます。要素の値は、メーリングリストの電子メールアドレスです。

名前: Compose

処理
このコードコンポーネントを使ってメッセージが作成されます。HTTP 要求にパラメータcharset が ある場合、その値(キャラクタセット) を使ってメッセージが作成されます。

HTTP 要求にオプションの処理パラメータ(パラメータOperation) があり、そのパラメータでメッ セージの種類が指定されている場合、その種類のメッセージが作成されます。このパラメータの値は、 Reply (返信)、ReplyAll (全員に返信)、Forward (転送)、EditDraft (書きかけを編集) のい ずれかです。
上記のパラメータOperation が指定されているときには、パラメータOrigMessage (オリジナル のメッセージのUID) とパラメータOrigMailbox (オリジナルのメッセージが格納されているメー ルボックスの名前) が指定されていなければなりません。

また、HTTP 要求にパラメータOperation があり、一方、パラメータfilled がない場合、オリジ ナルのメッセージの各ヘッダフィールドを使って、メッセージのSubject (件名)、To、Cc、メッセー ジ本文が作成されます。
パラメータfilled がある場合、HTTP 要求のSubject、To、Cc、Bcc、Body の各パラメータの値 を使ってメッセージデータが作成されます。

HTTP 要求にパラメータAddressBook があり、一方、パラメータCloseBook がない場合、または、 HTTP 要求にパラメータOpenBook がある場合、汎用アドレスブックコードコンポーネントを使って、 HTTP 要求の各パラメータが処理され、結果データセットの要素が生成されます。

HTTP 要求にパラメータSend がある場合、作成されたメッセージはサーバーキューに送られます。ま た、HTTP 要求にパラメータSave がある場合、作成されたメッセージは、書きかけメッセージとし て指定されたDrafts (書きかけ) メールボックスに保存されます。

上記のどちらの場合も、HTTP 要求に指定されているパラメータAttachment の値がメッセージに添 付データ/ ファイルとして追加されます。

生成されるデータセット
operation
文字列要素で、HTTP 要求にパラメータOperation がある場合、この要素がデータセットに 追加されます。この要素の値は、パラメータOperation の値と同じです。
origMessage
HTTP 要求にパラメータOrigMessage がある場合、この要素がデータセットに追加されま す。値は、オリジナルのメッセージのUID です。
origMailbox
HTTP 要求にパラメータOrigMailbox がある場合、この要素がデータセットに追加されま す。値は、オリジナルのメッセージが格納されているメールボックスの名前です。
sentOrSaved
Send 処理(サーバーキューにメッセージを送信) またはSaveDraft 処理(書きかけメッセージ を書きかけメールボックスに保存) が成功した場合、この要素(値はYes) がデータセットに 追加されます。この要素が追加される際には、次のような処理が実行されます。
  • 処理がSend 処理の場合、要素sent (値はTT>Yes) がデータセットに追加されます。
  • 要素messageCode(値はMessageSent またはMessageSaved)がデータセットに追加されます。
  • 下記の要素はいっさいデータセットには追加されません。
Subject, To, Cc, Bcc
いずれも文字列要素で、それぞれカレントのヘッダフィールド(件名、To、Cc、Bcc) のデー タが格納されます。
From
文字列要素で、WebUser プレファレンスに指定されているFrom アドレスが格納されます。
addressBook
HTTP 要求にパラメータAddressBook はあるが、パラメータCloseBook がない場合、また は、HTTP 要求にパラメータOpenBook がある場合、この要素(値はYes) がデータセットに 追加されます。
body
文字列要素で、メッセージの本文が格納されます。
mailerWidth
文字列要素で、WebUser プレファレンスのオプションMailerWidth の値が格納されます。
forwardedMessage
オプションの文字列要素で、オリジナルのメッセージのHTML コードが格納されます。この要 素は、HTTP 要求にパラメータOperation があり、その値がForward の場合にデータセッ トに追加されます。
DSN
HTTP 要求にパラメータDSN がある場合、この要素(値はYes) がデータセットに追加されま す。
SaveSent
WebUser プレファレンスの[SentBox] オプションに値が設定されており、HTTP 要求にパラ メータFilled がない場合、または、HTTP 要求にパラメータSaveSent がある場合、この要 素(値はYes) がデータセットに追加されます。
desiredCharset
文字列要素で、キャラクタセットの名前が格納されます。このキャラクタセットを使ってメッ セージが作成されます。
charset
WebUser プレファレンスの[Use UTF8] オプションが[for Reading and Composing] に設定さ れている場合、この要素には文字列UTF-8 が格納されます。
isEvent
作成されるメッセージがカレンダーイベント(Calendar Event) の場合、この要素(値はYes) がデータセットに追加されます。
isTask
作成されるメッセージがカレンダータスク(Calendar Task、つまりToDo) の場合、この要素 (値は文字列Yes) がデータセットに追加されます。
isNote
作成されるメッセージがノート(Note、メモ) の場合、この要素(値は文字列Yes) がデータ セットに追加されます。

作成されるメッセージがカレンダーデータの場合、次の要素がデータセットに追加されます。

allDayEvent
作成されるメッセージが終日イベントの場合、この要素(値は文字列Yes) がデータ セットに追加されます。要素の値は、同じ名前のHTTP パラメータ(パラメータallDayEvent) によって制御されます。

名前: MailboxSettings

HTTP 要求にパラメータMailbox が存在し、その値がメールボックスの名前で、処理が管理の場合、 このコードコンポーネントが使用されます。

処理

HTTP 要求にパラメータRemove がある場合、パラメータMailbox で指定されるメールボックスは 削除されます。また、HTTP 要求にパラメータRemoveSub がある場合、パラメータMailbox で指定 されるメールボックスのサブ(下位) メールボックスもすべて削除されます。
メールボックスの削除が成功し、また、WebUser プレファレンスの[Show Subscribed Mailboxes] オプ ションが選択されている場合、削除されたメールボックスは、アカウントのサブスクリプションリス トから削除されます。
メールボックスの削除が成功すると、要素removed (値は文字列Yes) がデータセットに追加され、 同時に、このコードコンポーネントによる処理は終了します。メールボックスの削除が失敗したとき には、要素errorCode (値は、処理エラーコードを示す文字列) がデータセットに追加されます。

HTTP 要求にパラメータRename があり、その内容が空でないときには、メールボックスの名前が変 更されます。同時に、パラメータNewName のフォーマットがUTF-7 メールボックス名エンコーディ ングフォーマットに変更され、このフォーマットで新規のメールボックス名が保存されます。
上記の場合、HTTP 要求にパラメータRenameSub もあるときには、各サブメールボックスの名前も すべて変更されます。
メールボックスの名前の変更が成功し、また、WebUser プレファレンスの[Show Subscribed Mailboxes] オプションが選択されている場合、アカウントのサブスクリプションリストのメールボックスのうち、 そのメールボックスの名前も変更されます。
また、メールボックスの名前の変更が成功すると、要素renamed (値は文字列YES) がデータセット に追加され、同時に、このコードコンポーネントによる処理は終了します。メールボックスの削除が 失敗したときには、要素errorCode (値は、処理エラーコードを示す文字列) がデータセットに追 加されます。

HTTP 要求にパラメータUpdate がある場合、このコードコンポーネントによって、その要求のパラ メータAcc がすべて取り出されます。パラメータAcc の値は、数値でなければなりません。その後、 パラメータAcc の値(nnn) をもとにして、パラメータZnnn が取り出されます。ここで、パラメー タZnnn に何らかの文字列が格納されていたときには、HTTP 要求のパラメータKnnn が取り出され ます。ここで、Kは、メールボックスアクセス権を示す文字です。
上記のようにして、文字列Znnn とパラメータKnnn のセットのリストが作成され、このリストを使っ て、指定されているメールボックスのアクセスコントロール(ACL) リストが新たに作成されます。
上記のアクセスコントロールリストの更新が成功すると、要素messageCode に文字列Updated が 格納され、この要素がデータセットに追加されます。更新が失敗したときには、要素errorCode (値 は、処理エラーコードを示す文字列) がデータセットに追加されます。

HTTP 要求にパラメータDeleteAll があるときには、メールボックスのメッセージはすべて削除さ れます。この場合、削除の方法としては、WebUser プレファレンスの[DeleteMethod] オプションで 指定されている方法が使用されます。この削除処理が成功した場合、要素messageCode に文字列 MessagesDeleted が格納され、この要素がデータセットに追加されます。

生成されるデータセット
renamed
メールボックスの名前が変更された場合、この要素(値は文字列Yes) がデータセットに追加 されます。この場合、他の要素はいっさいデータセットには追加されません。
removed
メールボックスが削除された場合、この要素(値は文字列Yes) がデータセットに追加されま す。この場合、他の要素はいっさいデータセットには追加されません。
rights
配列で、要素にはメールボックスのアクセスコントロールリストが格納されます。要素は辞書 で、辞書の要素は次の通りです。
ident
文字列で、アクセスコントロールリストの要素(単一のアクセス権の設定) の名前が格納 されます。
index
文字列で、アクセスコントロールリストのセットの中の要素の番号( インデックス) が格 納されます。
lookup, select, seen, flags, insert, post, create, delete, admin
アクセスコントロールリストの要素に指定されている個々のアクセス権で、付 与されているアクセス権(lookup など) の値がYes に設定され、追加されま す。

名前: Alerts

Application モジュールによって待機中のアラートメッセージが検出された場合、このコードコンポー ネントが自動的に呼び出されます。

処理

HTTP 要求のパラメータAlertTime の値はいずれも、ACAP フォーマットのタイムスタンプでなけ ればなりません。このコードコンポーネントにより、このタイムスタンプより古いアラート(待機中 のアラート) がすべてチェックされます。

HTTP 要求にパラメータreturnURL がある場合、このパラメータの値が要素returnURL に格納さ れ、要素returnURL がデータセットに追加されます。

生成されるデータセット
alerts
セッションのユーザーに送信しなければならないアラート(待機アラート) がある場合、この 要素がデータセットに追加されます。要素の値は辞書で、辞書にはそれぞれ、単一のアラート メッセージに関する情報が格納されます。辞書の要素は次の通りです。
time
文字列要素で、アラートが出力された時刻が格納さます。
text
文字列要素で、アラートメッセージのテキストが格納されます。
currentTime
セッションのユーザーに送信しなければならないアラート(待機アラート) がある場合、この 要素がデータセットに追加されます。値は文字列で、カレントの時刻がACAP フォーマットで 格納されます。
returnURL
文字列要素。アラートページが自動的に取り出されるように設定されている状態で、別のペー ジの表示が必要になった場合、この要素に、その別のページのエンコードURL が格納されま す。

名前: Subscription

処理

HTTP 要求にパラメータOpen がある場合、このコードコンポーネントによって、パラメータ MailboxName の値( メールボックス名) のフォーマットがUTF-7 メールボックス名エンコーディン グフォーマットに変更されます。その後、フォーマット変更後のメールボックス名が要素jump に格 納され、要素jump がデータセットに追加されます。

また、HTTP 要求にパラメータUpdate がある場合、次の処理が実行されます。
  • HTTP 要求のElem パラメータがすべて取り出され、その値のフォーマットがUTF-7 メールボッ クス名エンコーディングフォーマットに変換されます。その後、アカウントのサブスクリプ ションリストが新たに作成されます。
  • パラメータAliasName すべてについて、その値が取り出されます。値は数値でなければなりま せん。その後、取り出された値(nnn) についてそれぞれ、パラメータannn とパラメータ mnnn (パラメータペア) が取り出されます。この2 つのパラメータが存在し、値として文字列 が格納されている場合、その文字列のフォーマットがUTF-7 メールボックス名エンコーディン グフォーマットに変更されます。その後、このメールボックス名を使って、アカウントのメー ルボックスのエイリアス(複数のセット) が作成されます。
  • 上記のサブスクリプションリストの更新またはメールボックスのエイリアスの更新が失敗した 場合、データセットに要素errorCode が追加されます。一方、処理が成功したときには、要 素messageCode に文字列Updated が格納され、この要素がデータセットに追加されます。
生成されるデータセット
jump
オープンされるメールボックスの名前(ジャンプ先のメールボックス)。この要素がデータ セットに追加された場合、以下の要素はデータセットには追加されません。
subscription
配列で、内容はアカウントのサブスクリプションリストです。配列の要素は文字列で、要素に はそれぞれメールボックス名が格納されます。
aliases
配列で、内容はアカウントのメールボックスのエイリアスのリストです。配列の要素は辞書で す。辞書にはそれぞれ次の要素が格納されます。
index
このエイリアスのインデックス(配列の要素のインデックス) を格納した文字列。
name
このエイリアスの名前を格納した文字列。
ref
このエイリアスが指しているメールボックスの名前を格納した文字列。

名前: Password

処理
HTTP 要求にパラメータModifyPassword がある場合、その要求にはパラメータOldPassword も なければならず、さらにパラメータOldPassword の値はカレントのアカウントパスワードと同じで なければなりません。パラメータOldPassword の値とカレントのアカウントパスワードが一致した ときには、このコードコンポーネントにより、次の処理が実行されます。
  • HTTP 要求のパラメータRecoverPassword の値がアカウント設定RecoverPassword の値と して設定されます。その後、要素messageCode の値が文字列Updated に設定され、要素 messageCode がデータセットに追加されます。
  • アカウント(ユーザー) にアカウントパスワードの変更が許可されている場合、パラメータNewPassword1 とパラメータNewPassword2 がチェックされます。両方のパラメータが空でな く、また、値が一致すれば、このパラメータの値(パスワード) を使ってアカウントパスワー ドが更新されます。

上記のパスワードの更新が成功した場合、要素messageCode に文字列PasswordChanged が格納され、要素messageCode がデータセットに追加されます。パスワードの更新が失敗し たときには、要素errorCode がデータセットに追加されます。

生成されるデータセット
RecoverPassword
文字列要素で、内容はアカウントのRecoverPassword の値(文字列) です。

名前: PublicInfo

処理

HTTP 要求にパラメータUpdate のほか、パラメータID (単一もしくは複数、値は数値) がある場 合、このコードコンポーネントが呼び出され、処理が行われます。処理では、パラメータID それぞ れについて、その値(nnn) を使って、文字列パラメータNnnn と文字列パラメータVnnn が取り出 されます。パラメータNnnn の内容は、アカウントの公開情報フィールド([Public Info] フィールド) の名前、パラメータVnnn の内容は、この公開情報フィールドの値です。この2 つのパラメータを使っ て、アカウントの公開情報が更新されます。パラメータVnnn が空白の文字列の場合、その設定(公 開情報) はアカウント設定から削除されます。

公開情報の更新が成功したときには、要素messageCode に文字列Updated が格納され、要素 messageCode がデータセットに追加されます。更新が失敗したときには、要素errorCode がデータ セットに追加されます。

生成されるデータセット
publicInfo
配列で、内容は公開情報のセットです。配列の要素はそれぞれ、個々の公開情報(ディレクトリ統合設定で指定されている公開情報) です。配列の要素は辞書で、辞書には次の要素が格納されます。
id
文字列で、配列の中の要素の番号です。
name
文字列で、公開情報の名前です。
value
文字列で、公開情報のカレントの値です。この文字列は、公開情報の値が存在 する場合に限って追加されます。

名前: WebSite

このコードコンポーネントでは、汎用WebSite コードコンポーネントを使ってHTTP 要求が処理され、 その後、データセットが生成されます。なお、汎用WebSite コードコンポーネントの呼び出しに先立 ち、次の要素がデータセットに追加されます。

生成されるデータセット
fileRef
この要素の内容は、文字列WebFile です。
pageRef
この要素の内容は、文字列website.wssp です。

名前: Bye

処理
このコードコンポーネントによって、Trash (WebUser プレファレンスで指定されているTrash =ゴミ 箱) に保存されているメッセージが削除され、その後、セッションが閉じられます。このコードコン ポーネントによってHTTP 要求が処理されると同時にセッションが破棄されます。そのため、 bye.wssp コードではセッションデータは使用できますが、生成されたHTML コードでは、セッショ ンオブジェクトに対する参照は使用(定義) できません。
生成されるデータセット
blockAlerts
文字列要素で、値は文字列Yes です。この要素がデータセットに追加された場合、ア ラート処理が行われません(アラートがブロックされます)。

汎用コードコンポーネント

Web Application モジュールには、汎用コードコンポーネントがいくつか用意されています。こうした 汎用コードコンポーネントによって、必要に応じてステートレス要求またはセッション要求が処理さ れます。以下、汎用メールボックスコードコンポーネントと汎用メッセージコードコンポーネントに ついて説明します。


汎用メールボックスコードコンポーネント

処理
HTTP 要求にFilter、Search、Limit の各パラメータがある場合、汎用メールボックスコードコ ンポーネントにより、各パラメータの値を使ってメールボックスビューアのカレントのFilter、 Search、Limit の各値が変更されます。

HTTP 要求にパラメータSkip があり、その値が数値の場合、カレントの第一メッセージインデック スが、その値に設定されます。第一メッセージインデックスとは、ページに表示される最初のメッセー ジの番号をいいます。

HTTP 要求にパラメータNext がある場合、カレントの第一メッセージインデックスがカレントの Limit の値だけ増加されます。

HTTP 要求にパラメータPrev がある場合、カレントの第一メッセージインデックスがカレントの Limit の値だけ減少されます。

HTTP 要求にパラメータSort がある場合、その値(数値) が「ソート」列の番号として使われます (例えば、パラメータSort の値が0 の場合、最初の列を使ってメールボックスビューの内容がソート されます)。

HTTP 要求にパラメータSDir がある場合、その値(数値) がソート順を示す値として使われます。つ まり、この値が1 の場合は昇順、0 の場合は降順、-1 の場合はカレントのソート順の逆(昇順のとき は降順、降順のときは昇順) でソートが行われます。

生成されるデータセット
checkAll
この要素の内容は文字列CHECKED です。HTTP 要求にパラメータMarkAll がある場合、 この要素がデータセットに追加されます。
filter
文字列要素で、値はカレントの文字列Filter です。
search
文字列要素で、値はカレントの文字列Search です。
limit
文字列要素で、値はカレントの文字列Limit (数値) です。
sentBox
メールボックスがSent (送信) タイプのメールボックスだった場合、この要素(値は文字列 YES) がデータセットに追加されます。
headers
配列で、メールボックスビューの各列(ヘッダ) が格納されます。配列の要素は辞書(それぞ れ列に関する情報を格納) で、辞書は次の要素で構成されます。
index
列の番号( インデックス) を格納した文字列。
name
列の名前を格納した文字列。
hilited
この列がソート列だった場合、この要素(値は文字列YES) がデータセットに追加されま す。
sdir
この列がソート列でなかった場合、この要素には、カレントのソート順を示す値(0 また は1) が格納されます。この列がソート列だったときには、この要素には、カレントの ソート順の逆のソート順を示す値が格納されます。
ralign
この列が日付タイプ(日付を格納) またはサイズタイプ(サイズを格納) の列で、し たがって水平方向の位置逆調整(右寄せ) が必要だった場合、この要素(値は文字列 YES) がデータセットに追加されます。
messages
配列で、値はメールボックスビューのデータです。配列の要素は辞書で、辞書にはそれぞれ次 の要素が格納されます。
id
メッセージの一意のID (UID) です。
color
メッセージにX-Color ヘッダフィールドがあり、その値が有効なHTML カラー文字列 だった場合、この要素(値は、そのX-Color ヘッダフィールドの値) が追加されます。
notText
オプションの要素で、値は文字列YES。メッセージのContent-Type がtext でなかった場 合、この要素が追加されます。
notAltText
オプションの要素で、値は文字列YES。メッセージのContent-Type がtext でなく、 かつ、Content-Type/Subtype がmultipart/alternative でない場合、この要素が 追加されます。
fields
配列で、内容はメッセージの列に関するデータです。列に関するデータはそれぞれ、デー タセットの配列要素headers (上記を参照) に格納される列と同じ順番で格納されます。 配列の要素(列に関するデータ) は辞書で、辞書はいずれも次の要素で構成されます。
hilited
この列がソート列の場合、この要素(値は文字列YES) が追加されます。
sdir
この列がソート列でなかった場合、この要素には、カレントのソート順を示す値(0 または1) が格納されます。この列がソート列だったときには、この要素には、カレ ントのソート順の逆のソート順を示す値が格納されます
ralign
この列が日付タイプ(日付を格納) またはサイズタイプ(サイズを格納) の列で、し たがって水平方向の位置逆調整(右寄せ) が必要だった場合、この要素(値は文字列 YES) がデータセットに追加されます。
isRef
この列が選択されており、また、最初のクリッカブル列だった場合、この要素が追加 されます。値は文字列YES です。
value
この要素には、この列のデータが格納されます。この要素は、ステータス(Status) 列 を除き、すべての列に存在します。列がSent (送信) またはReceived (受信) だった 場合、この要素には、日付データが格納されます。日付データは、DATE: や DATETIMESHORT などの接頭辞を使って表示できます。
isStatus
列がStatus (ステータス) 列の場合、この要素が追加されます。値は文字列YES です。
isDate
列がSent 列またはRecieved 列で、要素value に日付タイプの値が格納されている場 合、この要素が追加されます。
isPty
列がPriority (優先度) 列の場合、この要素(値は文字列YES) が追加されます。
status
列がPriority (優先度) 列の場合、この要素に次のいずれかの文字列が格納されます。
  • メッセージのフラグとしてDeleted (削除済み) がセットされている場合、Deleted が格納されます。
  • メッセージのフラグとしてDraft (書きかけ) がセットされている場合、Draftが格納されます。
  • メッセージのフラグとしてRedirected ( リダイレクト) がセットされている場合、Redirected が格納されます。
  • メッセージのフラグとしてSeen (既読) がセットされていない場合、Unread が格納されます。
  • メッセージのフラグとしてAnswered (返信済み) がセットされている場合、Answered が格納されます。上記以外の場合、次の文字列が格納されます。
  • Read
flagged
列がStatus 列で、メッセージのフラグとしてFlagged がセットされている場合、この 要素が追加されます。その場合の値は、文字列YES です。
recent
列がStatus 列で、メッセージのフラグとしてRecent がセットされている場合、この要 素が追加されます。その場合の値は、文字列YES です。
hidden
This element exists if the column is the Status column and the message has the Hidden flag. If it exists, it contains the string YES.
media
This element exists if the column is the Status column and the message has the Media flag. If it exists, it contains the string YES.
firstNumber
文字列要素で、ビューの最初のメッセージの番号が格納されます。
firstNumber1
文字列要素で、ビューの最初のメッセージの番号に1 を足した番号が格納されます。
lastNumber
文字列要素。配列messages が空でない場合、ビューの最初のメッセージの番号に、配列 messages の要素の数を加算した値が、この要素に格納されます(つまり、最後のメッセージ の番号が格納されます)。配列messages が空だったときには、ビューの最初のメッセージの 番号に1 を足した番号が格納されます。
numTotal
このメールボックス(要求で指定されているメールボックス) のメッセージの総数が格納されます。
numUnread
このメールボックスのメッセージのうち、未読のメッセージ(Seen フラグが設定されていない メッセージ) の総数が格納されます。
numSelected
メールボックスのメッセージのうち、カレントの文字列Filter の値とSearch の値を使って 表示可能なメッセージの総数が格納されます。
multiPage
文字列要素nSelected の値が配列要素messages の要素の数が異なっている場合、この要素 (値は文字列YES) が追加されます。
sortColumn
この要素には、現在選択されているソート列の番号が格納されます。
sortAscending
この要素には、現在選択されているソート順が昇順の場合は1、降順の場合は0 が格 納されます。

汎用メッセージコードコンポーネント

汎用メッセージコードコンポーネントを使って、RFC822 メッセージがHTML テキストに変換されま す。シンプル/ マルチパートメッセージのほか、添付データ、ダイジェスト、インライン画像なども 処理されます。また、スキンテキストデータセットの文字列を使ってHTML コードが作成されます。


メッセージのレンダリングに関連するコードコンポーネント

Web Application モジュールには、メッセージのレンダリング、つまりメッセージをマークアップ (HTML) テキストに変換する機能もあります。この処理は、Web Application モジュールによって自動 的に制御されます。処理では、メッセージのMIME 構造が検出された後、各パートが再帰的に処理さ れます。パートは、まず、必要なデータセットが作成され、その後、.wssp ファイルを使ってマーク アップ言語表現( コード) を作成するという方法で処理されます。

メッセージのレンダリングに関連するコードコンポーネント( メッセージレンダリングコードコン ポーネント) ではいずれも、上記の各コードコンポーネントとは異なり、具体的な処理は実行されま せん( したがって、下記では「処理」の説明はありません)。実行されるのは、データセットの生成の みです。

メッセージレンダリングコードコンポーネントで生成されるデータセットにはいずれも、次のフィー ルド(要素) があります。個々のコードコンポーネントによって、このほかの要素がデータセットに 追加されます。

MIMEPart
文字列要素で、レンダリングされるメッセージ、またはレンダリングされるメッセージのパー ト(MIME パート) のURL 参照が格納されます。
filesRef
文字列要素で、URL 接頭辞(ファイル参照) が格納されます。このURL 接頭辞を使って、所 定のスキンからファイルが取り出されます。WebUser セッションでメッセージがレンダリング される場合、この文字列の値は文字列SESSION(filesRef) の値と同じです。
isWML
メッセージがWML マークアップ言語を使って表示されなければならない場合、この要素(値 は文字列YES) が追加されます。
printVersion
メッセージがプリント(表示) 可能な形式で表示されなければならない場合、この要素(値は 文字列YES) が追加されます。

以下、現在、実装されているメッセージレンダリングコンポーネントについて説明します。


名前: RFC822Message

このコードコンポーネントを使って、メールメッセージがレンダリングされます。メッセージは、メー ルボックスまたは別のメッセージのmessage/rfc822 MIME サブパートに格納されます。

生成されるデータセット

RFC822Header
文字列要素で、メッセージのRFC822 ヘッダのマークアップ表現(レンダリング後のデータ) が格納されます。
RFC822Body
文字列要素で、メッセージのRFC822/MIME ボディのマークアップ表現(レンダリング後の データ) が格納されます。
isSubPart
オプションの要素で、メッセージが別のメッセージのMIME サブパートだった場合、この要素 (値は文字列YES) が生成されます。

名前: RFC822Header

このコードコンポーネントを使って、メッセージのRFC822 ヘッダがレンダリングされます。

生成されるデータセット

RFC822Fields
配列で、要素は辞書です。辞書にはそれぞれ、ヘッダの「可視」フィールドが格納されます。 辞書の要素は次の通りです。
name
文字列要素で、ヘッダフィールドの名前が格納されます。
value
文字列要素で、ヘッダフィールドの値(MIME デコード済み) が格納されます。

名前: AttachmentPart, ImagePart

このコードコンポーネントを使って、画像と添付データがレンダリングされます。画像と添付データ は、別個のMIME パートであってもかまいません。また、UUENCODE エンコーディングを使ってテ キストパートに埋め込まれていても正常に処理されます。

生成されるデータセット

attachmentName
文字列で、ファイル名です。このファイル名を使って、ファイルがメッセージデータに保存さ れます。
fileName
文字列で、「簡略化」されたファイル名が格納されます(パス名がすべて削除されます。ただ し、必要な場合、画像ファイル名に接尾辞が付加されます)。
embeddedPart
文字列で、ファイルが埋め込みUUENCODE データだった場合、その埋め込みデータのMIME パート中の番号が格納されます。
decodedSize
文字列で、デコードされたファイルデータのおおよそのサイズが格納されます。

名前: DeliveryReportPart

このコードコンポーネントにより、メッセージ/ レポート(message/report) MIME サブパートが レンダリングされます。

生成されるデータセット

MessageFields
配列で、要素は辞書です。辞書にはそれぞれ、メッセージのレポートフィールドに関する情報 が格納されます。辞書の要素は次の通りです。
name
文字列で、レポートフィールドの名前が格納されます。
value
文字列で、レポートフィールドの値(MIME デコード済み) が格納されます。
Reports
配列で、要素は配列です。配列(要素) にはそれぞれ、受取人レポートが格納されます。受取 人レポートはそれぞれ辞書で、辞書には、その受取人レポートの各フィールドが格納されま す。辞書の要素は次の通りです。
name
文字列で、受取人レポートのフィールドの名前です。
value
文字列で、受取人レポートのフィールドの値(MIME デコード済み) です。

名前: DispositionReportPart

このコードコンポーネントを使って、message/disposition-notification MIME サブパートが レンダリングされます。

生成されるデータセット

fields
配列で、要素は辞書です。辞書には、メッセージの各レポートフィールドが格納されます。辞 書の要素は次の通りです。
name
文字列で、レポートフィールドの名前です。
value
文字列で、レポートのフィールドの値(MIME デコード済み) です。

名前: EncryptedPart

このコードコンポーネントを使って、暗号化(encrypted) MIME サブパートがレンダリングされます。

生成されるデータセット

decryptedPart
配列で、復号化されたコンテントのマークアップ表現(レンダリング後のデータ) が格納され ます。この要素は、復号化が成功した場合に追加されます。
decryptionErrorCode
文字列要素で、コンテントの復号化が失敗した場合、復号化の失敗に関するエラーメッセージ が、この要素に格納されます。
cipherName
文字列要素で、コンテントの暗号化に使用されたサイファ(暗号化アルゴリズム/ システム) が格納されます。
keyLength
文字列要素で、暗号化サイファキーのサイズ(単位ビット) が格納されます。

名前: SignedPart

このコードコンポーネントを使って、署名(signed) MIME サブパートがレンダリングされます。

生成されるデータセット

signedPart
配列で、署名コンテントのレンダリング後のマークアップ表現が格納されます。この要素は、 デコーディング(バイナリタイプの署名メッセージのデコーディング) が成功したときにだけ 追加されます。
encoding
文字列要素で、署名サブパートのフォーマット(バイナリまたはテキスト) に応じて、 "Binary" または"Text" のいずれかの文字列が格納されます。
decryptionErrorCode
文字列要素で、バイナリコンテントのデコーディングに失敗した場合、この要素にエラーメッ セージが格納されます。
digesterName
文字列要素で、デジタル署名の作成に使われたダイジェスタの名前が格納されます。
signatures
配列で、署名コンテントにデジタル署名が一つ以上あった場合、この配列が追加されます。配 列の要素は辞書で、辞書にはそれぞれ署名データが格納されます。辞書の要素は次の通りで す。
contact
文字列要素で、署名者の電子メールアドレスが格納されます。
commonName
文字列要素で、署名者の「実名」が格納されます。
Country, Province, Organization, Unit
いずれもオプションの文字列要素で、署名者の追加情報(国、州/ 地域、所属会社/ 団体、 組織ユニット/ 部門) が格納されます。

名前: CalendarPart

このコードコンポーネントを使って、iCalendar サブパートがレンダリングされます。

生成されるデータセット

Summary, Location, Comment
いずれも文字列要素で、それぞれiCalendar の属性データ(概要、場所、コメント) が格納さ れます。
Priority
数値を表す文字列要素で、iCalendar の属性PRIORITY の値が格納されます。
dateFrom
日付要素で、iCalendar の属性DTSTART の値が格納されます。
method
文字列要素で、iCalendar のパラメータMETHOD の値が格納されます
description
文字列要素で、属性DESCRIPTION の値(フォーマット済み) が格納されます。
organizer
オプションの辞書で、内容は属性ORGANIZER に関するデータです。辞書には、個々の属性の 名前("cn" など) を使って各種のパラメータが格納されます。パラメータ(例えば、電子メー ルアドレス) の値は、要素theValue に格納されます。
attendees
オプションの配列で、配列の要素は辞書です。辞書の内容は、属性ATTENDEE に関するデータ です。辞書には、個々の属性の名前("cn" や"role" など) を使って各種のパラメータが格納さ れます。パラメータ(例えば、電子メールアドレス) の値は、要素theValue に格納されます。
isEvent
オプションの要素で、iCalendar がVEVENT の場合、この要素(値は文字列YES) が追加され ます。この要素が追加される場合、次のオプションの要素が必要に応じて追加されます。
allDayEvent
VEVENT が終日イベント(All-Day Event) の場合、この要素(値は文字列YES) が追加さ れます。
recurrence
VEVENT が繰り返しイベントの場合、この要素(値は文字列YES) が追加されます。
duration
数値を表す文字列要素で、VEVENT が繰り返しイベントの場合、そのイベントの時間の長 さ(単位は秒) が格納されます。
dateTill
日付要素で、イベントが繰り返しイベントまたは終日イベント(All-Day Event) のどちら でもない場合、この要素に、そのイベントの「最後の日付」が格納されます。
busyStatus
文字列要素で、iCalendar のメソッドがPUBLISH の場合、イベントのステータスが格納さ れます。
isTask
オプションの要素で、iCalendar がVTODO の場合、この要素(値は文字列YES) が追加されま す。この要素が追加される場合、次のオプションの要素が必要に応じて追加されます。
dateTill
日付要素で、VTODO の期限("due date") が格納されます。
percentComplete
数値を表す文字列で、VTODO の属性PERCENT-COMPLETE の値が格納されます。

名前: vCardPart

このコードコンポーネントを使って、vCard サブパートがレンダリングされます。

生成されるデータセット

FN
文字列要素で、vCard の属性Formatted Name の値が格納されます。
UID
文字列要素で、vCard の属性UID の値が格納されます。
REV
文字列要素で、vCard の属性REV の値が格納されます。
elements
配列で、要素は辞書です。辞書には、vCard の上記以外の属性が格納されます。辞書の要素は 次の通りです。
name
vCard の属性の名前を格納した文字列。
value
属性の値。この値は、vCard に同じ名前の属性がある場合、辞書または要素が辞書で ある配列として格納できます。辞書はそれぞれ、属性のパラメータ(名前) と、その 属性の値(要素theValue) が格納されます。

リダイレクトタイプの応答

ステートレス要求とセッション要求はいずれもWSSP ファイルを使って処理され、この処理により、 マークアップ言語ファイルが作成され、その後、ファイルがクライアントブラウザに送られます。ファ イルの送信に先立ち、サーバーによってファイルの最初の行がチェックされます。ここで、最初の行 が<REDIRECT> タグで始まっていた場合、その行の残りの部分はURL と解釈されます。

その後、サーバーから301 ("Moved") 応答コードが返ります。この応答コードのLocation ヘッダに は、URL (<REDIRECT> タグの右に指定されているURL) が格納されます。.

サーバー上では、また、ファイルの冒頭にある <RELREDIRECT> タグも処理されます。この場合、 <REDIRECT> タグの処理と同じように、サーバーによって応答コードが作成されます。ただし、 Location ヘッダのURL には、接頭辞としてhttp またはhttps のほか、要求URL から取り出された サーバー名(また、ポート番号がある場合、そのポート番号) が付加されます。


CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.