8.2 承認アクティビティ

承認アクティビティは、ユーザに承認フォームを表示するユーザ向きアクティビティです。承認フォームで、ユーザはプロビジョニング要求を承認、却下、または拒否できます。承認アクティビティには複数の発信フローパスを設定できますが、ランタイム時にはパスは1つしか実行されません。

アプリケーション要件に適合するように承認フォームをカスタマイズできます。フォームのカスタマイズの詳細については、「セクション 6.0, プロビジョニング要求定義のフォームの作成」を参照してください。

ユーザにフォームを表示する前に、承認アクティビティに指定されたすべての前動作データマッピングが実行されます。

ユーザがフォームを送信した後、承認アクティビティに指定されたすべての後動作データマッピングが実行されます。通常、これらのマッピングでは、フォームフィールドからフローデータオブジェクトへデータがコピーされます。

8.2.1 プロパティ

承認アクティビティには次のプロパティがあります。

表 8-3 承認アクティビティのプロパティ

プロパティ名

説明

名前

アクティビティの名前を指定します。

受信者

アクティビティの宛先を指定するダイナミック式を指定します。名宛人は、式の値が求められる方法に基づいて、ランタイム時に特定されます。

有効な宛先式を作成する方法および宛先が承認者タイプのプロパティを操作する方法の詳細については、「セクション 7.5, 承認動作の宛先の指定」を参照してください。

ヒント:新しいワークフローをテストするプロセスを簡略化するために、宛先を受信者に設定できます。これにより、フォームをテストするたびにユーザアプリケーションからログアウトして再びマネージャとしてログインする必要がなくなります。この手法は特に、ワークフローに複数レベルの承認が含まれている場合に役立ちます。テスト段階が完了した後、宛先を正しい値に変更できます。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。ワークフローで使用できるシステム変数の詳細については、「セクション 4.3.3, ワークフローデータについての理解」を参照してください。

メモの開始

最初のメモ電子メールを送信する時間をミリ秒単位で定義するダイナミック式を指定します。開始値は、アクティビティに関連付けられた最初の割り当てがあった時間からのオフセットです。ECMA Expression Builderの[ECMAScript変数]ペインで、一般的な間隔(時間、日、週など)を表す事前定義された式を選択できます。

これはメモ電子メール機能の一部です。このアクティビティが重要だと考えられ、至急実行する必要がある場合は、メモ電子メールをアクティビティ宛先に送信するようにアクティビティを設定できます。たとえば、アクティビティがタイムアウトする5日前から、アクティビティがタイムアウトするまで毎日、メモ電子メールを送信するようにメモ設定を行えます。このように設定するには、[メモの開始]時間、[メモの間隔]、および送信する電子メールを指定します(「セクション 8.2.3, 電子メール通知」を参照)。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。ワークフローで使用できるシステム変数の詳細については、「セクション 4.3.3, ワークフローデータについての理解」を参照してください。

メモの間隔

メモ電子メールを送信する間隔を定義するダイナミック式を指定します。ECMA Expression Builderの[ECMAScript変数]ペインで、一般的な間隔(時間、日、週など)を表す事前定義された式を選択できます。

エスカレーションの宛先

承認者タイプが「複数」または「定数」である場合は使用できません。

タイムアウト制限に達した場合に、このタスクを取得するユーザを特定するダイナミック式を指定します。

エスカレーションの宛先は、式の値が求められる方法に基づいて、ラインタイム時に特定されます。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。ワークフローで使用できるシステム変数の詳細については、「セクション 4.3.3, ワークフローデータについての理解」を参照してください。

エスカレーションの回数

承認者タイプが「複数」または「定数」である場合は使用できません。

タイムアウト時にアクティビティが再試行する回数を指定します。

