 |
Version 5.1 |
|
|
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 インターフェイスは、複数のスキンに対応しています。スキンはいずれ
も複数のファイルのセットで、こうしたファイル(スキンファイル) によって情報の表示方式が決ま
ります。スキンファイルとしては、次のようなものがあります。
- WSSP ファイル。このファイルを使ってWeb ページ(HTML、WML など) が構築され、また
ページのデータがフォーマットされます。
- 静的サービスファイル。グラフィックファイル、スタイルシートなどです。
- 言語(語彙) ファイルこのファイルには、静的テキスト文字列( メッセージやページ、ボ
タンのタイトル、タグなど) が格納されています。各文字列は、WSSP ファイルから参照さ
れます。
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 種類があります。
直接アップロードされたファイルには、[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]パネル)があります。
名前付きスキンを作成する場合、[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 |
401 | HTTP 認証要求ヘッダの資格が不適当。 | 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.