アプリケーションの設計


例:アクション
Web ユーザーに Lotus Notes メニューと同様のメニューを提供する

Web ユーザーの場合、IBM(R) Lotus Domino(R) データベースの作業中に IBM(R) Lotus Notes(R) のメニュー項目にアクセスすることはできません。したがって、Lotus Notes のメニューに相当するメニューを作成する必要があります。

@コマンド式を使用するアクションを作成し、アクションバーのボタンとして使用できるようにします。ここで注意が必要なのは、Lotus Domino では、ビューの中で選択された文書に基づくコマンドを解釈できないということです。これは、Web には「選択」された文書に関する表記法がないためです。[返答文書の作成] などのアクションについては、フォームアクションを [メイントピック] フォームに追加して、[返答] 文書を開く必要があります。

データベースのすべてのボタンや特定の@コマンドを Web で使用できるようにするには、[Web アクセス] の [ページ生成時に JavaScript を使用] データベースプロパティを選択します。このプロパティが設定されていないと、Lotus Domino では文書中の最初のボタンだけしか認識されません。デフォルトでは、このボタンは文書を閉じて保存するための [送信] ボタンとして扱われます。

Lotus Domino では、ボタン、アクション、およびホットスポットがすべて表示されることに注意してください。このような要素に Web アプリケーションでは使用できない@コマンドや @関数が含まれていても、同様です。

次の手順を完了すると、現在のデータベースで新規の [メイントピック] を開くボタンが作成されます。

1. Web ユーザー用のボタンを追加するビューを開きます。

2. [作成] - [アクション] - [アクション] を選択します。

3. [アクションのプロパティ] インフォボックスに入力します。[アクション情報] タブで、次の操作を実行します。

4. インフォリストで [オブジェクト] タブをクリックし、[メイントピックの作成] をクリックします。

5. [実行] プルダウンリストで、[クライアント] を選択した後 [式] を選択します。

6. 次の式を入力します。


7. ビューを保存します。

一般的に使用されているその他のメニュー項目の例を、次に示します。


文書をレビュー担当者に送信する

ここでは、提案された演奏会スケジュールをレビュー会議に配信する処理を例にとってみます。

1. [演奏会スケジュール] フォームで、[種類: 名前] フィールドを作成します。このフィールドに検討者を全員指定します。

2. [演奏会スケジュール] フォームで、[作成] - [アクション] - [アクション] を選択し、[アクションのプロパティ] インフォボックスで次の項目を指定します。

3. インフォリストで [オブジェクト] タブをクリックして、[検討用配信 (アクション)] を選択します。

4. [実行] プルダウンリストで [クライアント] を選択した後、[シンプルアクション] を選択します。

5. [アクションの追加] ボタンをクリックして [文書の送信] アクションを選択します。

6. フォームを保存します。

要求を承認または否認する

[要求] フォームを改良して、メールで送信された要求の承認または否認を、管理者が簡単に行えるようにします。[要求を承認] アクションと [要求を否認] アクションの 2 つのフォームアクションを作成します。

[要求を承認] アクションには、次の式を使用します。文書のステータスを [承認] に変更してから、文書を次の承認者に配信します。

FIELD Status:="Approved";
@MailSend(NextApprover;"";"";"For your review";"Click Approve Request to approve this requisition or click Deny Request to return the request to " + Initiator;"Initiator":"Body";[sign]);

[要求を否認] アクションには、次の式を使用します。文書の状態を [否認] に変更して、発信者に通知を配信します。

FIELD Status:="Denied";
@MailSend(Initiator;"";"";"Re:Your request";"Your request was unable to be approved.Contact " + PreviousApprover + "for more information.");

チェックボックスアクションで非表示のテキストを表示する

次の例では、データ入力フォームでの補足説明テキストの表示を要求するチェックボックスをユーザーが選択できるようにします。チェックボックスアクションは、通常のアクションを使用する場所であればどこでも使用できます。チェックボックスアクションを作成するには、2 種類のコードが必要です。1 つは、チェックボックスアクションの [値] プロパティの式です。この式で、Lotus Notes がチェックマークを表示する条件を指定します。もう 1 つは、チェックボックス値を切り替え、アクションに実行させたい操作を行う「Click」式またはスクリプトです。チェックボックスの状態を保存するための場所 (プロファイル文書のフィールドや環境変数など) を保持している必要があります。

非表示式など、チェックボックスの値の式は、True または False の値を返します。True の場合はチェックマークが表示されます。次の例では、「Options」という複数値のフィールドの個人プロファイルに値「Verbose」が含まれているときは、値の式の結果としてチェックマークが表示されます。

@GetProfileField("UserProfile"; "Options"; @UserName) = "Verbose"
Click イベントのコード例では、値「Verbose」がプロファイル文書フィールドにない場合は「Verbose」を挿入し、すでにある場合は「Verbose」を削除します。

_opts := @GetProfileField("UserProfile"; "Options"; @UserName);

@If(_opts = "Verbose";

@SetProfileField("UserProfile"; "Options"; @Trim(@Replace(_opts; "Verbose"; "")); @UserName);

@SetProfileField("UserProfile"; "Options"; @Trim(_opts :"Verbose"); @UserName)

);

REM {Redisplay the current form in the new mode.};

@If(@IsDocBeingEdited; @Command([ViewRefreshFields]); "")

REM 文よりも前のコードで、切り替える値を変更します。この例では、Verbose オプションによって、データを入力する際に役立つ情報が補足スタティックテキストとしてアプリケーションのフォームに表示されます。テキストを表示するかどうかの判断は、フォームの非表示式でプロファイル文書フィールドをテストします。ユーザーが文書を編集すると、このアクションは、以前に非表示にしたヘルプテキストを表示 (またはその逆に) するように画面を更新します。非表示式の例を次に示します。

!(@GetProfileField("UserProfile"; "Options"; @UserName) = "Verbose")
ヒント


関連項目