この章では、ワークリスト・ユーザーや管理者がOracle BPM Worklistを使用する方法、およびワークリスト表示を各国のビジネス・ニーズ、言語、タイムゾーンにあわせてカスタマイズする方法について説明します。
項目は次のとおりです。
ワークフロー・サービスによって公開されるAPIの使用方法については、第30章「カスタム・ワークリスト・クライアントの作成」を参照してください。
ヒューマン・ワークフローの問題のトラブルシューティングの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のヒューマン・ワークフローのトラブルシューティングに関する項を参照してください。
Oracle BPM Worklistを使用すると、ビジネス・ユーザーは自分に割り当てられたタスクにアクセスして操作できます。たとえば、ワークリストから、融資エージェントは融資申請を確認し、マネージャは従業員の休暇申請を承認できます。これらのプロセスは、ヒューマン・タスクに定義されます。
Oracle BPM Worklistは、ユーザー・プロファイルに基づいて様々な機能を提供します。標準的なユーザー・プロファイルには、タスク割当て先、監督者、プロセス所有者および管理者が含まれます。たとえば、ワークリスト・ユーザーは、承認や却下などの結果を提供してタスクを完了することに加えて、ペイロードの更新、文書やコメントの添付、他のユーザーへのタスクのルーティングも実行できます。監督者やグループ管理者は、ワークリストを使用して、グループに割り当てられたタスクを分析し、そのタスクを適切にルーティングできます。
ユーザーは、ワークリスト・ビューの追加、表示する列の選択、フィルタ基準に基づいたタスクのサブセットの表示などによって、タスク・リストを必要に応じてカスタマイズできます。
タスク割当て先は、Oracle BPM Worklistを使用して次の操作を実行できます。
ワークリスト内のタスクに対して認可されているアクションの実行、共有タスクの獲得およびチェックアウト、個人のTo Doタスクの定義、およびサブタスクの定義を実行できます。
様々な基準に基づいてワークリスト・ビューでタスクをフィルタできます。
高優先度のタスク、期日の近いタスクなどの標準作業キューを使用できます。作業キューを使用すると、ユーザーは、カスタム・ビューを作成してワークリスト内のタスクのサブセット(高優先度のタスク、24時間以内に期限があるタスク、経費承認タスクなど)をグループ化できます。
カスタム作業キューを定義できます。
別のユーザーのワークリストの一部に対するプロキシ・アクセスを取得できます。
カスタムの休暇ルールおよび委任ルールを定義できます。
グループ所有者による、共有タスクのタスク・ディスパッチ・ルールの定義を可能にします。
完全なワークフロー履歴と監査証跡を収集できます。
タスクのためのデジタル署名を使用できます。
図29-1に、Oracle BPM Worklistを示します。
図29-1 Oracle BPM Worklist: タスク、フォーム、添付およびレポートへのアクセス
ワークリストは、Oracle JDeveloperのADFタスク・フローを使用して作成するタスク・フォームによって、ブラウザに表示されます。詳細は、第28章「ヒューマン・タスク用のタスク・フォームの設計」を参照してください。
ユーザーは、Oracle WebCenterなどのポータルを通じてタスクを操作することもできます。ポータルを使用すると、ユーザーは、複数の無関係なデータ・ソースからの情報を、編成された単一のビューに表示できます。このビュー(ポータル・ページ)には、ポートレットと呼ばれるコンポーネントを1つ以上含めることができ、各ポートレットでは様々なデータ・ソースからコンテンツを収集できます。
ワークフロー・サービスのクライアントは、ワークフロー・サービスで公開されたAPIを使用して作成できます。このAPIにより、クライアントは、ローカルとリモートのEJB、SOAPおよびHTTPを使用してワークフロー・サービスと通信できるようになります。
表29-1に、ユーザーに割り当てられた権限に基づいてOracle BPM Worklistで認識される様々なタイプのユーザーを示します。
表29-1 ワークリスト・ユーザー・タイプ
ユーザーのタイプ | アクセス |
---|---|
エンド・ユーザー(ユーザー) |
自分または所属グループに割り当てられたタスクを操作し、システム・アクションとカスタム・アクション、ルーティング・ルールおよびカスタム・ビューにアクセスできます。 |
監督者(マネージャ) |
自分のエンド・ユーザー・アクセスの他に、報告先のタスク、レポートおよびカスタム・ビューを操作します。 |
プロセス所有者 |
自分のエンド・ユーザー・アクセスの他に、プロセスには属しているが他のユーザーに割り当てられているタスクを操作します。 |
グループ管理者 |
自分のエンド・ユーザー・アクセスの他に、グループ・ルールと動的割当てを管理します。 |
ワークフロー管理者 |
エラー状態のタスク、たとえば再割当てまたは一時停止が必要なタスクを管理します。また、自身のエンド・ユーザーとしてのアクセス以外に、アプリケーションのプリファレンス変更および属性のマッピング、すべてのユーザーまたはグループに対するルール管理が可能です。 |
注意: 複数の認証プロバイダ(たとえば、SSOとフォーム)はサポートされていません。 |
ログインするには、Oracle SOA Suiteがインストールされている必要があり、SOAサーバーが実行中である必要があります。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド』を参照してください。
サポートされている次のWebブラウザを使用してください。
Microsoft Internet Explorer 7.x
Mozilla Firefox 2.x
Mozilla Firefox 3.x
Apple Safari
ログインする手順は、次のとおりです。
次に移動:
http://hostname:port_number/integration/worklistapp
hostname
は、Oracle SOA Suiteがインストールされているホスト・コンピュータの名前です。
port_number
は、インストール時に使用した番号です。
ユーザー名とパスワードを入力します。
管理者としてログインするには、事前にシードされているユーザーを使用できます。アイデンティティ・ストアにデモ・ユーザー・コミュニティをロード済の場合は、jsteinやjcooperなど他のユーザーを使用できます。
ユーザー名とパスワードは、JAZNに指定したユーザー・コミュニティに存在している必要があります。この章の各例で使用されているデモ・ユーザー・コミュニティの組織階層については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。
「ログイン」をクリックします。
Oracle Internet Directoryのweblogic
ユーザーがOracle BPM Worklistにログインするためには、Oracle Internet Directory認証者に管理者グループを割り当て、weblogic
ユーザーをそのグループのメンバーにする必要があります。
weblogicユーザーを有効にする手順は、次のとおりです。
LDAPブラウザを使用して、Oracle Internet Directoryにweblogicユーザーを作成します。次のようなusers.ldif
ファイルがOracle Internet Directoryにインポートされます。
dn: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com objectclass: inetorgperson objectclass: organizationalPerson objectclass: person objectclass: orcluser objectclass: orcluserV2 objectclass: top sn: weblogic userpassword: welcome1 uid: weblogic
Oracle Internet DirectoryにAdministratorsグループを作成し、このグループにweblogic
ユーザーを割り当てます。次のようなgroups.ldif
ファイルがOracle Internet Directoryにインポートされます。
dn: cn=Administrators,cn=Groups,dc=us,dc=oracle,dc=com objectclass: groupOfUniqueNames objectclass: orclGroup objectclass: top owner: cn=orcladmin,cn=Users,dc=us,dc=oracle,dc=com uniquemember: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com
アイデンティティ・サービス・ワークフローAPIは、ユーザー名、パスワードおよびレルム・セット(オプション、複数のレルムが組織に定義されている場合)を使用してログインを認証および認可します。管理者がプリファレンスを設定して、インタフェースに表示されるレルム・ラベルを変更したり、ログイン・ページ・イメージのソースの代替場所を指定する方法については、第29.8.2項「ワークリスト表示の設定方法(アプリケーション・プリファレンス)」を参照してください。
ユーザーがログインした後は、そのユーザーの権限および割り当てられたグループとロールに基づいて、「ホーム」(タスク・リスト)ページにユーザーのタスクが表示されます。「ユーザー・タスク」タブおよび「受信ボックス」がデフォルトで表示されます。「アクション」リストから実行できるアクションは、ログイン・ユーザーの権限によって異なります。
図29-2に、「ホーム」ページの例を示します。
表29-2では、「ホーム」(タスク・リスト)ページのコンポーネントについて説明します。
表29-2 「ホーム」(タスク・リスト)ページのコンポーネント
コンポーネント | 説明 |
---|---|
タブ |
表示されるタブは、ログイン・ユーザーに付与されているロールに応じて異なります。
詳細は、次を参照してください。 |
ワークリスト・ビュー |
受信ボックス、ユーザー作業キュー、プロキシ作業キュー: 詳細は、第29.3.2項「ワークリスト・ビューの作成方法とカスタマイズ方法」を参照してください。 |
タスク・ステータス |
棒グラフは、現在のビューのタスク・ステータスを示します。詳細は、第29.3.3項「タスク・ステータス・グラフのカスタマイズ方法」を参照してください。 |
表示フィルタ |
検索基準を「表示」、「割当て先」または「ステータス」の各フィールドから指定します。使用可能なカテゴリ・フィルタは、選択しているタブに応じて異なります。
「検索」を使用してキーワードを入力するか、「拡張検索」を使用します。詳細は、第29.3.1項「タスクのフィルタ方法」を参照してください。 |
アクション・リスト |
ヒューマン・タスクに対して定義したグループ・アクション(「申告」)またはカスタム・アクション(「承認」、「却下」など)を選択します。「申告」は、グループまたは複数のユーザーに割り当てられているタスクに対して表示されます。タスクを操作する前に、1人のユーザーがタスクを申告する必要があります。タスクに対して可能な他のアクション(システム・アクションなど)は、特定のタスクの「タスクの詳細」ページに表示されます。ここでは、To Doタスクやサブタスクも作成できます。 注意:
|
デフォルト列 |
タイトル: ヒューマン・タスクの作成時に指定したタイトル。パージまたはアーカイブされたプロセス・インスタンスに関連付けられていたタスクは表示されません。 番号: BPELプロセスの作成時に生成されたタスク番号。 優先度: ヒューマン・タスクの作成時に指定した優先度。最も高い優先度は1、最低は5です。 割当て先: ユーザー、グループまたはアプリケーションのロール。 状態: 「割当て済」、「完了」、「エラー発生」、「期限切れ」、「情報のリクエスト中」、「失効」、「一時停止」または「取消し済」から選択します。 作成日時: ヒューマン・タスクが作成された日時。 有効期限: ヒューマン・タスクの作成時に指定したタスク有効期限の日時。 |
タスクの詳細 |
ワークリストの下部に、「タスクの詳細」ページのインライン・ビューが表示されます。使用可能なアクションはボタンで示されます。詳細は、第29.4項「タスク操作: 「タスクの詳細」ページ」を参照してください。 |
図29-2には、「管理」、「レポート」および「プリファレンス」の各リンクも表示されています(右上隅)。表29-3に、「ホーム」、「管理」、「レポート」および「プリファレンス」の各ページの要約を示します。
表29-3 ワークリストの主要ページの要約
ページ | 説明 |
---|---|
ホーム |
表29-2に示すように、ログイン・ユーザーのタスク・リスト、選択したタスクの詳細、およびタスク操作の開始に必要なすべての機能が表示されます。 |
管理 |
使用可能な管理機能は、次のとおりです。
|
レポート |
次のレポートを使用できます。「不参加タスク・レポート」、「タスクの優先度レポート」、「タスクのサイクル・タイム・レポート」、「タスクの生産性レポート」および「タスク時間分布レポート」。詳細は、第29.11.1項「レポートの作成方法」を参照してください。 |
プリファレンス |
次のプリファレンスを設定できます。
|
Oracle BPM Worklistにログイン中のユーザーの権限をOracle Enterprise Manager Fusion Middleware Controlで変更した場合、その変更はそのユーザーがそれ以降にログインした後でのみ適用されます。2つのアクティブなワークリスト・セッションがあり、同じユーザーがその1つに権限変更前にログインし、もう1つには権限変更後にログインした場合も同様になります。最初のケースでは、ユーザーのログイン中はユーザーの権限変更が有効になりません。2番目のケースでは、ユーザーがワークリスト・アプリケーションの2番目のインスタンスにログインすると、ユーザーの権限変更が有効になります。
タスク・リストをカスタマイズするには、ワークリスト・ビューの追加、表示する列の選択、フィルタ基準に基づいたタスクのサブセットの表示など、様々な方法があります。フェッチするタスクの数を増やすには、タスク・リストの表示領域のサイズを大きくします。
注意: ヒューマン・タスクを含むSOAコンポジット・アプリケーションをパーティションにデプロイした場合、Oracle BPM Worklist内のパラメータとしてパーティションを使用し、それらのコンポジットに対して作成されたタスクをフィルタ処理することができません。たとえば、特定のパーティションに対応するタスク・タイプを選択することはできますが(同じタスク・タイプでパーティションが異なる)、拡張検索、カスタム・ビュー、カスタム・ルールおよびマップ済属性の各機能ではフィルタ処理が機能しません。たとえば、VacationRequestAppがパーティション1とパーティション2にデプロイされているとします。「拡張検索」を使用して、パーティション1にデプロイされたコンポジットに対応するタスクを選択しようとしても、検索結果にそれらのタスクは表示されません。 |
図29-3に、フィルタの各フィールドを示します。
タスクのサブセットを表示するには、次のフィルタ基準に基づいてフィルタを使用します。
割当て先
「ユーザー・タスク」タブで、次の中から選択します。
個人: ログイン・ユーザーに直接割り当てられているタスクが表示されます。
グループ: 次のタスクが表示されます。
ログイン・ユーザーが所属するグループに割り当てられているタスク
ログイン・ユーザーに割り当てられたアプリケーション・ロールに割り当てられているタスク
複数のユーザー(その中の1人はログイン・ユーザー)に割り当てられているタスク
個人とグループ: ユーザーに割り当てられている(直接割当てか、グループ、アプリケーション・ロール、ユーザーのリストによる割当てかに関係なく)すべてのタスクが表示されます。
前へ: ログイン・ユーザーが更新したタスクが表示されます。
レビューア: ログイン・ユーザーがレビューアになっているタスクが表示されます。
「開始済のタスク」タブで、「作成者」を選択します。
「スタッフのタスク」タブで、「報告先」を選択します。
「管理タスク」タブで、「管理者」を選択します。
ステータス: 次の中から選択します。「任意」、「割当て済」、「完了」、「一時停止」(後で再開可能)、「取消し済」、「期限切れ」、「エラー発生」(処理中)、「アラート済」、「情報のリクエスト中」。
検索: キーワードを入力して、タスクのタイトル、コメント、識別キー、および指定のフィルタ基準を満たすタスクのフレックス文字列フィールドを検索します。
詳細: 詳細な検索フィルタを指定します。
注意: 1つのタスクが複数の報告先に個別に割り当てられている場合は、マネージャが「スタッフのタスク」リストを表示すると、そのタスクが割り当てられている報告先の数と同じ数のタスクのコピーが表示されます。 |
割当て先またはステータスに基づいてタスクをフィルタ処理する手順は、次のとおりです。
「割当て先」および「ステータス」リストからオプションを選択します。
タスク・リストは、フィルタの選択内容に基づいて自動的に更新されます。
キーワード検索に基づいてタスクをフィルタ処理する手順は、次のとおりです。
キーワードを入力して、タスクのタイトル、コメント、識別キー、および指定のフィルタ基準を満たすタスクのフレックス文字列フィールドを検索します。
[Enter]を押すか、「リフレッシュ」をクリックします。
拡張検索に基づいてタスクをフィルタ処理する手順は、次のとおりです。
マップ済属性マッピングが定義済のタスク・タイプを選択すると、マップ済属性のラベルを拡張検索で使用できます。
詳細は、第29.10.1項「属性のマップ方法」を参照してください。
「詳細」をクリックします。
(オプション)図29-4および図29-5に示すように、「ビューとして保存」を選択し、ビュー名を指定します。次に、「表示」タブでその他の情報を指定します。
表29-4では、「表示」タブで選択可能な拡張検索のビュー列について説明します。
表29-4 拡張検索: ビュー列
列 | 説明 |
---|---|
開始日 |
タスクの開始日(To Doタスクで使用)。 |
タスク定義名 |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
所有者ロール |
タスク・インスタンスを所有しているアプリケーション・ロール(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がアプリケーション・ロールの場合は、このフィールドが設定されます。 |
更新日 |
タスク・インスタンスが最後に更新された日付。 |
コンポジット・バージョン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットのバージョン。 |
作成者 |
タスクの作成者の名前。 |
リクエスト元ユーザー |
タスクのリクエスト元ユーザー。 |
完了したパーセンテージ |
タスクが完了したパーセンテージ(To Doタスクで使用)。 |
所有者グループ |
タスク・インスタンスを所有しているグループ(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がグループの場合は、このフィールドが設定されます。 |
終了日 |
タスクの終了日(To Doタスクで使用)。 |
コンポジット |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの名前。 |
期日 |
タスクの期日(To Doタスクで使用)。 |
コンポジット識別名 |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの特定のデプロイメントの一意名。 |
タスク表示URL |
タスクの詳細を表示するためのURL。 |
更新者 |
タスクを最後に更新したユーザー。 |
結果 |
タスクの結果(例: 「承認済」、「却下済」)。このフィールドは、完了したタスク・インスタンスにのみ設定されます。 |
タスク・ネームスペース |
このタスク・インスタンスを定義するタスク・コンポーネントの全バージョンを一意に定義するネームスペース。同じタスク・コンポーネントの異なるバージョンに同じネームスペースを指定することは可能ですが、異なる2つのタスク・コンポーネントに同じネームスペースを指定することはできません。 |
承認者 |
タスクの承認者。 |
アプリケーション・コンテキスト |
タスクに関連付けられたアプリケーション・ロール(割当て先、所有者など)が属するアプリケーション。 |
所有者ユーザー |
タスク・インスタンスを所有しているユーザー(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がユーザーの場合は、このフィールドが設定されます。 |
識別子 |
(オプション)タスクのカスタムの一意識別子。これは、標準タスク番号に対する追加の一意識別子です。 |
カテゴリ |
タスクのカテゴリ。 |
取得者 |
タスクを申告したユーザーの名前(タスクがグループ、アプリケーション・ロールまたは複数のユーザーに割り当てられ、ユーザーによって申告された場合)。 |
コンポーネント |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
元の割当て先ユーザー |
タスクを委任するユーザーの名前(ユーザーが別のユーザーにタスクを委任する場合)。 |
割当て済 |
このタスクが割り当てられた日付。 |
ドメイン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットが属するドメイン。 |
タイトル |
タスクのタイトル。 |
数値 |
タスク・インスタンスを一意に識別する整数。 |
優先度 |
タスクの優先度を定義する整数。通常は1から5の数値が使用され、数値が低いほど優先度が高くなります。 |
割当て先 |
現在のタスク割当て先(ユーザー、グループまたはアプリケーション・ロール)。 |
状態 |
タスク・インスタンスの状態。 |
作成日 |
タスク・インスタンスが作成された日付。 |
有効期限 |
タスク・インスタンスの有効期限の日付。 |
図29-6に示すように、保存されたビューが「受信ボックス」の「ユーザー・ビュー」の下に表示されます。
図29-7に示すように、割当て先を選択します。
図29-8に示すように、条件(フィルタ)を追加します。
表29-5では、使用可能な条件について説明します。
表29-5 拡張検索: 条件
条件 | 説明 |
---|---|
開始日 |
タスクの開始日(To Doタスクで使用)。 |
割当て先 |
現在のタスク割当て先(ユーザー、グループまたはアプリケーション・ロール)。 |
タスク定義名 |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
所有者ロール |
タスク・インスタンスを所有しているアプリケーション・ロール(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がアプリケーション・ロールの場合は、このフィールドが設定されます。 |
更新日 |
タスク・インスタンスが最後に更新された日付。 |
作成日 |
タスク・インスタンスが作成された日付。 |
コンポジット・バージョン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットのバージョン。 |
作成者 |
タスクの作成者の名前。 |
リクエスト元ユーザー |
タスクのリクエスト元ユーザー。 |
完了したパーセンテージ |
タスクが完了したパーセンテージ(To Doタスクで使用)。 |
タイトル |
タスクのタイトル。 |
所有者グループ |
タスク・インスタンスを所有しているグループ(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がグループの場合は、このフィールドが設定されます。 |
終了日 |
タスクの終了日(To Doタスクで使用)。 |
優先度 |
タスクの優先度を定義する整数。通常は1から5の数値が使用され、数値が低いほど優先度が高くなります。 |
数値 |
タスク・インスタンスを一意に識別する整数。 |
コンポジット |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの名前。 |
期日 |
タスクの期日(To Doタスクで使用)。 |
状態 |
タスク・インスタンスの状態。 |
コンポジット識別名 |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの特定のデプロイメントの一意名。 |
タスク表示URL |
タスクの詳細を表示するためのURL。 |
更新者 |
タスクを最後に更新したユーザー。 |
結果 |
タスクの結果(例: 「承認済」、「却下済」)。このフィールドは、完了したタスク・インスタンスにのみ設定されます。 |
タスク・ネームスペース |
タスクのネームスペース。 |
承認者 |
タスクの承認者。 |
アプリケーション・コンテキスト |
タスクに関連付けられたアプリケーション・ロール(割当て先、所有者など)が属するアプリケーション。 |
所有者ユーザー |
タスク・インスタンスを所有しているユーザー(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がユーザーの場合は、このフィールドが設定されます。 |
識別子 |
(オプション)タスクのカスタムの一意識別子。これは、標準タスク番号に対する追加の一意識別子です。 |
有効期限 |
タスク・インスタンスの有効期限の日付。 |
カテゴリ |
タスクのカテゴリ。 |
取得者 |
タスクを申告したユーザーの名前(タスクがグループ、アプリケーション・ロールまたは複数のユーザーに割り当てられ、ユーザーによって申告された場合)。 |
コンポーネント |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
元の割当て先ユーザー |
タスクを委任するユーザーの名前(ユーザーが別のユーザーにタスクを委任する場合)。 |
割当て済 |
このタスクが割り当てられた日付。 |
ドメイン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットが属するドメイン。 |
図29-9に示すように、パラメータ値を追加します。
複数のフィルタを照合する場合は、「任意」または「すべて」を選択します。
(オプション)タスク・タイプを検索します。
「検索」をクリックします。
タスク・リスト・ページに、基準に従ってフィルタ処理されたタスクが表示されます。
図29-10に示す「ワークリスト・ビュー」領域には、次の項目が表示されます。
受信ボックス: 使用したフィルタの結果によるすべてのタスクが表示されます。デフォルトでは、すべてのタスクが表示されます。
ユーザー作業キュー: 標準ビューおよび定義したビューが表示されます。
プロキシ作業キュー: 共有ビューが表示されます。
ビューを作成、共有およびカスタマイズするには、ワークリスト・ビューを使用します。
ワークリスト・ビューを作成する手順は、次のとおりです。
「ワークリスト・ビュー」セクションで、「追加」をクリックします。
図29-11に示すように、「ユーザー・ビューの作成」ダイアログの「定義」タブを使用します。
ビューの作成、またはパブリック・ビューの使用: 独自のビューを作成するか、コピーするパブリック・ビューを参照します。
名前: ビューの名前を指定します。
標準ビューに追加: このオプションは管理者のみに適用されます。管理者はこのオプションを選択して、ビューを標準ビューとして作成します。作成された標準ビューは、すべてのワークリスト・ユーザーの「標準ビュー」リストに表示されます。
割当て先: 「個人」、「グループ」、「個人とグループ」、「前へ」または「レビューア」を選択します。
条件の追加: リストからフィルタを1つ選択して「追加」をクリックします。たとえば、「開始日」を選択して「追加」をクリックすると、「が次の日付」、「等しい」、「異なる」、「次より大きい」、「次より小さい」などが記載されたカレンダとリストが表示されます。
タスク・タイプ: タスク・タイプを参照するか、すべてのタイプについてフィールドを空白のままにします。選択したタスク・タイプにマップ済属性マッピングが定義済の場合は、「問合せ」および表示列ダイアログでマップ済属性のラベルを選択できます。
一致: 追加した条件に一致するのが「すべて」か「任意」かを選択します。
ビューの共有: 他のユーザーに、このビューの定義へのアクセス権を付与したり(この場合は、ビュー条件が権限受領者のデータに適用されます)、データ自体へのアクセス権を付与することができます(この場合、権限受領者は、データも含めて権限付与者のワークリスト・ビューを参照できます)。ビューを別のユーザーと共有することは、そのビューに対応する全タスクを他のユーザーに委任することに類似しています。つまり、共有相手のユーザーは自分のかわりにタスクを操作できます。共有ビューは「プロキシ作業キュー」の下に表示されます。
割当て先: ビューを共有するユーザー(権限受領者)を指定します。
図29-12に示す「ユーザー・ビューの作成」ダイアログの「表示」タブを使用して、ビューに表示するフィールドをカスタマイズします。
ビュー列の選択: タスク・リストに表示する列を指定します。特定のタスク・タイプにマップされている標準タスク属性またはマップ済属性を指定できます。デフォルト列は、受信ボックスの列と同じです。
ソート・キー列: ソートする列を選択します。
ソート順: 昇順または降順を選択します。
「OK」をクリックします。
ワークリスト・ビューをカスタマイズする手順は、次のとおりです。
棒グラフには、ステータス別にタスクが表示され、各ステータス・カテゴリのタスク数が示されます。このグラフは、現行ビュー内のフィルタ処理された一連のタスクに適用されます。
タスク・ステータス・グラフをカスタマイズする手順は、次のとおりです。
「編集」アイコンをクリックします。
図29-15に示すように、表示するステータス状態を追加または削除して、「OK」をクリックします。
自分または他のユーザーの最上位レベルのTo Doタスクを作成するには、図29-16に示す「To Doタスクの作成」ダイアログを使用します。このタスクはビジネス・タスクと関連していません。
To Doタスクは、割当て先の「受信ボックス」に表示されます。
他のTo Doタスクまたはビジネス・タスクの子であるTo Doタスクを作成できます。1つのTo Doタスクに作成できるのは、1レベルの子のTo Doタスクのみです。子のTo Doタスクが100%完了すると、その親のTo Doタスクも完了済としてマークされます。親のTo Doタスクが完了すると、ワークフロー・システム内では子のTo Doタスクが100%となります。ただし、親がビジネス・タスクの場合、その子のTo Doは完了済としてマークされません。この場合は、結果を設定して完了する必要があります。To Doタスクを明示的に100%に設定すると、親タスクでの集計はありません。
To Doタスクは、再割当て、エスカレートなどに加えて、削除(論理的な削除)やパージ(物理的な削除)も可能です。親タスクの再割当てやエスカレートなどが、子のTo Doタスクの割当てに影響を与えることはありません。To Doタスクが完了した後は、その完了率を100%未満にリセットできます。
割当てルール(休暇ルールなど)は、To Doタスクに適用されません。また、To Doタスクに対するビジネス・ルールの指定はできません。
To Doタスクを作成する手順は、次のとおりです。
図29-17に示すように、「アクション」リストから「To Doタスクの作成」を選択します。
図29-17に示す「To Doタスクの作成」ダイアログに詳細を入力して、「OK」をクリックします。
タスクのタイトル: わかりやすい内容を入力します。
カテゴリ: わかりやすい内容を入力します。
優先度: 1(最高)から5(最低)の間で選択します。
完了したパーセンテージ: この属性は、タスクの完了状況を示します。完了すると、この属性に100%が設定されます。
期日: この期日は期限切れではありません。期日を過ぎたタスクも参照できます。開始日は現在の日付である必要はありません。
開始日: タスクの開始日。
割当て先: 自分または他のユーザーを割り当てることができます。
ビジネス・タスクのTo Doタスクであるサブタスクを作成するには、図29-18に示す「サブタスクの作成」ダイアログを使用します。図29-17に示す「サブタスクの作成」オプションを選択する前に、ビジネス・タスクを選択する必要があります。
サブタスクにより、ビジネス・タスクを測定可能なサブタスクに分解できます。また、サブタスクは、To Doタスクに対しても作成できます。複数レベルのサブタスクはサポートされていません(つまり、サブタスク内に別のサブタスクを指定することはできません)。複数レベルのサブタスクを作成し、メイン・タスク(承認や却下など)を操作しようとすると、エラーが発生します。
タスクの詳細は、インライン(図29-2 「Oracle BPM Worklist: 「ホーム」(タスク・リスト)ページ」の下部セクションを参照)またはポップアップ・ブラウザ・ウィンドウに表示できます(タスクをダブルクリックします)。
図29-19に、「タスクの詳細」ページを示します。
優先度の変更、コメントや添付ファイルの追加など、「タスクの詳細」ページで変更を行った場合は、他の変更を行う前に変更内容を保存する必要があります。
「タスクの詳細」ページには、次のコンポーネントがあります。
タスク・アクション: タスクに対して可能なシステム・アクションがリストされます。たとえば、「情報のリクエスト」、「再割当て」、「期限更新」、「一時停止」、「エスカレート」、「保存」などです。
アクション・ボタン: ヒューマン・タスクに定義されているカスタム・アクションに関するボタンが表示されます。たとえば、タスクの結果(ヘルプ・デスク・リクエストの場合は「解決済」と「未解決」、融資申請の場合は「承認」と「却下」)を設定するボタンがあります。タスク起案者、マネージャまたは管理者の場合は、「取消」も表示される場合があります。
詳細: 割当て先、タスク作成者、タスク番号、状態、優先度、タスク獲得者および他のマップ済属性など、タスクの属性を表示します。また、タスクの作成、最終更新および有効期限に関する日付も表示します。
コンテンツ: ペイロードが表示されます。表示されるフィールドは、ヒューマン・タスクの作成方法によって決まります。
リクエスタ: タスク・リクエスタに関する詳細(フルネーム、連絡先情報など)が表示されます。
解決: コメントまたは解決のステータスが表示されます。
履歴: タスクの承認順序や更新履歴が表示されます。詳細は、第29.4.2項「タスク履歴」を参照してください。
表29-6に、「タスクの詳細」の「履歴」セクションで使用されるアイコンの意味を示します。
表29-6 タスク・アクションの「履歴」のアイコン
アイコン | 説明 |
---|---|
![]() |
非定型ルーティング・シナリオの承認者を表します。 |
![]() |
タスクが承認されたことを示します。 |
![]() |
FYI参加者を表します。つまり、この参加者は通知タスクを受信するのみで、ビジネス・プロセスはこの参加者のレスポンスを待機しません。参加者がタスクの結果に直接影響を与えることはできませんが、コメントを提供したり添付ファイルを追加できる場合があります。 |
![]() |
複数の人が並行して作業することを示します。このパターンは主に投票で使用されます。 |
![]() |
この参加者が管理チェーンに属していることを示します。 |
![]() |
参加者が1人のユーザー、1つのグループまたはロールにマッピングされる単純なケースであることを示します。 |
![]() |
タスクが未着手であることを示します。 |
コメント: ワークフローに参加した様々なユーザーが入力したコメントが表示されます。新規に追加されたコメントやコメンタのユーザー名は、既存のコメントに追加されます。コメントの追跡情報は、タスクのライフ・サイクル全体を通じて保持されます。コメントを追加または削除するには、タスクの更新権限が必要です。
添付ファイル: タスクに関連付けられている文書または参照URLが表示されます。これらは通常、ヒューマン・タスクに定義されたワークフロー、またはワークリストを使用して参加者が添付して変更したワークフローに関連付けられています。添付ファイルを追加または削除するには、タスクの更新権限が必要です。添付ファイルを追加する場合は、ファイルの絶対パス名を使用したり、ファイルを参照することができます。
コメントおよび添付ファイルは、タスクとサブタスクの間で共有されます。したがって、To Doタスクを作成してコメントと添付ファイルを追加すると、そのTo Doタスクのサブタスクにも同じコメントと添付ファイルが含まれます。
ユーザーがタスクを参照できるのは、そのタスクが、現在の割当て先(直接的な割当てまたはグループ・メンバーシップによる割当て)、現在の割当て先のマネージャ、作成者、所有者、または以前のアクターとして関連付けられている場合です。
グループ・メンバーシップとロールは、ユーザーのプロファイルによって決定されます。ユーザーの権限は、ロールによって決定されます。ただし、ユーザーが実行できるアクションの正確なセットは、権限とは別に、タスクの状態、カスタム・アクション、および設計時にタスク・フローに対して定義された制限付きアクションによっても変化します。
ユーザーがタスクに対して実行できるアクションは、次のアルゴリズムで決定されます。
ユーザーが実行できるアクションのリストは、そのユーザーに付与されている権限に基づいて取得されます。
現在のタスクの状態で実行できるアクションのリストが取得されます。
前述のリストに出現するアクションの結合リストが作成されます。
タスクで制限付きアクションとして指定されているアクションが結合リストから除外されます。
結果のアクション・リストは、対象ユーザーのタスク・リスト・ページと「タスクの詳細」ページに表示されます。ユーザーが特定のアクション(申告、一時停止、再割当てなど)をリクエストすると、ワークフロー・サービスでは、リクエストされたアクションが前述のアルゴリズムで決定されたリストに含まれていることを確認します。
前述のアルゴリズムのステップ2では、多くのケースが処理されます。タスクの状態が、最終完了(順序フローですべての承認が終了した状態)、期限切れ、取消し済、エラー発生のいずれかである場合、追加の更新アクションは許可されません。これらの状態の場合は、タスク、タスク履歴およびサブタスク(パラレル・フローの親タスク)を参照できます。タスクが一時停止されている場合、実行可能なアクションは再開または取消のみです。グループに割り当てられているタスクは、なんらかのアクションを実行する前に、申告する必要があります。
注意: タスクの承認など、「タスクの詳細」ページからタスクを操作した場合は、そのタスクに対する変更内容とともに、変更されていないタスクの詳細データも保存されます。ただし、「アクション」メニューからタスクを操作した場合、変更されていないタスクの詳細は保存されません。 |
アクション・バーには、すべてのタスクで使用可能なシステム・アクションがユーザーの権限に基づいて表示されます。表29-7に、システム・アクションを示します。
表29-7 システム・タスク・アクション
アクション | 説明 |
---|---|
申告 |
グループまたは複数のユーザーに割り当てられているタスクは、最初に申告する必要があります。「申告」は、グループまたは複数ユーザー割当ての「タスク・アクション」リストで選択可能な唯一のアクションです。タスクが申告されると、すべての適用可能なアクションがリストされます。 |
エスカレート |
タスクを完了できない場合は、そのタスクをエスカレートし、必要に応じて「コメント」領域にコメントを追加できます。このタスクは、ユーザーのマネージャ(階層内で1レベル上)に再度割り当てられます。 |
プッシュバック |
このアクションは、タスクをワークフロー内で1レベル下の前の割当て先に送信する際に使用します。 プッシュバック・アクションにより、他のすべてのアクションが上書きされます。たとえば、タスクがプッシュバックされた後に再度割り当てられた場合、再割当て先がタスクを承認すると、そのタスクはプッシュバックを実行したユーザーに戻されます。これが正常な動作です。 注意: タスクが集約されている場合、プッシュバック・アクションは使用できません。 |
再割当て |
マネージャは、タスクを報告先に委任できます。 |
リリース |
グループまたは複数のユーザーに割り当てられているタスクを、そのタスクを申告したユーザーが完了できない場合、そのタスクはリリースできます。このタスクは、他の割当て先ユーザーが申告して完了できます。 |
期限更新 |
タスクの期限切れが近づいている場合は、そのタスクを更新し、必要に応じて「コメント」領域にコメントを追加できます。タスクの有効期限は、1週間延長されます。期限更新は、タスク履歴に表示されます。タスクの更新期間は、オプションのパラメータによって管理できます。デフォルト値は、 |
情報の発行、情報のリクエスト |
この2つのアクションは、他のユーザーから詳細情報の提供をリクエストされた場合、またはタスク作成者や前の割当て先に詳細情報をリクエストする場合に使用します。再承認が不要な場合、タスクは次の承認者か、ビジネス・プロセスの次のステップに割り当てられます。 |
一時停止、再開 |
プロセスに関連していないタスクは、一時停止できます。これらのオプションを使用できるのは、BPMWorkflowSuspendロールを付与されているユーザーのみです。他のユーザーは、タスク・フィルタで「前へ」を選択するか、「一時停止」ステータスのタスクを検索することにより、このタスクにアクセスできます。一時停止の期間は無期限です。これは、「再開」を使用してタスクの処理を再開するまで継続されます。 |
取消 |
タスクの作成者が、そのタスクを継続しない場合(たとえば、休暇申請を取り消す場合)は、タスクを取り消し、必要に応じて「コメント」領域にコメントを追加できます。この場合は、ビジネス・プロセスによって、次の処理内容が決定されます。ホームページで「取消」アクションを使用するには、「作成者」タスク・フィルタを使用します。 |
タスク履歴には、ワークフローの参加者が実行したアクションの監査証跡、およびワークフローの様々な時点におけるタスク・ペイロードと添付ファイルのスナップショットが保持されます。タスクの短い履歴には、次のタスクによって作成されたすべてのバージョンが表示されます。
タスクの開始
タスクの再開始
タスクの結果の更新
タスクの完了
タスクのエラー
タスクの期限切れ
タスクの取消し
エラー割当て先に対するタスクのアラート
shortHistoryActions
要素を変更すると、「短い履歴」リストに次のアクションを追加できます。
獲得
非定型ルート
タスクのオート・リリース
委任
エスカレート
タスク情報のリクエスト
タスク情報の発行
ルーティング・スリップの上書き
結果とルートの更新
プッシュバック
再割当て
リリース
期限更新
再開
現在の割当てのスキップ
一時停止
更新
図29-20に示すように、履歴はタスク・フローのグラフィカル・ビューで表示されます。
図29-21に示すように、実行したすべてのアクション(コメントの追加など、タスクを変更しないアクションも含む)を表示するには、「フル・タスク・アクション」を選択します。
タスク履歴は、次の方法で表示できます。
タスク・スナップショットの表示
将来の承認者の表示
すべてのタスク・アクションの表示
ヒューマン・タスクが非定型ルーティングを許可するように設計されている場合、または、承認者の順序が事前に決定されていない場合、そのタスクは非定型方式でワーク・リスト内をルーティングできます。このようなタスクの場合は、「ルート」ボタンが「タスクの詳細」ページに表示されます。「ルート」ページから、ルーティングする1人以上のユーザーをルックアップできます。複数の割当て先を指定する場合は、割当て先リストの対象として、単純割当て(ユーザー全員へのグループ割当て)、順次割当てまたはパラレル割当てのいずれかを選択できます。
パラレル・タスクは、投票などのシナリオに対してパラレル・フロー・パターンが指定されている場合に作成されます。このパターンでは、パラレル・タスクに共通の親タスクが存在します。この親タスクがユーザーに表示されるのは、そのユーザーがタスクの割当て先、所有者または作成者である場合のみです。パラレル・タスク自体(サブタスク)は、他のすべてのタスクと同じように、タスクが割り当てられているすべてのユーザーが参照できます。親タスクからサブタスクを参照することも可能です。このようなシナリオでは、親タスクの「タスクの詳細」ページに「サブタスクの表示」ボタンが表示されます。「サブタスク」ページには、対応するパラレル・タスクが表示されます。投票シナリオでは、いずれかの割当て先ユーザーがペイロード、コメントまたは添付ファイルを更新した場合、その変更内容を参照できるのはそのタスクの割当て先のみです。
親タスクを参照できるユーザー(パラレル・フロー・パターンの最終レビューアなど)は、サブタスクをドリルダウンして、パラレル・フローの参加者によるサブタスクの更新を参照できます。割当て先ユーザーがサブタスクで作業する間、親タスクはサブタスクのコンテナになります。タスク所有者は、親タスクを操作したり承認することはできません。
パスワードが必要なヒューマン・タスクが設定されているときに、そのヒューマン・タスクを操作する場合は、図29-22に示すように、パスワードを入力する必要があります。
注意: 優先度の変更、コメントの追加など、「タスクの詳細」ページで変更を行った場合は、その変更内容を保存する必要があります。タスクに添付ファイルを追加した場合は自動的に保存されます。 |
タスクを再割当てまたは委任する手順は、次のとおりです。
図29-23に示すように、「タスク・アクション」リストから「再割当て」を選択します。
「再割当て」または「委任」を選択します。
「委任」は「再割当て」とは異なり、委任先の権限は委任元の権限に基づいています。この機能は、たとえば、マネージャのアシスタントが使用できます。
図29-24に示すように、ユーザー名またはグループ名を指定するか参照します。
スーパーバイザは、タスクを任意の報告先にいつでも再割当てできます。
名前を「選択済」領域に移動して、「OK」をクリックします。
タスクは、複数のユーザーまたはグループに再度割り当てることができます。図29-25に示すように、割当て先ユーザーの1人がタスクを申告する必要があります。
情報をリクエストする手順は、次のとおりです。
図29-26に示すように、「タスク・アクション」リストから「情報のリクエスト」を選択します。
図29-27に示すように、情報のリクエスト元として過去の承認者を選択するか、ユーザー名を検索します。あるいは、タスクを以前の割当て先にプッシュバックします。
図29-27 過去の承認者または別のユーザーへの情報のリクエスト、またはタスクのプッシュバック
「検索」アイコンを使用してユーザー名を検索すると、図29-28に示すように、「認証ブラウザ」が表示されます。
注意: マルチテナント環境の場合、ユーザーの検索はユーザー識別子のみで行い、テナント識別子では行わないでください。たとえば、ユーザー識別子がjsteinで、テナント識別子がcompany_name.jsteinの場合、jsteinを使用して検索します。 |
「OK」をクリックします。
タスクをルーティングする手順は、次のとおりです。
図29-29に示すように、「タスク・アクション」リストから「非定型ルート」を選択します。
図29-30に示すように、アクションを選択し、ルーティング・オプションを選択します。
単一の承認者: 単一のユーザーがタスクを操作する場合に使用します。タスクがロールまたは複数ユーザーのグループに割り当てられている場合は、1人のメンバーがタスクを申告して操作する必要があります。
グループ投票: パラレルで作業する複数のユーザーがアクションを実行する場合(たとえば、雇用に関するフローで複数のユーザーが応募者の採否を票決する)に使用します。図29-31に示すように、結果が有効になるために必要な得票率(多数決や満場一致など)を指定します。
単一承認者のチェーン: 承認者の順序リストに対して使用します。このリストは、任意のユーザーまたはグループで構成できます(ユーザーは組織階層に含まれている必要はありません)。
必要に応じて、ルート上の次の参加者のためにコメントを追加します。
ユーザー名またはグループ名を指定するか検索し、その名前を「選択済」領域に移動します。
「OK」をクリックします。
コメントまたは添付ファイルを追加する手順は、次のとおりです。
注意:
|
「コメント」または「添付ファイル」領域で、「追加」をクリックします。
コメントのテキストを入力し、「OK」をクリックします。追加したコメントは削除できません。
コメントには、日付、タイムスタンプおよびユーザー名が追加されます。
添付ファイルの場合は、図29-33に示すように、ファイル添付かURL添付かを指定して、「OK」をクリックします。
Oracle BPM WorklistでURLファイル(http://www.oracle.com/technology/products/oem/management_partners/snmpwp6.gif
など)を添付しても、そのファイルは電子メール添付ファイルとして送信されません。かわりに、このファイルは、電子メール通知のタスク詳細にハイパーリンクとして表示されます。デスクトップ・ファイルを添付した場合は、タスク通知の添付ファイルとして表示が可能です。
注意: マルチバイト・キャラクタ・セット(MBCS)を使用した添付ファイル名はサポートされていません。最大1998KBの添付ファイルをアップロードできます。この設定は、 <context-param> <param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE</param-name> <param-value>1998</param-value> </context-param> ファイルのアップロードの詳細は、Oracle Fusion Middleware Oracle Application Webユーザー・インタフェース開発者ガイドを参照してください。 |
「タスク・アクション」リストから、「保存」をクリックします。
ワークリストでは、ヒューマン・タスクで作成された次の署名ポリシーがサポートされています。
署名は不要: 参加者は署名せずにタスクを送信して操作できます。
パスワードは必須: 参加者はログイン・パスワードを指定する必要があります。
デジタル証明書(署名)は必須: 参加者はデジタル証明書を入手した後に、タスクの送信と操作が可能になります。デジタル証明書には、証明書発行者のデジタル署名が記載されているため、誰でも証明書が本物であることを確認できます。参加者の資格証明は、デジタル証明書によって証明されます。これは認証局(CA)が発行します。ユーザー名、シリアル番号、有効期限、証明書所有者の公開鍵のコピー(メッセージとデジタル署名の暗号化に使用)、および証明書発行者のデジタル署名が記載されているため、受信者は証明書が本物であることを確認できます。
署名ポリシーがあるタスクを操作すると、図29-34に示すように、「署名」ボタンが表示されます。
デジタル署名の保管、およびデジタル署名されたヒューマン・タスクの否認防止には、エビデンス・ストア・サービスを使用します。エビデンス・ストアは、図29-35に示すように検索できます。
詳細は、第31.1.10項「エビデンス・ストア・サービスとデジタル署名」を参照してください。
デジタル署名を指定する手順は、次のとおりです。
Oracle BPM Worklistの右上隅にある「プリファレンス」をクリックします。
左側のナビゲーション・バーで、「証明書」をクリックします。
図29-36に示すように、意思決定の署名に使用する証明書をアップロードします。
証明書を使用してタスクの結果に署名する際は、証明書発行者から発行された1つの証明書のみではなく、証明書チェーン全体をOracle BPM Worklistから.P7B
(PKCS7形式)ファイルとしてアップロードする必要があります。チェーン全体はInternet Explorerからエクスポートできます。Mozilla Firefoxでは、チェーンを.P7B
ファイルとしてエクスポートできません。この場合は、次の手順を実行できます。
Mozilla Firefoxからチェーンを.P12ファイル(秘密鍵も含まれるPKCS12形式)としてエクスポートします。
Internet Explorerに.P12
ファイルをインポートします。
このファイルをInternet Explorerから.P7B
ファイルとして再度エクスポートします。
Oracle BPM Worklistからこのファイルをアップロードします。
証明書をシステムに指定する際は、次の重要な点に注意してください。そうしないと、タスクに対する意思決定の署名に証明書を使用できません。
PKCS7ファイル形式は、バイナリの証明書形式です。スタンドアロンの証明書ファイルをディスクに格納する場合は、このオプションを選択します。
PKCS12ファイル形式は、キーストア形式です。証明書をキーストア内に格納する場合は、このオプションを選択します。
証明書の内容をコピーして貼り付ける場合は、「証明書内容のタイプまたは貼付け」を選択し、BASE64エンコード・テキストをフィールドに貼り付けます。このフィールドには、それ以外の形式の証明書を貼り付けないでください。同様に、証明書をアップロードする場合は、BASE64エンコード証明書をアップロードしないでください。アップロードがサポートされているのは、PKCS12およびPKCS7形式のファイルのみです。
Oracle BPM Worklistの右上隅にある「ホーム」リンクをクリックして、タスク・リストに戻ります。
承認または却下するタスクをクリックします。
タスクの詳細が表示されます。
「承認」または「却下」をクリックします。
デジタル署名の詳細が表示されます。
署名ポリシーがあるタスクの場合は、「署名」をクリックします。
テキスト署名レポート・ダイアログが表示されます。
ドロップダウン・リストから、意思決定の署名に使用する証明書を選択します。
使用するWebブラウザのマスター・パスワードを入力します。
「OK」をクリックします。
Webブラウザでは、選択した証明書を使用して、テキスト署名リクエストの上部に表示される文字列に署名し、選択したアクション(承認または却下)を起動します。ヒューマン・ワークフロー・サービスでは、タスク・ステータスが適切に更新されます。
証明書のアップロード方法と使用方法の詳細は、第31.1.10項「エビデンス・ストア・サービスとデジタル署名」を参照してください。
表29-8に、様々なタスク承認者がタスクに対して実行できるアクションのタイプを示します。
表29-8 タスク・アクションと承認者
タスク・アクション | 管理者 | 所有者(+所有者グループ) | 割当て先(+割当て先マネージャ+割当て先グループ+プロキシ割当て先) | 作成者 | レビューア | 承認者 |
---|---|---|---|---|---|---|
獲得(申告) |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
カスタム |
いいえ |
はい脚注1 |
はい脚注1 |
いいえ |
いいえ |
いいえ |
委任 |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
削除 |
いいえ脚注 2 |
いいえ脚注 2 |
はい脚注2 |
はい脚注2 |
いいえ |
いいえ |
エラー |
いいえ |
いいえ |
はい脚注3 |
いいえ |
いいえ |
いいえ |
エスカレート |
はい脚注4 |
はい脚注4 |
はい |
いいえ |
いいえ |
いいえ |
情報リクエスト |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
情報発行 |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
ルーティング・スリップの上書き |
はい |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
プッシュバック |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
パージ |
はい脚注2 |
はい脚注 2 |
いいえ |
はい |
いいえ |
いいえ |
再割当て |
はい脚注5 |
はい脚注5 |
可(プロキシ割当て先の場合は不可) |
いいえ |
いいえ |
いいえ |
リリース |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
期限更新 |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
再開 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
ルート |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
現在の割当てのスキップ |
はい |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
一時停止 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
更新 |
いいえ |
はい |
はい |
はい |
いいえ |
いいえ |
添付ファイルの更新 |
はい |
はい |
はい |
はい |
はい |
いいえ |
コメントの更新 |
はい |
はい |
はい |
はい |
はい |
いいえ |
プロセス履歴の表示 |
はい |
はい |
はい |
はい |
いいえ |
いいえ |
サブタスクの表示 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
タスク履歴の表示 |
はい |
はい |
はい |
はい |
はい |
はい |
取消 |
はい |
はい |
いいえ |
はい |
いいえ |
いいえ |
脚注1To Doタスクの場合は無効
脚注2To Doタスクの場合のみ有効
脚注3アラート状態のタスクに対して適用可能
脚注4現在の割当て先のマネージャへの申告とエスカレートなし
脚注5申告なし
休暇期間は、図29-37に示すように、指定した日付範囲内では自動タスク割当てから削除されるように設定できます。
休暇ルールはTo Doタスクに対して実行されません。休暇期間と同期する休暇ルールの設定方法については、第29.7項「ルールの設定」を参照してください。
休暇期間を作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「ルール」タブが表示されます。
「休暇期間の有効化」をクリックします。
開始日と終了日を指定します。
「保存」をクリックします。
図29-38に示すように、休暇期間が有効になります。
ルールを使用してタスクを操作します。タスクは、特定のタスク・タイプ、またはユーザーやグループに割り当てられた全タスクのいずれかです。図29-39に、休暇ルールも含めて、ルールを設定する場所を示します(第29.6項「休暇期間の設定」で説明した休暇期間の設定とは異なります)。
ルールは、そのルールが使用されるすべての環境で常に適用できるわけではありません。たとえば、ルールが複数のタスク・タイプに適用される場合は、タスクによって結果が異なるため、すべてのタスクに結果を設定できない場合があります。
ルールはリストされている順序で実行されます。図29-39に示すように、ルールはヘッダーの上下ボタンを使用して順序を変更できます。
ルールはフィルタ条件を満たしている場合に実行され、他のルールは評価されません。ルールを実行するユーザーは、該当するタスクに割り当てられている唯一のユーザーであることが必要です。タスクが(自分を含めて)複数のユーザーに割り当てられている場合、ルールは実行されません。
ビジネス・ルールをTo Doタスクに対して指定することはできません。
ユーザー・ルールを作成する際は、次を指定します。
ルール名。
ルールが休暇ルールかどうか。休暇ルールと同期する休暇期間の設定方法については、第29.6項「休暇期間の設定」を参照してください。
ルールが適用されるタスクまたはタスク・タイプ: 指定されていない場合、ルールは全タスクに適用されます。タスク・タイプを指定すると、そのタスク・タイプにマップされたマップ済属性すべてをルール条件で使用できます。
ルールを適用するタイミング。
ルールに対する条件。これらの条件は、ルールを詳細に定義するフィルタです。たとえば、ルールで優先度1のタスクのみを操作したり、特定のユーザーが作成したタスクを操作するように指定します。標準タスク属性や特定のタスクにマップされた任意のマップ済属性に基づいて条件を作成できます。詳細は、第29.10.1項「属性のマップ方法」を参照してください。
ユーザー・ルールを使用して、次のアクションを実行します。
再割当て先: 直属の部下またはグループにタスクを再割当てできます。
委任先: 任意のユーザーまたはグループに委任できます。タスクを完了するためのアクセス権または権限は、タスクの委任元ユーザーに従って決定されます(委任した元のユーザーからの権限が、後続の委任または再割当てによって変更されることはありません)。
結果の設定先: ワークフロー・タスクが自動結果(タスクの承認または却下など)用に設計されている場合は、その結果を指定できます。ルールは特定のタスク・タイプを対象とする必要があります。ルールの対象がすべてのタスク・タイプの場合、このオプションは表示されません。
アクションを実行しない: このアクションを使用すると、より一般的な他のルールの適用を防止できます。たとえば、アクションが不要な融資申請を除いて、休暇中のすべてのタスクを別のユーザーに再度割り当てるには、2つのルールを作成します。第1のルールでは、融資申請に対してアクションを実行しないように指定し、第2のルールでは、すべてのタスクを別のユーザーに再度割り当てるように指定します。第1のルールによって、融資申請に対する再割当てが防止されます。
ユーザー・ルールを作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「ルール」タブが表示されます。
「ルール」領域で、「ルール」をクリックし、次に「追加」をクリックします。
「ルール」領域で次の操作を実行し、「保存」をクリックします。
ルールの名前を指定します。
休暇ルールを作成する場合は、「休暇ルールとして使用」を選択します。ルールの開始日と終了日は、休暇期間と自動的に同期されます。
このルールの適用対象となるタスク・タイプを参照します。
「次の期間のみルールを実行」を選択し、ルールの実行期間を指定します。
「IF」領域で、ルール条件を追加します。
図29-39に示すように、「THEN」領域で、実行するアクションを「再割当て先」、「委任先」、「結果の設定先」、「アクションを実行しない」から選択します。
新しいルールが「ルール」ノードの下に表示されます。
グループ・ルールの作成はユーザー・ルールの作成に類似していますが、ログイン・ユーザーが管理するグループのリストが追加されています。次に、グループ・ルールの例を示します。
特定の顧客からのタスクをグループのメンバーに割り当てます。
ラウンド・ロビン割当てを使用して、タスク割当てをグループの各メンバーに確実に均等配分します。
グループ内で最もビジーでないメンバーに、高優先度のタスクを確実にルーティングします。
グループ・ルールを使用して、次のアクションを実行します。
メンバーへの割当ての経由先: 割当てを取得するグループ・メンバーを決定するための基準を指定できます。この動的割当て基準には、ラウンド・ロビン割当て、最もビジーでないグループ・メンバーへの割当て、または最も生産性の高いグループ・メンバーへの割当てを含めることができます。また、タスクをグループ内のユーザーに割り当てるためのカスタム関数も追加できます。
割当て先: ユーザー・ルールと同様に、直属の部下またはグループにタスクを割り当てられます。
アクションを実行しない: ユーザー・ルールと同様に、より一般的なルールの実行を防止する条件を指定してルールを作成できます。
グループ・ルールを作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「他のルール」タブをクリックします。
リストから「グループ」を選択します。
グループ名を入力して「検索」アイコンをクリックするか、グループ名を入力します。
「認証ブラウザ」が開き、グループを検索して選択できます。
図29-40に示すように、「グループ・ルール」ノードの下でグループ名を選択し、「追加」をクリックします。
グループ・ルールの情報を入力して、「保存」をクリックします。
ルールの名前を指定します。
このルールの適用対象となるタスク・タイプを参照します。
ルールの実行日を指定します。
「IF」領域で、ルール条件を追加します。
図29-40に示すように、「THEN」領域で、実行する(または実行しない)アクションを「メンバーへの割当ての経由先」、「割当て先」、「アクションを実行しない」から選択します。
新しいルールが「グループ・ルール」ノードの下に表示されます。
タスクに複数の割当て先がある場合、割当てルールはタスクに対して評価されず、タスクは自動的にルーティングされません。これは、タスクの割当て先ごとに割当てルールを定義できるため、タスクに対して実行するアクションに競合が発生する可能性があるためです。割当てルールによってルーティングされるのは、単一のユーザーに排他的に割り当てられたタスクのみです。
たとえば、次の順序で操作を実行するとします。
ユーザーcdickensに対して、割当て済のすべてのリクエストをユーザーjsteinに再度割り当てるルールを作成します。
ユーザーjcooperは、割当て済のタスクをcdickensとcdoyleに再度割り当てます。
cdickensがタスクを申告し、そのタスクが受信ボックスに表示されます。
このタスクは、jsteinに自動的に再度割り当てられません。ユーザーjcooperが、複数のユーザー(cdickensとcdoyle)ではなく、cdickensのみにタスクを明示的に再度割り当てた場合は、cdickensに対して設定された割当てルールに従ってタスクがjsteinにルーティングされます。
管理者とは、BPMWorkflowAdminロールが付与されているユーザーです。次の管理機能があります。
他のユーザーまたはグループのルールの管理
ワークリスト表示の設定(アプリケーション・プリファレンス)
属性のマッピング
管理者は、すべてのユーザーに割り当てられたすべてのタスクを表示および更新できます。「管理者」タブを選択すると、管理者の「割当て先」フィルタに「管理者」が表示されます。
この機能は、ルールに関する問題を解決する場合に役立ちます。また、管理者は退社したユーザーに対するルールを設定できます。これにより、そのユーザーに割り当てられていた全タスクが別のユーザーまたはグループに自動的に割り当てられます。
別のユーザーまたはグループのルールを作成する手順は、次のとおりです。
ワークリストの外観は、アプリケーション・プリファレンスを使用してカスタマイズします。管理者は次の値を指定できます。
ログイン・ページ・レルムのラベル: アイデンティティ・サービスが複数のレルムで構成されている場合は、Oracle BPM Worklistのログイン・ページにレルム名のリストが表示されます。LABEL_LOGIN_REALM
は、これらのレルムを表示するラベルのルックアップに使用するリソース・バンドル・キーを指定します。レルムという用語は、ユーザー・コミュニティにあわせて変更できます。国、会社、部署または部門などの用語の方が適切な場合があります。管理者は、リソース・バンドルをカスタマイズし、この文字列にリソース・キーを指定して、このパラメータがリソース・キーを指し示すように設定できます。
グローバル・ブランド・アイコン: これは、ワークリストの各ページの左上隅に表示されるイメージです。(Oracleロゴがデフォルトです。)管理者は、ロゴに使用する.gif
、.png
または.jpg
ファイルを提供できます。このファイルはpublic_html
ディレクトリに置く必要があります。
リソース・バンドル: アプリケーション・リソース・バンドルは、ワークリストに表示される文字列を指定します。デフォルトでは、これは次のクラスです。
oracle.bpel.worklistapp.resource.WorklistResourceBundle
管理者は、WorkflowResourceBundle
をコピーして独自に作成することにより、アプリケーションに表示される文字列を変更できます。このパラメータを使用すると、管理者はこのカスタム・リソース・バンドルへのクラスパスを指定できます。
管理者はリソース文字列を追加して、WorklistResourceBundle.java
を拡張する必要があります。管理者は、WorkflowResourceBundle
をコピーして独自に作成することにより、アプリケーションに表示される文字列を変更できます。このパラメータを使用すると、管理者はこのカスタム・リソース・バンドルへのクラスパスを指定できます。次に、管理者は、コンパイルされたリソース・バンドルからJARファイルを作成し、次のディレクトリにコピーします。
SOA_Oracle_Home\j2ee\home\applications\worklist\worklist\WEB-INF\lib
次の言語設定を使用: ブラウザまたはアイデンティティ・プロバイダを選択します。
ワークリスト・ユーザーに関する情報を格納するアイデンティティ・プロバイダには、ユーザーのロケールを格納できます。このロケールにより、ワークリスト表示言語を決定できます。ロケール情報は、ユーザーのブラウザでも設定できます。このパラメータを使用して、ワークリスト・アプリケーションの表示言語の決定に使用するソースを指定します。
アプリケーション・プリファレンスを指定する手順は、次のとおりです。
「管理」タブをクリックします。
「アプリケーション・プリファレンス」をクリックします。
図29-43に示すように、アプリケーション・プリファレンス(ログイン・ページ・レルムのラベル、ブランド・アイコンまたはリソース・バンドル)の場所を参照します。
使用する言語設定を「ブラウザ」または「アイデンティティ・プロバイダ」から選択します。
「保存」をクリックします。
複数の通信チャネル(配信タイプ)にアクセスする場合は、通知設定を構成して、メッセージの受信方法、時期および場所を管理できます。具体的には、メッセージを配信するチャネルとその環境を指定するメッセージング・フィルタ(配信プリファレンス)を定義できます。
たとえば、異なるサービス・レベル合意(SLA)を持つ顧客から受信するメッセージに対してフィルタを作成し、プレミアムSLAの顧客の場合は勤務先電話番号とSMSチャネルを介して通知し、それ以外のSLAの顧客の場合は電子メールで通知するように指定できます。
メッセージング・フィルタ・ルールは、ルール条件とルール・アクションで構成されます。ルール条件は、ルール属性、演算子および関連する値で構成されます。ルール・アクションは、ルール内に指定した条件を満たす場合に実行されるアクションです。
表29-9に、メッセージング・フィルタでサポートされるデータ型を示します。各属性には関連するデータ型があり、各データ型には一連の比較演算子が事前定義されています。
表29-9 メッセージング・フィルタでサポートされるデータ型
データ型 | 比較演算子 |
---|---|
日付 |
isEqual、isNotEqual、isGreaterThan、isGreaterThanOrEqual、isLessThan、isLessThanOrEqual、Between、isWeekday、isWeekend |
時間 |
isEqual、isNotEqual、Between |
数値 |
isEqual、isNotEqual、Between、isGreaterThan、isGreaterThanOrEqual、isLessThan、isLessThanOrEqual |
文字列 |
isEqual、isNotEqual、Contains、NotContains |
注意: 文字列データ型は正規表現をサポートしていません。 |
特定のルールには、メッセージング・フィルタによって次のアクションを定義できます。
メッセージを送信しない: メッセージをチャネルに送信しません。
選択したすべてのチャネルにメッセージを送信: アドレス・リストに指定されているすべてのチャネルにメッセージを送信します。
最初の使用可能なチャネルに送信: 1つのメッセージの送信に成功するまで、アドレス・リスト内のチャネルに対してメッセージをシリアルに送信します。つまり、現在のチャネルが失敗ステータスを返すと、次のチャネルへの送信が実行されます。このフィルタ・アクションは、ヒューマン・ワークフロー・レイヤーから送信されるメッセージに対してはサポートされていません。
Oracle BPM Worklistでのメッセージング・チャネルは、業務用携帯電話などの物理的なチャネル、およびデスクトップで実行する電子メール・クライアント・アプリケーションの両方を意味します。Oracle BPM Worklistで具体的にサポートしているのは、次のメッセージング・チャネルです。
電子メール
IM
携帯電話
SMS
ボイス
ワークリスト
メッセージング・チャネルについては次の点に注意してください。
メッセージング・チャネルのアドレスは、構成済のアイデンティティ・ストアからフェッチされます。
SMS通知および携帯電話通知は、携帯電話番号に送信されます。
ボイス通知は、勤務先電話番号に送信されます。
メッセージング・チャネル・プリファレンスがワークリストの場合、特別な通知は送信されません。かわりに、Oracle BPM Worklistにログインしてタスクを表示してください。
優先チャネルが選択されていない場合、デフォルトのメッセージング・チャネル・プリファレンスは電子メールになります。
メッセージング・チャネルの表示、作成、編集および削除には、「メッセージング・チャネル」タブを使用できます。
既存のメッセージング・チャネルを表示できます。
メッセージング・チャネルを表示する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「通知」タブをクリックします。
「メッセージング・チャネル」タブをクリックします。
「マイ・メッセージング・チャネル」リスト(図29-44)が表示され、次の情報が表示されます。
名前: メッセージング・チャネルの名前。
タイプ: メッセージング・チャネルのタイプ(電子メール、SMSなど)。
アドレス: チャネルのアドレス(電話番号、電子メール・アドレスなど)。
デフォルト: このチャネルがデフォルトのメッセージング・チャネルかどうかを指定します。
「表示」→「列」の順にクリックして、表示または非表示の列を選択します。
また、「表示」→「列の並替え」の順にクリックしてダイアログを表示し、表示されている列を並べ替えることもできます。
メッセージング・チャネルの名前とアドレスは、基礎となるアイデンティティ・ストア(Oracle Internet Directoryなど)から取得されます。
メッセージング・フィルタ・タブを使用して、受信する通知のタイプ、およびこれらの通知を受信するために使用するチャネルを指定するフィルタを定義できます。そのためには、比較演算子(「は次と等しい」や「は次と等しくない」など)、通知タイプ、内容または送信元を表す属性、および通知アクション(使用可能な最初のメッセージング・チャネルに通知を送信、すべてのメッセージング・チャネルに通知を送信、またはどのチャネルにも通知を送信しない(事実上、通知をブロック))の組合せを使用します。
たとえば、上司であるLiseから受信したすべてのメッセージを取得するLiseからのメッセージというメッセージング・フィルタを作成できます。すべてのフィルタ条件に一致する通知が最初に業務用携帯電話などに送信され、最初のメッセージング・チャネルが使用できない場合は会社の電子メールに送信されます。
既存のメッセージング・フィルタを表示できます。
メッセージング・フィルタを表示する手順は、次のとおりです。
「通知」タブをクリックします。
「メッセージング・フィルタ」タブをクリックします。
「マイ・メッセージング・フィルタ」リスト(図29-45)が表示され、次の情報が表示されます。
フィルタ名: メッセージング・フィルタの名前
説明: (オプション)メッセージング・フィルタの説明
「表示」→「列」の順にクリックして、表示または非表示の列を選択します。
また、「表示」→「列の並替え」の順にクリックしてダイアログを表示し、表示されている列を並べ替えることもできます。
メッセージング・フィルタを作成する手順は、次のとおりです。
「作成」をクリックします。
図29-46に示すように、「メッセージング・フィルタ」ページが表示されます。
次の情報を指定します。
フィルタ名: メッセージング・フィルタの名前
説明: (オプション)メッセージング・フィルタの説明
次のように、「条件」セクションのリストおよびフィールドを使用して、フィルタ条件を定義します。
「次のすべての条件」または「次の任意の条件」オプションを選択して、通知がすべての条件を満たす必要があるのか、それとも一部の条件なのかを選択します。
リストから属性を選択します。
リストから「isEqual」などの演算子を選択します。
テキスト・ボックスに、条件の値を入力します。
「追加」をクリックして、条件をリストに追加します。
この手順を繰り返してフィルタ条件をさらに追加します。フィルタ条件を削除するには、「削除」をクリックします。
「アクション」セクションで、次のメッセージング・オプションから選択します。
メッセージを送信しない: メッセージをチャネルに送信しません。
選択したすべてのチャネルにメッセージを送信: アドレス・リストに指定されているすべてのチャネルにメッセージを送信します。
最初の使用可能なチャネルに送信: 1つのメッセージの送信に成功するまで、アドレス・リスト内のチャネルに対してメッセージをシリアルに送信します。つまり、現在のチャネルが失敗ステータスを返すと、次のチャネルへの送信が実行されます。
配信チャネルを設定するには、「通知チャネルの追加」リストからチャネルを選択し、「追加」をクリックします。チャネルを削除するには、「削除」をクリックします。
上/下矢印を使用してチャネルに優先度を付けます。最初の使用可能なチャネルに送信を選択した場合は、フィルタ基準と一致するメッセージが最上位のチャネル(使用可能な場合)で受信されます。
「OK」をクリックします。
メッセージング・フィルタが「マイ・メッセージング・フィルタ」ページに表示されます。この「マイ・メッセージング・フィルタ」ページでは、チャネルを編集したり、削除することができます。フィルタを作成せずにダイアログを閉じる場合は、「取消」をクリックします。
メッセージング・フィルタを編集する手順は、次のとおりです。
「マイ・メッセージング・フィルタ」ページでフィルタを選択します。
「編集」をクリックします。
「OK」をクリックしてメッセージング・フィルタを更新します。フィルタを変更せずにダイアログを閉じる場合は、「取消」をクリックします。
ヒューマン・ワークフローのマップ済属性(以前のフレックス・フィールド)での格納と問合せでは、状況固有のカスタム属性が使用されます。これらのカスタム属性は、通常、タスク・ペイロード値に基づきます。マップ済属性にカスタム属性を格納すると、次の利点が得られます。
フレックス・フィールドをタスク・リストの列として表示できます。
フレックス・フィールドでは、カスタム・ビューおよび拡張検索でタスクをフィルタ処理できます。
フレックス・フィールドは、キーワードベースの検索で使用できます。
たとえば、タスクの注文書リクエスト・ペイロードのRequester
、PurchaseOrderID
およびAmount
フィールドをマップ済属性に格納できます。Oracle BPM Worklistにログインした承認者は、これらのフィールドの値をタスク・リスト内の列で確認して、アクセスするタスクを決定できます。ユーザーは、マップ済属性に基づいてタスクをフィルタ処理するビューを定義できます。たとえば、ユーザーは、異なる金額範囲に基づいて発注書の承認用ビューを作成できます。ユーザーがある時点で特定のリクエスタまたは発注書IDに関連するタスクを取得することも必要になった場合、キーワード・フィールドにそのリクエスタまたは発注書IDを指定して検索を実行することによって、関連するタスクを取得できます。
マップ済属性の移入を行う場合は、次の手順で管理者がマップ済属性マッピングを作成する必要があります。
移入するマップ済属性のラベルを指定します。
このラベルに、データを含むペイロード属性をマップします。
これらのマッピングは、特定のタスク・タイプに対して有効です。したがって、タスク・タイプごとに異なるマップ済属性マッピングを作成できます。マッピングが完了し、新しいタスクが開始されると、そのペイロードの値はマップ済属性に推進されます。マッピングの前に開始されたタスクについては、マップ済属性に値は格納されません。マップ済属性に推進できるのは、ペイロード内の最上位レベルの単純型の属性のみです。複合型の属性またはその中にネストされた単純型の属性は推進できません。ペイロード内の属性はマップ済属性に推進する必要がある場合があることに留意しながら、ヒューマン・タスク・エディタでタスクのペイロードを定義することが重要です。キーワードベースの検索には、テキストおよび数値のすべてのマップ済属性が自動的に含められます。
基本的に、ヒューマン・タスク・エディタを使用するのは、タスクのペイロードを定義する場合のみです。他のすべての操作は実行時に実行されます。
ディレクトリ・ネーミングは、フレックス・ファイル・ネーミング規則と併用できません。
注意:
|
管理者または特別な権限があるユーザーは、属性マッピングを使用して(図29-47)、ペイロードのデータをインラインのマップ済属性に推進できます。データをマップ済属性に推進すると、それらのデータが検索可能になり、タスク・リスト・ページで列として表示できるようになります。
管理者はパブリック・マップ済属性をマップできます。workflow.mapping.publicFlexField
権限を付与されたユーザーはパブリック・マップ済属性をマップ可能であり、「管理」タブに「パブリック・フレックス・フィールド」ノードが表示されます。
ラベルを作成する手順は、次のとおりです。
マップ済属性マッピングを作成するには、まず管理者がマップ済属性を示すわかりやすい表示名となるセマンティック・ラベルを定義します。図29-48に示すように、「追加」をクリックして「ラベルの作成」ダイアログを使用します。
図29-48に示すように、labelNameはタスク属性TextAttribute3にマップされます。ペイロード属性もラベルにマップされます。この例では、「テキスト」属性タイプがlabelNameに関連付けられています。その結果、「テキスト」属性の値が「TextAttribute3」列に格納され、labelNameがユーザーのタスク・リストに表示される列ラベルになります。ラベルは、様々なタスク・タイプに再利用できます。ラベルを削除できるのは、そのラベルがどのマッピングにも使用されていない場合のみです。
マップされたペイロード属性は、カスタム・ビューに列として表示でき、カスタム・ビューとワークフロー・ルールの両方でフィルタ条件として使用できます。ペイロード属性の表示名は、マッピングの実行時に選択した属性ラベルです。
次の制限に注意してください。
マップできるのは、単純なタイプのペイロード属性のみです。
1つのタスク・タイプに使用できるマップ済属性(およびラベル)は1つのみです。
number
またはdate
データ型のデータ型変換はサポートされていません。たとえば、string
型のペイロード属性をnumber
型のラベルにマップすることはできません。
すべてのマッピングを参照する手順は、次のとおりです。
「全マッピングの参照」をクリックします。
ラベル表内の行を選択して、特定のラベルにマップされたすべてのペイロード属性を表示します。
マッピングをタスク・タイプ別に編集する手順は、次のとおりです。
「タスク・タイプによるマッピングの編集」をクリックし、必要に応じてタスク・タイプを指定して、「検索」をクリックします。
タスク・タイプを選択して、「OK」をクリックします。
「タスク・タイプによるマッピングの編集」フィールドにタスク・タイプが表示されている状態で、「実行」をクリックします。
図29-51に示すように、選択したタスク・タイプに対する現行のマッピングがすべて表示されます。
マッピングのラベルを選択して、「選択」をクリックします。
図29-52に、完成したマッピングを示します。
詳細は、第31.1.9.1項「属性ラベルの国際化」を参照してください。
次のマップ済属性がWorkflowTask.xsd
ファイルに含まれており、制限なしに使用できます。
表29-11 カスタムのマップ済属性
属性 | データ型 |
---|---|
customerAttributeString1 |
文字列 |
customerAttributeString2 |
文字列 |
customerAttributeNumber1 |
ダブル |
customerAttributeNumber2 |
ダブル |
customerAttributeDate1 |
日付 |
customerAttributeDate2 |
日付 |
これらの属性の設定および取得には、次のJava Architecture for XML Binding (JAXB)メソッドを使用します。
task.getCustomerAttributes.getCustomerAttributeString1()
task.getCustomerAttributes.setCustomerAttributeString1("String")
task.getCustomerAttributes.getCustomerAttributeNumber1()
task.getCustomerAttributes.setCustomerAttributeNumber2(9)
task.getCustomerAttributes.setCustomerAttributeDate1()
task.getCustomerAttributes.setCustomerAttributeDate2()
これらのフィールドは、customerAttributeString1
、customerAttributeString2
、customerAttributeNumber1
、customerAttributeNumber2
、customerAttributeDate1
、customerAttributeDate2
としてデータベースに保持されます。
表29-12に、タスク分析に使用できるワークリスト・レポートを示します。
表29-12 ワークリスト・レポートのタイプ
レポート名 | 説明 | 入力パラメータ |
---|---|---|
不参加タスク |
このレポートでは、ユーザーのグループまたは報告先のグループに割り当てられたタスクの中で、まだ獲得されていないタスク(不参加タスク)が分析されます。 |
|
タスクの優先度 |
このレポートでは、ユーザー、報告先またはそのグループに割り当てられたタスクの数が優先度別に分析されます。 |
|
タスクのサイクル・タイム |
このレポートでは、ユーザーのグループまたは報告先のグループに基づいて、タスクの割当てから完了までの所要時間が分析されます。 |
|
タスクの生産性 |
このレポートでは、ユーザー、報告先またはグループについて、特定期間中に割り当てられたタスク数と完了したタスク数が分析されます。 |
|
タスク時間分布 |
このレポートには、割当て先がタスクを実行するのに要した時間が表示されます。 |
|
図29-55に示すように、(すべてのレポート・タイプについて)レポート結果は表形式と棒グラフ形式の両方で表示されます。レポートの実行に使用した入力パラメータは、左下隅の「レポート入力」に表示されます(表示するためにスクロールが必要な場合があります)。
図29-56に、不参加タスク・レポートの例を示します。
このレポートは、Californiaグループに15件、Supervisorグループに7件、LoanAgentGroupに11件の不参加タスクがあることを示しています。このレポートでは、不参加(未申告)タスクはすべてDocumentReviewタスクです。レポートの実行時に複数のタイプの不参加タスクが存在する場合は、すべてのタスク・タイプがレポートに含まれ、それぞれのタスク・タイプが異なる色で表示されます。
図29-57に、タスクの優先度レポートの例を示します。
このレポートは、Californiaグループ、SupervisorグループおよびLoanAgentGroupに標準優先度のタスクがそれぞれ16件あることを示しています。ユーザーrstevenとjcooperのタスクはそれぞれ5件と22件で、いずれも標準優先度です。棒グラフでは、優先度(最高、高、標準、低、最低)が異なる色で区別されます。
図29-58に、タスクのサイクル・タイム・レポートの例を示します。
このレポートは、DocumentReviewタスクが完了するまでの平均所要時間が1時間6分、VacationApprovalタスクが完了するまでの平均所要時間が1時間28分であることを示しています。棒グラフには、平均サイクル・タイムがミリ秒単位で表示されます。
図29-59に、タスクの生産性レポートの例を示します。
このレポートは、California、LoanAgentGroupおよびSupervisorの各グループに割当て済のタスク数を示しています。ユーザー別では、jcooperに22件のタスクが割り当てられています。jcooperには、割当て済タスクに加えて、完了したタスクも2件あります。また、mtwainとrstevenには完了したタスクがそれぞれ6件と11件あることを示しています。棒グラフでは、2つのタスクの状態(「割当て済」と「完了」が異なる色で区別されます。
注意: 「自分とグループ」および「報告先」オプションは、生産性レポートから削除されました。 |
ユーザーの優先ワークリスト言語は、アイデンティティ・ストアまたはブラウザから構成されます。
ユーザーの優先タイムゾーンは、アイデンティティ・プロバイダから構成します。
プリファレンス情報が使用できない場合、ユーザーの優先言語とタイムゾーンはシステム・デフォルトによって決定されます。システム・デフォルトは、言語とタイムゾーンのサーバー設定に基づいています。
ブラウザ・ロケールのカスタム・リソース・バンドル・クラスが使用できず、デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスが使用できる場合、言語は、デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスから導出されます。デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスも使用できない場合、言語はカスタム・ベース・クラスから導出されます。
ユーザー言語設定が設定されていない場合、またはOracle BPM Worklistでサポートされていない言語に設定されている場合、ワークリスト・アプリケーションの言語はデフォルトで英語に設定されます。
ワークリスト・インタフェースで「ブラウザ」または「アイデンティティ・プロバイダ」を選択する手順については、次の各項を参照してください。
「アプリケーション・プリファレンス」ページから「ブラウザ」または「アイデンティティ・プロバイダ」を選択する方法については第29.8.2項「ワークリスト表示の設定方法(アプリケーション・プリファレンス)」
第29.3項「タスク・リスト・ページのカスタマイズ」および図29-14「ワークリスト・ビューのフィールドのカスタマイズ」
ワークリストのほとんどの文字列は、ワークリスト・アプリケーション・バンドルから取得されます。デフォルトでは、これは次のクラスです。
oracle.bpel.services.workflow.resource.WorkflowResourceBundle
ただし、これは、適切なアプリケーション・プリファレンスを設定するか(第29.8.2項「ワークリスト表示の設定方法(アプリケーション・プリファレンス)」を参照)、デフォルト・バンドル・クラスの更新済バージョンを指定することによって、カスタム・リソース・バンドルに変更できます。詳細は、ワークフローのカスタマイズのサンプルを参照してください。
タスク属性名、マップ済属性のラベルおよびDynamic Assignment Function名に関しては、文字列はリソース・プロパティ・ファイルWorkflowLabels.properties
の構成により取得されます。このファイルは、サービス構成ディレクトリのwfresource
サブディレクトリに存在します。このファイルに対してDynamic Assignment Functionおよび属性ラベル用にエントリを追加する方法は、第31章「ヒューマン・ワークフロー・サービスの概要」を参照してください。
カスタム・アクションおよびタスクのタイトルの表示名は、タスク構成ファイルに指定されているメッセージ・バンドルから取得されます。メッセージ・バンドルが指定されていない場合は、設計時に指定された値が使用されます。カスタム・アクションおよびタスクのタイトルを優先言語で表示するためにメッセージ・バンドルを指定する方法については、第31章「ヒューマン・ワークフロー・サービスの概要」を参照してください。
Oracle Internet DirectoryなどのLDAPベース・プロバイダが使用されている場合、Oracle Internet Directoryコミュニティの言語設定が変更されます。組込みLDAPサーバーに接続し、Oracle Internet Directoryコミュニティの言語設定を変更します。
LDAPブラウザ(例: openLdapブラウザ、ldapbrowser、jXplorer)を起動します。手順については、使用するブラウザのドキュメントを参照してください。
サーバーが実行されているホスト名とポート番号、およびログインする管理ユーザーの資格証明を指定して、LDAPサーバーに接続します。
組込みLDAPの場合:
管理対象サーバーのデフォルトのポート番号は7001
です。
管理資格証明のユーザー名はcn=admin
です。
管理パスワード資格証明にアクセスするには、Oracle WebLogic Server管理コンソールから、ドメインに対して「セキュリティ」→「組込みLDAP」の順に選択します。
デフォルトのパスワード資格証明を変更する手順については、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』の第9章、組込みLDAPサーバーの管理に関する項を参照してください。
OIDmの場合:
デフォルトのポート番号は3060
です。
管理ユーザー名はcn=orcladmin
です。
管理パスワードはLDAPサーバーのパスワードです。
ユーザーの優先言語を変更するには、ユーザー・エントリに移動し、preferredLanguage属性を追加または設定します。サポートされている言語のリストは、表29-13「Oracle BPM Worklistでサポートされている言語」を参照してください。タイムゾーン設定を変更するには、orclTimeZone属性を追加または設定します。タイムゾーン文字列の書式は「大陸/地域」です。$JAVA_HOME/jre/lib/zi
ディレクトリでタイムゾーン値を確認できます。ディレクトリで大陸名(Africa、Asia、Americaなど)を指定し、ディレクトリ内のファイルで地域を指定します。地域によっては、America/Indiana/Indianapolisのようにサブ地域が含まれる場合があることに注意してください。
ユーザーがログインすると、ワークリストのページは、ユーザーの優先言語とタイムゾーンで表示されます。
より高いパフォーマンスを得るため、Oracle Enterprise Manager Fusion Middleware Controlの「システムMBeanブラウザ」のLocaleList
プロパティには、英語のみがリストされています。タスクのタイトル、カテゴリまたはサブカテゴリの他言語表示や言語の追加が必要な場合は、「システムMBeanブラウザ」で、言語のロケールを変更する必要があります。
注意: すべての言語を最初に追加する必要があります。後で他の言語を追加しても、以前に他の言語で記述されたタスクはワークリストには表示されなくなります。たとえば、以前に指定されていた言語が英語で、その後フランス語を追加した場合、フランス語の追加前に記述されたタスクはワークリストには表示されなくなります。 |
言語を追加または変更する手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlのナビゲータで、soa-infra
を右クリックし、「管理」→「システムMBeanブラウザ」を選択します。
「アプリケーション定義のMBeans」、oracle.as.soainfra.config
、「サーバー: server_name」、「WorkflowConfig」の順に展開します。
human-workflowをクリックします。
言語を変更する手順は、次のとおりです。
「名前」列で、LocaleList
をクリックします。
「値」フィールドで、値をクリックします。
「名前」列で、「言語」をクリックします。
「値」フィールドのen
を、使用する言語の値に変更します。
「適用」をクリックします。
言語を追加する手順は、次のとおりです。
「操作」タブをクリックします。
「名前」列で、createLocale
をクリックします。
「値」フィールドに値を入力します。より高いパフォーマンスを得るため、タスクのタイトル、カテゴリ、サブカテゴリで使用する言語のみを含めてください。
「起動」をクリックします。
JAZN XMLファイルで、太字で示された部分を変更しユーザーの優先言語を設定します。
<preferredLanguage>en-US</preferredLanguage>
Oracle BPM Worklistでは、表29-13に示す言語がサポートされています。
Oracle BPM Worklistでは、9つの管理言語がサポートされています。これに対して、ユーザーの通知プリファレンス・インタフェース(スタンドアロン・アプリケーションとして)では、21の実行時言語がサポートされています。ユーザーの優先言語が、ワークリストでサポートされていないが、ユーザーの通知プリファレンス・インタフェースではサポートされている言語に設定されている場合、ワークリストはサーバーで設定されている言語(サーバー言語がワークリストでサポートされていない場合は英語)で表示され、埋め込まれているユーザーの通知プリファレンス・インタフェースはユーザーの優先言語で表示されます。この場合は、ワークリストの「通知」タブのプリファレンス設定に移動したときに、2つの言語が表示されます。
たとえば、SOAサーバーの言語がフランス語で、あるユーザーが言語がアラビア語に設定されたブラウザでワークリストにアクセスしたとします。「プリファレンス」→「通知」タブに移動すると、ワークリスト・インタフェースはサーバー言語、つまりフランス語で表示され、埋め込まれているユーザーの通知プリファレンス・インタフェースはアラビア語で表示されます。
Oracle BPM Worklistは、ブラウザまたはアイデンティティ・プロバイダから言語を設定するように構成できます。この設定には、アプリケーション・レベルとユーザー・レベルの2つのレベルがあります。ユーザー・プリファレンスが設定されている場合は、ワークリストの表示言語が決定される際にこの設定が優先されます。これに対して、埋め込まれているユーザーの通知プリファレンス・インタフェースでは、常にアプリケーション・プリファレンスが優先されます。このため、ユーザーのプリファレンスはブラウザの言語を使用するように設定され、アプリケーション・プリファレンスはアイデンティティ・プロバイダの言語を使用するように設定されている場合(またはその逆)は、ワークリストとユーザーの通知プリファレンス・インタフェースで異なる表示言語が表示される場合があります。
次の説明は、JAZN XMLファイルからユーザーのタイムゾーンを抽出する方法に基づいています。
タイムゾーンを変更する手順は、次のとおりです。
ユーザーの優先タイムゾーンを設定するには、太字部分を変更します。
<timeZone>America/Los_Angeles</timeZone>
タイムゾーン文字列の形式は、大陸/地域です。$JAVA_HOME/jre/lib/zi
ディレクトリでタイムゾーン値を確認できます。ディレクトリが大陸名(たとえば、Africa、Asia、Americaなど)を示し、ディレクトリ内のファイルが地域を示します。一部の地域にはサブ地域(たとえば、America/Indiana/Indianapolis
)が含まれることに注意してください。
ワークリストで使用可能な一部の機能は、アプリケーションに埋め込むことができるスタンドアロン再利用可能コンポーネントとして公開されています。さらに、これらのスタンドアロン・タスク・フローにより、パラメータを使用した多くのカスタマイズ機能が提供されるため、ユーザーは要件にあわせてワークリスト・アプリケーションを作成してカスタマイズできます。すべてのタスク・フローは、埋込みアプリケーションに含めることができるADFライブラリにバンドルされます。
再利用可能な各ワークリスト・リージョンの使用方法は通常のワークリスト・リージョンと同じですが、いくつかの例外があります。次の手順では、アプリケーションを作成してタスク・リスト・タスク・フローをアプリケーションに埋め込むステップについて詳細に説明します。可能な場合は、他のタイプの再利用可能なワークリスト・リージョンの使用方法についても説明しています。
埋込みの再利用可能なワークリスト・リージョンを使用してアプリケーションを作成する手順は、次のとおりです。
Oracle JDeveloperで新規のFusion Webアプリケーションを作成します。この例では、アプリケーションの名前はTaskListTaskFlowSampleです。図29-60に詳細を示します。
ビュー・コントローラの「プロジェクト・プロパティ」を開き、「ライブラリとクラスパス」セクションで「ライブラリの追加」をクリックして、次のライブラリをクラスパスに追加します。
BPMワークリスト・コンポーネント: このライブラリを追加して、タスク・フローJAR adflibTaskListTaskFlow.jar
およびadflibWorklistComponents.jar
を追加します。これらはプロジェクトのクラスパスで必要です。
BPMサービス
WSRPコンテナ
図29-61に詳細を示します。
アプリケーションが非SOAサーバーで実行されている場合は、次の2つのステップを実行する必要があります。
oracle.soa.workflow
共有ライブラリをインストールします。
ただし、サーバーにoracle.soa.workflow.wc
がすでにインストールされている場合、oracle.soa.workflow
のインストールは不要です。
サーバーで外部JNDIを構成します。
ただし、タスク・リスト・タスク・フローをフェデレーテッド・モードで実行する場合、このステップは不要です。タスク・フローをフェデレーテッド・モードで使用する方法の詳細は、「federatedMode」セクションを参照してください。
ビュー・コントローラ・プロジェクトを選択し、「ファイル」→「新規」→「現在のプロジェクト・テクノロジ」→「Web層」→「JSFページ」の順に選択して、jspxファイル(例: testSample.jspx
)を作成します。
「JSFページの作成」ダイアログでは、必ず「XMLドキュメントの作成(*.jspx)」を選択してください。
「コンポーネント・パレット」からadflibTaskListTaskFlow.jar
を選択します。すべてのタスク・フローとリージョンのリストが含まれます。図29-62に詳細を示します。
タスク・フロー・リージョンの1つをjspxページにドラッグ・アンド・ドロップし、「作成」メニューから「リージョン」を選択します(例: タスク・リスト・タスク・フローの場合はtaskList-task-flow-definition)。
タスク・フロー定義の詳細は、次の各項を参照してください。
flex-fields-task-flow-definition、rules-task-flow-definition、tasklist-reports-task-flow-definitionまたはtaskList-task-flow-definitionを選択した場合は、表示される「タスク・フロー・バインディングの編集」ダイアログでタスク・フロー・パラメータを渡します。
新しいエントリがpagename
Pagedef.xml
ファイルに追加されます。
たとえば、taskList-task-flow-definitionを追加すると、新しいエントリは次のようになります。
<taskFlow id="taskListtaskflowdefinition1" taskFlowId="/WEB-INF/taskList-task-flow-definition.xml#taskList-task- flow-definition" xmlns="http://xmlns.oracle.com/adf/controller/binding"> <parameters> <parameter id="federatedMode" value="true" xmlns="http://xmlns.oracle.com/adfm/uimodel"/> <parameter id="showServerColumn" value="true" xmlns="http://xmlns.oracle.com/adfm/uimodel"/> </parameters> </taskFlow>
weblogic-application.xml
ファイルの共有ライブラリを追加します。oracle.soa.workflow.wc
をサーバーにインストールしている場合は、そのライブラリを追加します。
<library-ref>
<library-name>oracle.soa.workflow</library-name>
</library-ref>
アプリケーションをデプロイする前に、第29.13.2項「デプロイメント・プロファイルの設定方法」を参照してください。
アプリケーションをデプロイする前に、デプロイメント・プロファイルを編集する必要があります。
デプロイメント・プロファイルを編集する手順は、次のとおりです。
View Controllerプロジェクトを選択し、「ファイル」→「新規作成」→「一般」→「デプロイメント・プロファイル」を選択します。「WARファイル」を選択し、「OK」をクリックします。
「WEB-INF/lib」→「フィルタ」の順に選択し、adflibTaskListTaskFlow.jar
、adflibWorklistComponents.jar
およびwsrp-container.jar
を選択します。
タスク・フローをフェデレーテッド・モードで使用する場合は、フェデレーテッド・サーバーのリストをタスク・フローに渡す必要があります。詳細は、「federatedMode」を参照してください。
タスク・フローをフェデレーテッド・モードで使用する場合は、フェデレーテッド・サーバー間でグローバル・トラストを有効にします。これにより、すでに認証されたユーザー・トークンが、タスク・フローに渡されたすべてのフェデレーテッド・サーバーに渡されます。
すべてのフェデレーテッド・サーバーで次の手順を実行して、すべてのサーバーを再起動します。すべてのサーバーを再起動することが非常に重要です。
サーバーを再起動する手順は、次のとおりです。
Oracle WebLogic Serverコンソールにログインします。
「ドメイン構造」からドメイン名soainfraを選択します。SOAサーバーを使用していない場合は、ドメイン名が異なる場合があります。
「セキュリティ」タブを選択します。
「詳細」リンク(下部の「保存」ボタンの近くにあります)を選択します。
「資格証明」フィールドにパスワードを入力します(すべてのフェデレーテッド・サーバーで同じパスワードを使用する必要があります)。
「保存」をクリックします。
サーバーを再起動します。
タスク・リスト・タスク・フローでは、埋込みリージョンの表示動作を制御するためのパラメータを指定します。図29-63に詳細を示します。
次に、パラメータの一部を示します。すべてのパラメータのリストは、第33.4項「ワークリスト・ポートレット・パラメータの受け渡し」を参照してください。
federatedMode
trueとして渡された場合、タスク・リストはフェデレーテッド・モードで表示されます。タスク・フローをフェデレーテッド・モードで実行するには、フェデレーテッド・サーバーのリストをタスク・フローに渡す必要があります。次のいずれかの方法で、フェデレーテッド・サーバーのリストをタスク・フローに渡すことができます。
クライアント構成ファイルwf_client_config.xml
をクラス・パス(EARレベルのAPP-INF\classes\wf_client_config.xml
またはWebアプリケーションのWEB-INF\classes
)に含めます。クライアント構成ファイルには、すべてのフェデレーテッド・サーバーの詳細が含まれています。このパラメータの詳細は、第33.4項「ワークリスト・ポートレット・パラメータの受け渡し」を参照してください。
フェデレーテッド・サーバー・リストを格納したJAXBオブジェクトを作成します。このJAXBオブジェクトは、federatedServers
パラメータを使用してタスク・フローに渡すことができます。JAXBオブジェクトの作成方法については、「federatedServers」を参照してください。
クライアント構成ファイル(wf_client_config.xml
)とJAXBオブジェクトの両方がタスク・フローに渡された場合は、JAXBオブジェクトが優先されます。
federatedServers
タスク・フローがフェデレーテッド・モードで実行される場合、このパラメータは、サーバーのリストが含まれるJAXBオブジェクトです。クライアント構成ファイル(wf_client_config.xml
)も渡された場合は、このパラメータが優先されます。JAXBオブジェクト(WorkflowServicesClientConfigurationType
)の作成方法の詳細は、例29-1のコード例を参照してください。
例29-1に示すように、サーバーの1つをdefault
として設定する必要があります。デフォルトとして指定する必要があるのは1つのサーバーのみです。また、デフォルトとして指定したサーバーが、フェデレーテッド・サーバーのリストから除外されていることを確認してください。次の例では、これに関連するコードが太字で表示されています。
デフォルト・サーバーが使用されるのは、wf_client_config.xml
またはJAXBオブジェクトに複数のサーバーが定義されているが、ワークフロー・クライアントで1つのサーバーのみ必要な場合です。サーバー名をパラメータとして使用しないレガシーのAPIがいくつかあります。このようなレガシーのAPIをサポートするには、1つのサーバーをデフォルト・サーバーとして定義する必要があります。そうしないと、サーバー名を使用しないレガシーのAPIは機能しません。
例29-1 federatedServers
import oracle.bpel.services.workflow.client.config.IdentityPropagationType; import oracle.bpel.services.workflow.client.config.PolicyReferenceType; import oracle.bpel.services.workflow.client.config.PolicyReferencesType; import oracle.bpel.services.workflow.client.config.RemoteClientType; import oracle.bpel.services.workflow.client.config.ServerType; import oracle.bpel.services.workflow.client.config.SoapClientType; import oracle.bpel.services.workflow.client.config.WorkflowServicesClientConfigurationType; WorkflowServicesClientConfigurationType wscct = new WorkflowServicesClientConfigurationType(); List<ServerType> servers = wscct.getServer(); /**** Setting default server in the list ****/ ServerType defalutServer = new ServerType(); servers.add(defalutServer); defalutServer.setDefault(true); defalutServer.setExcludeFromFederatedList(true); defalutServer.setName("default"); RemoteClientType rct = new RemoteClientType(); rct.setServerURL("t3://myhost.us.oracle.com:7001"); rct.setInitialContextFactory("weblogic.jndi.WLInitialContextFactory"); rct.setParticipateInClientTransaction(false); defalutServer.setRemoteClient(rct); SoapClientType sct = new SoapClientType(); PolicyReferencesType prts = new PolicyReferencesType(); PolicyReferenceType prt = new PolicyReferenceType(); prt.setEnabled(true); prt.setCategory("security"); prt.setUri("oracle/wss10_saml_token_client_policy"); prts.getPolicyReference().add(prt); IdentityPropagationType ipt = new IdentityPropagationType(); ipt.setMode("dynamic"); ipt.setType("saml"); ipt.setPolicyReferences(prts); sct.setRootEndPointURL("http://myhost.us.oracle.com:7001"); sct.setIdentityPropagation(ipt); defalutServer.setSoapClient(sct); /****** Setting Federated Server 1 to the list ****/ ServerType server1 = new ServerType(); servers.add(server1); server1.setName("Human Resource"); RemoteClientType rct1 = new RemoteClientType(); rct1.setServerURL("t3://stadl28.us.oracle.com:7001"); rct1.setInitialContextFactory("weblogic.jndi.WLInitialContextFactory"); rct1.setParticipateInClientTransaction(false); server1.setRemoteClient(rct1); SoapClientType sct1 = new SoapClientType(); PolicyReferencesType prts1 = new PolicyReferencesType(); PolicyReferenceType prt1 = new PolicyReferenceType(); prt1.setEnabled(true); prt1.setCategory("security"); prt1.setUri("oracle/wss10_saml_token_client_policy"); prts1.getPolicyReference().add(prt1); IdentityPropagationType ipt1 = new IdentityPropagationType(); ipt1.setMode("dynamic"); ipt1.setType("saml"); ipt1.setPolicyReferences(prts1); sct1.setRootEndPointURL("http://stadl28.us.oracle.com:7001"); sct1.setIdentityPropagation(ipt1); server1.setSoapClient(sct1); /****** Setting Federated Server 2 to the list ****/ ServerType server2 = new ServerType(); servers.add(server2); server2.setName("Financials"); RemoteClientType rct2 = new RemoteClientType(); rct2.setServerURL("t3://myhost.us.oracle.com:7001"); rct2.setInitialContextFactory("weblogic.jndi.WLInitialContextFactory"); rct2.setParticipateInClientTransaction(false); server2.setRemoteClient(rct2); SoapClientType sct2 = new SoapClientType(); PolicyReferencesType prts2 = new PolicyReferencesType(); PolicyReferenceType prt2 = new PolicyReferenceType(); prt2.setEnabled(true); prt2.setCategory("security"); prt2.setUri("oracle/wss10_saml_token_client_policy"); prts2.getPolicyReference().add(prt2); IdentityPropagationType ipt2 = new IdentityPropagationType(); ipt2.setMode("dynamic"); ipt2.setType("saml"); ipt2.setPolicyReferences(prts2); sct2.setRootEndPointURL("http://myhost.us.oracle.com:7001"); sct2.setIdentityPropagation(ipt2); server2.setSoapClient(sct2);
showServerColumn
タスク・フローがフェデレーテッド・モードで実行される場合、デフォルトではタスク・リストのサーバー列は表示されません。サーバー列を表示する場合は、このパラメータをtrue
で渡します。それ以外の場合、サーバー列は表示されません。
wfCtxID
これはワークフロー・コンテキストのトークン文字列です。ワークフロー・コンテキストをタスク・フロー内部に作成する場合に使用します。アプリケーションがSSO対応の場合、またはアプリケーションがADFセキュリティを使用して保護されている場合、このパラメータは必要ありません。それ以外の場合、これは必須パラメータです。例29-2に、ワークフロー・コンテキストIDを取得する方法を示します。
次の図に示すように、ユーザーは意思決定の署名に使用する証明書をアップロードできます。証明書を使用してタスクの結果に署名する際は、証明書発行者から発行された1つの証明書のみではなく、証明書チェーン全体をOracle BPM Worklistから.P7B(PKCS7形式)ファイルとしてアップロードする必要があります。
デジタル証明書には、証明書発行者のデジタル署名が記載されているため、誰でも証明書が本物であることを確認できます。参加者の資格証明は、デジタル証明書によって証明されます。これは認証局(CA)が発行します。ユーザー名、シリアル番号、有効期限、証明書所有者の公開鍵のコピー(メッセージとデジタル署名の暗号化に使用)、および証明書発行者のデジタル署名が記載されているため、受信者は証明書が本物であることを確認できます。
証明書タスク・フローにパラメータはありません。図29-64に詳細を示します。
図29-65に、不参加タスク・レポートを示します。
次に、タスク分析に使用できるワークリスト・レポートを示します。
不参加タスク
不参加タスク・レポートでは、ユーザーのグループまたは報告先のグループに割り当てられたタスクの中で、まだ獲得されていないタスク(不参加タスク)が分析されます。
割当て先: (必須)このオプションでは、ユーザーのグループに割り当てられたタスク(グループ)、報告先のグループに割り当てられたタスク(「報告先」)、ユーザーが作成者であるタスク(「作成者」)、またはユーザーが所有者であるタスク(「所有者」)を選択します。
作成日: (オプション)日付範囲。
有効期限: (オプション)日付範囲。
タスクの状態: (オプション)状態は、「任意」、「割当て済」、「期限切れ」または「情報のリクエスト中」のいずれかです。
優先度: (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクの優先度
タスクの優先度レポートでは、ユーザー、報告先またはそのグループに割り当てられたタスクの数が優先度別に分析されます。
割当て先: (必須)このオプションには、選択した割当て先に応じて、ログイン・ユーザーに割り当てられたタスク(「個人」)、ユーザーとそのユーザーが所属するグループに割り当てられたタスク(「個人とグループ」)、または、ユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日: (オプション)日付範囲。
終了日: (オプション)レポートに含まれるタスクの終了日の日付範囲。
優先度: (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクのサイクル・タイム
タスクのサイクル・タイム・レポートでは、ユーザーのグループまたは報告先のグループに基づいて、タスクの割当てから完了までの所要時間が分析されます。
割当て先: (必須)このオプションには、選択した割当て先に応じて、自分のタスク(「個人」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日: (オプション)日付範囲。
終了日: (オプション)レポートに含まれるタスクの終了日の日付範囲。
優先度: (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクの生産性
タスクの生産性レポートでは、ユーザー、報告先またはグループについて、特定期間中に割り当てられたタスク数と完了したタスク数が分析されます。
割当て先: (必須)このオプションには、選択した割当て先に応じて、ユーザーのタスク(「個人とグループ」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日(範囲): (オプション)作成日の日付範囲。デフォルト値は1週間です。
タスク・タイプ: 「検索」(懐中電灯)アイコンを使用して、タスクのタイトルのリストから選択します。「ワークフロー・タスク・タイプの選択」ページに、タスクのすべてのバージョンがリストされます(オプション)。
タスク時間分布
タスク時間分布レポートには、割当て先がタスクを実行するのに要した時間が表示されます。
割当て先: (必須)このオプションには、選択した割当て先に応じて、ユーザーのタスク(「個人とグループ」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
開始...終了(日付範囲): (オプション)作成日の日付範囲。デフォルト値は1週間です。
タスク・タイプ: 「検索」(懐中電灯)アイコンを使用して、タスクのタイトルのリストから選択します。「ワークフロー・タスク・タイプの選択」ページに、タスクのすべてのバージョンがリストされます(オプション)。
ワークリストの外観は、アプリケーション・プリファレンスを使用してカスタマイズします。管理者は次の値を指定できます。
ログイン・ページ・レルムのラベル: アイデンティティ・サービスが複数のレルムで構成されている場合は、Oracle BPM Worklistのログイン・ページにレルム名のリストが表示されます。LABEL_LOGIN_REALM
は、これらのレルムを表示するラベルのルックアップに使用するリソース・バンドル・キーを指定します。realm(レルム)という語は、ユーザー・コミュニティにあわせて変更できます。たとえば、country(国)、company(会社)、division(部)、department(部門)などの方が適切な場合があります。管理者は、リソース・バンドルをカスタマイズし、この文字列にリソース・キーを指定して、このパラメータがリソース・キーを指し示すように設定できます。
グローバル・ブランド・アイコン: これは、ワークリストの各ページの左上隅に表示されるイメージです。(Oracleロゴがデフォルトです。)管理者は、ロゴに使用する.gif、.pngまたは.jpgファイルを提供できます。このファイルはpublic_html
ディレクトリに置く必要があります。
リソース・バンドル: アプリケーション・リソース・バンドルは、ワークリストに表示される文字列を指定します。デフォルトでは、これはoracle.bpel.worklistapp.resource.WorklistResourceBundle
のクラスです。図29-66に詳細を示します。
ヒューマン・ワークフローのマップ済属性での格納と問合せでは、状況固有のカスタム属性が使用されます。これらのカスタム属性は、通常、タスク・ペイロード値に基づきます。マップ済属性にカスタム属性を格納すると、次の利点が得られます。
フレックス・フィールドをタスク・リストの列として表示できます。
フレックス・フィールドでは、カスタム・ビューおよび拡張検索でタスクをフィルタ処理できます。
フレックス・フィールドは、キーワードベースの検索で使用できます。
たとえば、タスクの注文書リクエスト・ペイロードのRequester、PurchaseOrderIDおよびAmountフィールドをマップ済属性に格納できます。Oracle BPM Worklistにログインした承認者は、これらのフィールドの値をタスク・リスト内の列で確認して、アクセスするタスクを決定できます。ユーザーは、マップ済属性に基づいてタスクをフィルタ処理するビューを定義できます。
たとえば、ユーザーは、異なる金額範囲に基づいて発注書の承認用ビューを作成できます。ユーザーがある時点で特定のリクエスタまたは発注書IDに関連するタスクを取得することも必要になった場合、キーワード・フィールドにそのリクエスタまたは発注書IDを指定して検索を実行することによって、関連するタスクを取得できます。図29-67に詳細を示します。
ルールを使用してタスクを操作します。タスクは、特定のタスク・タイプ、またはユーザーやグループに割り当てられた全タスクのいずれかです。次の図に、休暇ルールも含めて、ルールを設定する場所を示します。
ルールは、そのルールが使用されるすべての環境で常に適用できるわけではありません。たとえば、ルールが複数のタスク・タイプに適用される場合は、タスクによって結果が異なるため、すべてのタスクに結果を設定できない場合があります。
ルールはリストされている順序で実行されます。ルールはヘッダーの上下ボタンを使用して順序を変更できます。ルールはフィルタ条件を満たしている場合に実行され、他のルールは評価されません。ルールを実行するユーザーは、該当するタスクに割り当てられている唯一のユーザーであることが必要です。タスクが(自分を含めて)複数のユーザーに割り当てられている場合、ルールは実行されません。
showOtherUsersRules
パラメータはブール値を取ります。このパラメータがTrue
として渡されると他のユーザーのルールが表示され、False
として渡されると他のユーザーのルールは表示されません。さらに、ユーザーが他のユーザーのルールを表示するには、必要な権限が付与されている必要があります。図29-68および図29-69に詳細を示します。