アクティビティのタイムアウトが発生した場合、アクティビティに指定されたエスカレーションの回数に応じて、ワークフロープロセスがアクティビティを再試行できます。再試行のたびに、ワークフロープロセスはアクティビティを別のユーザにエスカレートすることができます。この場合、アクティビティは、別のユーザ(ユーザのマネージャなど)に再割り当てされた、アクティビティの作業を完了する機会をこのユーザに与えます。最後の再試行がタイムアウトした場合、アクティビティに指定された最終タイムアウトアクションに応じて、承認済み、却下済み、拒否済み、タイムアウト、またはエラーとしてアクティビティをマークできます。

[タイムアウト]間隔(この表の[タイムアウト]を参照)は、[エスカレーション間隔]に優先します。たとえば、タイムアウトを10分に設定し、[エスカレーションの回数]を3に、[エスカレーション間隔]を5に指定した場合、アクティビティは一部の再試行を試みずに10分後に終了します。この例では、2番目の再試行がキャンセルされ、ワークフローはアクティビティの処理を終了します。アクティビティが終了すると、ワークフローエンジンは、最終タイムアウトアクションで定義されているリンクに従います。

エスカレーション間隔

承認者タイプが「複数」または「定数」である場合は使用できません。

宛先がタスクを完了するまでの割り当て時間を定義するダイナミック式を指定します。エスカレーション間隔は、アクティビティが宛先により実行されるたびに適用されます。

[タイムアウト]間隔(この表の[タイムアウト]を参照)は、[エスカレーション間隔]に優先します。たとえば、タイムアウトを10分に設定し、[エスカレーションの回数]を 3に、[エスカレーション間隔]を 5に指定した場合、アクティビティは一部の再試行を試みずに10分後に終了します。この例では、2番目の再試行がキャンセルされ、ワークフローはアクティビティの処理を終了します。アクティビティが終了すると、ワークフローエンジンは、最終タイムアウトアクションで定義されているリンクに従います。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。ワークフローで使用できるシステム変数の詳細については、「セクション 4.3.3, ワークフローデータについての理解」を参照してください。

エスカレーションの通知の開始

承認者タイプが「複数」または「定数」である場合は使用できません。

最初のメモ電子メール(この表の[メモの開始]を参照)を[エスカレーションの宛先]に送信する時間を定義するダイナミック式を指定します。開始値は、エスカレーション割り当てがあった時間からのオフセットです。ECMA Expression Builderの[ECMAScript変数]ペインで、一般的な間隔(時間、日、週など)を表す事前定義された式を選択できます。

エスカレーションの通知の間隔

承認者タイプが「複数」または「定数」である場合は使用できません。

最初のエスカレーションの通知を送信してから、メッセージを[エスカレーションの宛先]に送信する頻度を定義するダイナミック式を指定します。ECMA Expression Builderの[ECMAScript変数]ペインで、一般的な間隔(時間、日、週など)を表す事前定義された式を選択できます。

最終タイムアウトアクション

ワークフローがタイムアウトした場合の要求の最終状態を特定します。次の選択肢があります。

  • 承認済み

  • 却下済み

  • 拒否済み

  • タイムアウト

  • エラー

Timeout

宛先がタスクを完了するまでの割り当て時間を定義するダイナミック式を指定します。タイムアウト間隔は、アクティビティが名宛人により実行されるたびに適用されます。

タイムアウト設定は、[エスカレーションの回数]および[エスカレーション間隔]の値に優先します。1つ以上のエスカレーション試行が行われる前に、アクティビティの[タイムアウト]の設定値に達した場合、アクティビティは、それらのエスカレーション試行を実行することなく処理を終了します。たとえば、タイムアウトを 10分に設定し、[エスカレーションの回数]を 3に、[エスカレーション間隔]を 5に指定した場合、アクティビティは一部のエスカレーション試行を試みずに 10分後に終了します。この例では、2番目のエスカレーション試行がキャンセルされ、ワークフローはアクティビティの処理を終了します。アクティビティが終了すると、ワークフローエンジンは、最終タイムアウトアクションで定義されているリンクに従います。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。ワークフローで使用できるシステム変数の詳細については、「セクション 4.3.3, ワークフローデータについての理解」を参照してください。

