WEB アプリケーション用に LOTUS DOMINO をプログラミングする


Web エージェント

エージェントはブラウザでは実行できません。ブラウザから実行を指定できますが、エージェントのある Lotus Domino Server 上で実行されます。

Web エージェントの設定[エージェント] インフォボックスを使って、次を行います。


Web エージェントを有効にするブラウザからエージェントを実行可能にするには 2 つの方法があります。
RunAgent または ToolsRunMacro でエージェントを開始する際、非表示であるエージェント名 (たとえば、トリガーが [エージェントリストから手動で] の場合) にカッコが含まれている必要があります。OpenAgent URL コマンドでエージェントを開始する際は、カッコは不要です。OpenAgent URL には、空白を + (プラス符号) または %20 として指定するなど、特殊文字を Web 用に変換する必要があります。

次に示す 2 つのフォームイベントを Web 処理で使えます。


文書が保存されないようにするには、文書に SaveOptions という名前のフィールドを作成し、値に「0」を指定します。

メモ SaveOptions フィールドは既存のフィールドでなければなりません。Web エージェントはその値を「0」に変更します。Web エージェントがこのフィールドを作成すると、文書は値と関係なく保存されます。

Web エージェントでの LotusScript と JavaWeb エージェントは、式やシンプルアクションだけでなく、LotusScript または Java で記述できます。
Web アプリケーションが LotusScript を使用できるのはエージェントのみです。アクション、ホットスポットアクションボタン、イベントなどブラウザで実行されるその他の機能では LotusScript を使用できません。Web で実行指定した LotusScript エージェントでは、NotesTimer、NotesUIDatabase、NotesUIDocument、NotesUIView、NotesUIWorkspace の各クラスを使用できません。

HTML を Print ステートメントに埋め込むことで、ブラウザに書き出せます。Lotus Domino では Print ステートメントを蓄積し、エージェントの実行後に内容を含んだページを生成します。

エージェントの実行後に新規ページを表示するには、コードの終わりに Print ステートメントをページの URL を角カッコで囲んで挿入します。カレントデータベースの要素を指定するにはスラッシュとデータベース名を URL の最初に挿入します。

Java では、AgentBase.getAgentOutput を使って PrintWriter オブジェクトを取得し、ブラウザでの書き出しに使用します。

使用できるコンテキストは、エージェントがどのように開始したかに応じて、次のようになります。


OpenAgent URL コマンドは、アンパサンド (&) で記述された URL 文字列の終わりに引数を渡します。たとえば、
LotusScript と Java エージェントでは、DocumentContext か getDocumentContext で返された文書の Query_String アイテムを解析すると引数を取得できます。Query_String にはエージェントを実行した URL コマンド全体が含まれています。


関連項目