Domino では、LotusScript の実行はデータベースに接続されたエージェントによって処理されます。Domino アダプタは、次のいずれかの方法で LotusScript を実行します。
入力 |
結果 |
---|---|
agentName |
エージェントを実行します。 |
agentName およびスクリプト |
スクリプトを用いてエージェントを更新し、そのエージェントを実行します。 |
agentName、agentCreate、およびスクリプト |
スクリプトを用いてエージェントを作成し、そのエージェントを実行します。 |
次に示すカスタマイズされたアカウント属性は、LotusScript で使用できます。これらの属性のいずれかを使用する場合は、その属性を Domino ゲートウェイスキーママップに追加します。「リソースユーザー属性」列には値として「IGNORE_ATTR」を指定します。
agentName。実行するエージェントの名前を指定します。この属性は必ず指定します。 そうしないと、エラーが返されます。
agentServer。エージェントがインストールされている、エージェントを実行するデータベースの場所を指定します。この属性が存在しない場合は、「登録サーバー コンピュータ」リソースパラメータ (REG_SERVER) に指定された値がデフォルトとして使用されます。
agentDBName。エージェントを検索できるデータベースの名前を指定します。この属性では、リソースの「名前データベース」リソースパラメータ (NAB) で指定された値がデフォルトとして使用されます。
agentCreate。指定されたエージェントが見つからない場合に、アダプタで新しいエージェントを作成するかどうかを示すフラグを指定します。この属性のデフォルト値は false です。NULL 以外の値にすると、このフラグは有効になります。
agentCreate を指定する場合は、実行する LotusScript も指定してください。
エージェントの引数は、バックエンド NotesSession クラスからの専用プロパティーで、LotusScript へのノートハンドルに指定されます。これは次のように定義できます。
NotesDocument = NotesSession.DocumentContext
アクションスクリプトルーチンによって NotesDocument をインスタンス化し、そのフィールド値を LotusScript サブルーチンへのパラメータとして読み取ることができます。
ドキュメントに定義された任意の引数の名前と値を取得する LotusScript の例を次に示します。
Dim session As New NotesSession Dim doc As NotesDocument Set doc = session.DocumentContext Forall i In doc.Items Dim attrVal As Variant attrVal = doc.GetItemValue(i.Name) Print(" Attribute Name: " + i.Name + " Value: " + attrVal(0)) End Forall
NT アクションの場合と同じように、アクションの呼び出し中に定義された属性はすべて、先頭に WSUSER_ が付加されて NotesDocument に配置されます。
アクションは、拡張機能を有効にした Windows コマンドインタプリタ cmd.exe を使用して実行されます。ユーザー操作の前に実行するアクションでは、ゼロの値を返す必要があります。そうしないと、操作はエラー終了となります。
NT/ADSI cmd アクションと同様に、環境変数がエクスポートされ、アクションで利用できるようになります。これらの環境変数は、ユーザーに関する値 (リソーススキーママップの「Identity Manager ユーザー属性」列で定義される) を持つ、スキーマにマップされたすべての属性を、先頭に WSUSER_ を付加して構成します。
複数値属性は、次のようなパイプ区切りリストで構成されます。
WSUSER_groups=staff|admin|users