時間単位

タイムアウト間隔で使用される測定単位を特定します。次の選択肢があります。

  • ミリ秒

  • 時間

フォーム

ランタイム時に表示する承認フォームの名前を指定するか、新しいフォームを定義します。使用するフォームの名前を指定するか、[新しいフォームの作成]を選択します。新しいフォームの作成を選択した場合は、[新しいフォームの作成]ウィザードが起動し、次のように表示されます。

データ項目リストからフォームに含めるデータ項目を選択し、[完了]をクリックします。[承認フォーム]ウィザードは、選択したデータ項目それぞれを、新しいフォームの文字列タイプフィールドとして生成します。

承認アクティビティはフォームが関連付けられている必要があります。フォームが指定されていない場合、ランタイム時にエラーメッセージが表示されます。

要求者を除外

要求者が自分のプロビジョニング要求を承認できるかどうかを指定します。要求者が自分のプロビジョニング要求を承認できるように許可する場合は、[True]を選択します。許可しない場合は、[False]を選択します。

承認者タイプ

許可する宛先数と,このアクティビティで強制される承認パターンを指定します。次の選択肢があります。

  • 標準: 承認を完了するには、宛先によるアクションが必要です。

  • グループ: 承認を完了するには、グループ内の1つの宛先によるアクションが必要です。

  • 複数: 承認を完了するには、宛先すべてによるアクションが必要です。

    複数承認者タイプでは、後動作データ項目マッピングを使用できません。

  • 定数: 承認を完了するには、一定割合の宛先または絶対数の宛先(この表の[定数]プロパティを参照)によるアクションが必要です。

    定数承認者タイプでは、後動作データ項目マッピングを使用できません。

[承認者タイプ]プロパティが[宛先]プロパティを操作する方法の詳細については、「セクション 7.5, 承認動作の宛先の指定」を参照してください。

電子メールで通知

このアクティビティで電子メール通知を送信するかどうかを指定します。電子メールで通知する場合は[True]に設定します。通知しない場合は[False]に設定します。

[電子メール通知]タブを使用して送信する電子メールを指定します(「セクション 8.2.3, 電子メール通知」を参照)。

この機能を使用するには、プロビジョニング要求定義の[電子メールで参加者に通知]パラメータを[True]に設定する必要があります。表 5-1, 概要プロパティ

定数

承認者タイプが「標準」、「グループ」、または「複数」である場合は使用できません。

定数値を指定できます。または、定数に達するまでに必要になる一定割合(「75%」など)の承認、または定数に達するまでに必要になる絶対数(「3」など)の承認を指定するECMA式を作成できます。

デジタル署名タイプ

表 7-10の[デジタル署名タイプ]を参照してください。

優先度

承認アクティビティの優先度を定義するダイナミック式を指定します。有効な優先度値は、1、2、または3です。 ワークフローデータから優先度を決定する式を定義することもできます。たとえば、flowdata.get("Priority")と定義します。

ユーザアプリケーションでは、ユーザは、タスクの優先度の値でタスクリストをソートできます。

メモ:グループDNへの委任を有効にするには、承認者タイプは「グループ」または「標準」にできますが、宛先値は、そのグループに所属する各メンバーのユーザDNを返す式にする必要があります。次に例を示します。 IDVault.get(groupdn, ‘sales’, ‘members’)

8.2.2 データ項目マッピング

承認アクティビティに関連付けられたデータ項目をバインドするには、前動作および後動作マッピングを定義します。前動作マッピングは、定数、フローデータオブジェクトから取得した値、システムプロセス変数、システムアクティビティ変数、およびディレクトリ抽象化レイヤに式をコールして取得したデータで、承認フォームのデータを初期化します。後動作マッピングは、フォームデータをフローデータオブジェクトに戻します。

表 8-4 承認アクティビティのデータ項目マッピング

設定

説明

前動作

1つ以上の、前動作マッピングを指定できます。このオプションを選択した場合、[ソース式]列のセルをダブルクリックして、特定のターゲットフォームフィールドに使用するデータを承認フォームがどこから取得するかを指定できます。

メモ:[前動作]選択肢を選択した場合、[ターゲットフォームフィールド]列のセルは編集できません。

後動作

1つ以上の後動作マッピングを指定できます。このオプションを選択した場合、[ターゲット式]列のセルをダブルクリックして、フォームが処理された後でデータをフォームフィールドからどこにコピーするかを指定できます。

「複数」および「定数」の承認者タイプでは、後動作マッピングを使用できません(「セクション 8.2.1, プロパティ」を参照)。

承認アクティビティのフォームには、apwaCommentという特別な内部コントロールが含まれています。このコントロールにより、ユーザコメントがワークフローデータベースに書き込まれます。このコントロールには後動作マッピングを設定しないでください。このコントロールの詳細については、「セクション 6.5.9, DNMaker」を参照してください。

メモ:[後動作]オプションを選択した場合、[ソースフォームフィールド]列のセルは編集できません。

ソース式

前動作マッピングのソース式を指定します。[ソース式]列のセルをクリックすると、式の定義に役立つECMA Expression Builderが表示されます。

ターゲット式

後動作マッピングのターゲット式を指定します。[ターゲット式]列のセルをクリックすると、式の定義に役立つECMA Expression Builderが表示されます。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。

8.2.3 電子メール通知

承認アクティビティの電子メール通知を有効にするには、使用する電子メールテンプレートと、電子メール本文のターゲットトークンを求めるソース式を指定する必要があります。

表 8-5 承認アクティビティの電子メール通知設定

設定

説明

お知らせ君

この電子メール通知が通知電子メールであることを指定します。

メモ

この電子メール通知がメモ電子メールであることを指定します。

再試行メモ

この電子メール通知が再試行メモ電子メールであることを指定します。

システムトークンの表示

[ターゲット]列にシステムトークン(TO、CC、BCC、REPLYTOなど)を表示します。

電子メールテンプレート

使用する電子メールテンプレートの名前を指定します。デフォルトで、承認アクティビティはプロビジョニング通知テンプレートを使用します。

Designerで電子メールテンプレートを編集できます。詳細については、電子メールテンプレートの編集:を参照してください。

ソース/ターゲット

電子メール本文でのターゲットトークンのソース式を指定します。

ターゲットトークンのリストは、選択した電子メールテンプレートによって決まります。新しいトークンを追加することはできませんが、自分のソース式を作成することによってトークンに値を割り当てることができます。ランタイム時に、ソース式が評価され各トークンの値が決定します。

次に、使用できるターゲットトークンを示します。

  • TO

  • CC

  • BCC

  • REPLYTO

  • recipientFullName

  • initiatorFullName

  • requestTitle

  • userFirstName

プロビジョニング要求定義テンプレートを使用してワークフローを作成する場合、各トークンにはデフォルトのソース式が与えられます。デフォルトの式は、ワークフロープロセス(プロセスオブジェクト)から、またはデータ抽象化レイヤ(IDVaultオブジェクト)から値を取得します。アプリケーション要件に適合するようにこれらの式を変更できます。

メモ:リソース要求ポートレットで使用するワークフローを作成し、TOトークンの式として「_default_」を使用する場合、宛先式はIDVault式にする必要があります。

ECMA式の作成の詳細については、「セクション 10.0, ECMA式の使用」を参照してください。

メモ:電子メール通知は、[概要]タブで[電子メールで参加者に通知]チェックボックスが選択され、承認アクティビティの[電子メールで通知]プロパティが[True]に設定されているときにのみサポートされます。