この章では、ワークリスト・ユーザーや管理者がOracle BPM Worklistを使用する方法、およびワークリスト表示を各国のビジネス・ニーズ、言語、タイムゾーンにあわせてカスタマイズする方法について説明します。
この章には次の項が含まれます:
ワークフロー・サービスによって公開されるAPIの使用方法については、第33章「カスタム・ワークリスト・クライアントの作成」を参照してください。
ヒューマン・ワークフローの問題のトラブルシューティングの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のヒューマン・ワークフローのトラブルシューティングに関する項を参照してください。
Oracle BPM Worklistを使用すると、ビジネス・ユーザーは自分に割り当てられたタスクにアクセスして操作できます。たとえば、ワークリストから、融資エージェントは融資申請を確認し、マネージャは従業員の休暇申請を承認できます。これらのプロセスは、ヒューマン・タスクに定義されます。
Oracle BPM Worklistは、ユーザー・プロファイルに基づいて様々な機能を提供します。標準的なユーザー・プロファイルには、タスク割当て先、監督者、プロセス所有者および管理者が含まれます。たとえば、ワークリスト・ユーザーは、承認や却下などの結果を提供してタスクを完了することに加えて、ペイロードの更新、文書やコメントの添付、他のユーザーへのタスクのルーティングも実行できます。監督者やグループ管理者は、ワークリストを使用して、グループに割り当てられたタスクを分析し、そのタスクを適切にルーティングできます。
ユーザーは、ワークリスト・ビューの追加、表示する列の選択、フィルタ基準に基づいたタスクのサブセットの表示などによって、タスク・リストを必要に応じてカスタマイズできます。
タスク割当て先は、Oracle BPM Worklistを使用して次の操作を実行できます。
ワークリスト内のタスクに対して認可されているアクションの実行、共有タスクの獲得およびチェックアウト、個人のTo Doタスクの定義、およびサブタスクの定義を実行できます。
様々な基準に基づいてワークリスト・ビューでタスクをフィルタできます。
高優先度のタスク、期日の近いタスクなどの標準作業キューを使用できます。作業キューを使用すると、ユーザーは、カスタム・ビューを作成してワークリスト内のタスクのサブセット(高優先度のタスク、24時間以内に期限があるタスク、経費承認タスクなど)をグループ化できます。
カスタム作業キューを定義できます。
別のユーザーのワークリストの一部に対するプロキシ・アクセスを取得できます。
カスタムの休暇ルールおよび委任ルールを定義できます。
グループ所有者による、共有タスクのタスク・ディスパッチ・ルールの定義を可能にします。
完全なワークフロー履歴と監査証跡を収集できます。
タスクのためのデジタル署名を使用できます。
図32-1に、Oracle BPM Worklistを示します。
図32-1 Oracle BPM Worklist: タスク、フォーム、添付およびレポートへのアクセス
ワークリストは、Oracle JDeveloperのADFタスク・フローを使用して作成するタスク・フォームによって、ブラウザに表示されます。詳細は、第30章「ヒューマン・タスク用のタスク・フォームの設計」を参照してください。
また、ユーザーは、Oracle WebCenter Portalなどのポータルを介してタスクを実行することもできます。ポータルを使用すると、ユーザーは、複数の無関係なデータ・ソースからの情報を、編成された単一のビューに表示できます。このビュー(ポータル・ページ)には、ポートレットと呼ばれるコンポーネントを1つ以上含めることができ、各ポートレットでは様々なデータ・ソースからコンテンツを収集できます。
ワークフロー・サービスのクライアントは、ワークフロー・サービスで公開されたAPIを使用して作成できます。このAPIにより、クライアントは、ローカルとリモートのEJB、SOAPおよびHTTPを使用してワークフロー・サービスと通信できるようになります。
表32-1に、ユーザーに割り当てられた権限に基づいてOracle BPM Worklistで認識される様々なタイプのユーザーを示します。
表32-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は、ユーザー名、パスワードおよびレルム・セット(オプション、複数のレルムが組織に定義されている場合)を使用してログインを認証および認可します。管理者がプリファレンスを設定して、インタフェースに表示されるレルム・ラベルを変更したり、ログイン・ページ・イメージのソースの代替場所を指定する方法の詳細は、第32.8.2項「ログイン・ページ・レルムのラベルの指定方法」を参照してください。
図32-2に、「ホーム」ページの例を示します。
このページは、ユーザーのロールに応じて、ユーザーに割り当てられたすべてのタスクと作業アイテムの一覧を表示します。たとえば、「ユーザー・タスク」ページと「開始済のタスク」ページはすべてのユーザーがアクセスできます。マイ・スタッフページにはスーパーバイザのみがアクセスでき、「管理タスク」ページにはプロセス・ワークスペース管理者のみがアクセスできます。
図32-3のように、左端には、「ユーザー・タスク」が選択されているビューのリストがあります。このリストを展開して、次を選択します:
特定のビューに、各ビューで開かれているタスクの数が表示されます。特定のビューを選択すると、タスク・カウントが最新の数値にリフレッシュされます。
プロセス・ワークスペースにデプロイされているアプリケーションのリスト。
指定したお気に入りのリンクまたはアプリケーション。
タスクでの作業中にこのリストを表示するには、「固定」をクリックします。非表示にするには「固定解除」をクリックします。
表32-2では、「ホーム」(タスク・リスト)ページのコンポーネントについて説明します。
表32-2 「ホーム」(タスク・リスト)ページのコンポーネント
コンポーネント | 説明 |
---|---|
ビューのリスト |
受信ボックス、標準ビュー、ユーザー・ビュー: 詳細は、第32.3.2項「ワークリスト・ビューを作成、削除およびカスタマイズする方法」を参照してください。 表示される「受信ボックス」ビューは、ログイン・ユーザーに付与されているロールに応じて異なります。
詳細は、次を参照してください。 |
ワークリスト・ビュー |
|
タスク・ステータス |
棒グラフは、現在のビューのタスク・ステータスを示します。詳細は、第32.3.3項「タスク・ステータス・グラフのカスタマイズ方法」を参照してください。 |
表示フィルタ |
「割当て先」または「状態」フィールドから検索条件を指定します。使用可能なカテゴリ・フィルタは、選択しているタブに応じて異なります。
「検索」を使用してキーワードを入力するか、「拡張検索」を使用します。詳細は、第32.3.1項「タスクのフィルタ方法」を参照してください。 |
アクション・リスト |
ヒューマン・タスクに対して定義したグループ・アクション(「申告」)またはカスタム・アクション(「承認」、「却下」など)を選択します。タスクがFYIタスクであっても、「申告」は、グループまたは複数のユーザーに割り当てられているタスクに対して表示されます。タスクを操作する前に、1人のユーザーがタスクを申告する必要があります。タスクに対して可能な他のアクション(システム・アクションなど)は、特定のタスクの「タスクの詳細」ページに表示されます。ここでは、To Doタスクやサブタスクも作成できます。 注意:
|
デフォルト列 |
タイトル: ヒューマン・タスクの作成時に指定したタイトル。パージまたはアーカイブされたプロセス・インスタンスに関連付けられていたタスクは表示されません。 作成者: タスクを作成したユーザー。 優先度: ヒューマン・タスクの作成時に指定した優先度。最も高い優先度は1、最低は5です。 割当て済: 対象のタスクが割り当てられた日付。 |
タスクの詳細 |
受信ボックスのタスクを選択すると、タスクの詳細がワークリストの下半分に表示されます。また、タスクをダブルクリックするとポップアップ・ブラウザ・ウィンドウで表示できます。使用可能なアクションはボタンで示されます。タスクを完了した場合:
詳細は、第32.4項「タスク操作: 「タスクの詳細」ページ」を参照してください。 |
図32-2には、「管理」、「レポート」および「プリファレンス」の各リンクも表示されています(右上隅)。表32-3に、「ホーム」、「管理」、「レポート」および「プリファレンス」の各ページの要約を示します。
表32-3 ワークリストの主要ページの要約
ページ | 説明 |
---|---|
ホーム |
表32-2に示すように、ログイン・ユーザーのタスク・リスト、選択したタスクの詳細、およびタスク操作の開始に必要なすべての機能が表示されます。 |
管理 |
使用可能な管理機能は、次のとおりです。
|
レポート |
次のレポートを使用できます。「不参加タスク・レポート」、「タスクの優先度レポート」、「タスクのサイクル・タイム・レポート」、「タスクの生産性レポート」および「タスク時間分布レポート」。詳細は、第32.11.1項「レポートの作成方法」を参照してください。 |
プリファレンス |
次のプリファレンスを設定できます。
|
Oracle BPM Worklistにログイン中のユーザーの権限をOracle Enterprise Manager Fusion Middleware Controlで変更した場合、その変更はそのユーザーがそれ以降にログインした後でのみ適用されます。2つのアクティブなワークリスト・セッションがあり、同じユーザーがその1つに権限変更前にログインし、もう1つには権限変更後にログインした場合も同様になります。最初のケースでは、ユーザーのログイン中はユーザーの権限変更が有効になりません。2番目のケースでは、ユーザーがワークリスト・アプリケーションの2番目のインスタンスにログインすると、ユーザーの権限変更が有効になります。
タスク・リストをカスタマイズするには、ワークリスト・ビューの追加、表示する列の選択、フィルタ基準に基づいたタスクのサブセットの表示など、様々な方法があります。フェッチするタスクの数を増やすには、タスク・リストの表示領域のサイズを大きくします。
注意: ヒューマン・タスクを含むSOAコンポジット・アプリケーションをパーティションにデプロイした場合、Oracle BPM Worklist内のパラメータとしてパーティションを使用し、それらのコンポジットに対して作成されたタスクをフィルタ処理することができません。たとえば、特定のパーティションに対応するタスク・タイプを選択することはできますが(同じタスク・タイプでパーティションが異なる)、拡張検索、カスタム・ビュー、カスタム・ルールおよびマップ済属性の各機能ではフィルタ処理が機能しません。たとえば、VacationRequestAppがパーティション1とパーティション2にデプロイされているとします。「拡張検索」を使用して、パーティション1にデプロイされたコンポジットに対応するタスクを選択しようとしても、検索結果にそれらのタスクは表示されません。 |
図32-4に、フィルタの各フィールドを示します。
タスクのサブセットを表示するには、次のフィルタ基準に基づいてフィルタを使用します。
割当て先
「割当て先」ドロップダウン・リストで、次のものから選択します。
自分: ログイン・ユーザーに直接割り当てられているタスクを取得します。
グループ: 次のものを取得します。
ログイン・ユーザーが属するグループに割り当てられたタスク
ログイン・ユーザーに割り当てられたアプリケーション・ロールに割り当てられているタスク
複数のユーザー(その中の1人はログイン・ユーザー)に割り当てられているタスク
自分および自分のグループ: ユーザーに直接、またはグループ、アプリケーション・ロール、ユーザー・リストのいずれかによって割り当てられた全タスクを取得します。
自分(以前): ログイン・ユーザーによって更新されたタスクを取得します。
自分(確認のみ): ログイン・ユーザーがレビューアであるタスクを取得します。
「スタッフのタスク」タブで、「報告先」を選択します。
状態: 次の中から選択します。「任意」、「割当て済」、「完了」、「一時停止」(後で再開可能)、「取消し済」、「期限切れ」、「エラー発生」(処理中)、「アラート済」、「情報のリクエスト中」。
検索: キーワードを入力して、タスクのタイトル、コメント、識別キー、および指定のフィルタ基準を満たすタスクのフレックス文字列フィールドを検索します。
詳細: 詳細な検索フィルタを指定します。
注意: 1つのタスクが複数の報告先に個別に割り当てられている場合は、マネージャが「スタッフのタスク」リストを表示すると、そのタスクが割り当てられている報告先の数と同じ数のタスクのコピーが表示されます。 |
割当て先または状態に基づいてタスクをフィルタ処理するには:
「割当て先」および「状態」リストからオプションを選択します。タスク・リストは、フィルタの選択内容に基づいて自動的に更新されます。
キーワード検索に基づいてタスクをフィルタ処理する手順は、次のとおりです。
キーワードを入力して、タスクのタイトル、コメント、識別キー、および指定のフィルタ基準を満たすタスクのフレックス文字列フィールドを検索します。
[Enter]を押すか、「リフレッシュ」をクリックします。
拡張検索に基づいてタスクをフィルタ処理する手順は、次のとおりです。
マップ済属性マッピングが定義済のタスク・タイプを選択すると、マップ済属性のラベルを拡張検索で使用できます。
詳細は、第32.10.1項「属性のマップ方法」を参照してください。
「詳細」をクリックします。
(オプション)図32-5および図32-6に示すように、「検索をビューとして保存」を選択し、ビュー名を指定します。次に、「表示」タブでその他の情報を指定します。
表32-4では、「表示」タブで選択可能な拡張検索のビュー列について説明します。
表32-4 拡張検索: ビュー列
列 | 説明 |
---|---|
開始日 |
タスクの開始日(To Doタスクで使用)。 |
タスク定義名 |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
所有者ロール |
タスク・インスタンスを所有しているアプリケーション・ロール(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がアプリケーション・ロールの場合は、このフィールドが設定されます。 |
更新日 |
タスク・インスタンスが最後に更新された日付。 |
コンポジット・バージョン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットのバージョン。 |
作成者 |
タスクの作成者の名前。 |
リクエスト元ユーザー |
タスクのリクエスト元ユーザー。 |
完了したパーセンテージ |
タスクが完了したパーセンテージ(To Doタスクで使用)。 |
所有者グループ |
タスク・インスタンスを所有しているグループ(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がグループの場合は、このフィールドが設定されます。 |
終了日 |
タスクの終了日(To Doタスクで使用)。 |
コンポジット |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの名前。 |
期日 |
タスクの期日(To Doタスクで使用)。 |
コンポジット識別名 |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの特定のデプロイメントの一意名。 |
タスク表示URL |
タスクの詳細を表示するためのURL。 |
更新者 |
タスクを最後に更新したユーザー。 |
結果 |
タスクの結果(例: 「承認済」、「却下済」)。このフィールドは、完了したタスク・インスタンスにのみ設定されます。 |
タスク・ネームスペース |
このタスク・インスタンスを定義するタスク・コンポーネントの全バージョンを一意に定義するネームスペース。同じタスク・コンポーネントの異なるバージョンに同じネームスペースを指定することは可能ですが、異なる2つのタスク・コンポーネントに同じネームスペースを指定することはできません。 |
承認者 |
タスクの承認者。 |
アプリケーション・コンテキスト |
タスクに関連付けられたアプリケーション・ロール(割当て先、所有者など)が属するアプリケーション。 |
所有者ユーザー |
タスク・インスタンスを所有しているユーザー(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がユーザーの場合は、このフィールドが設定されます。 |
識別子 |
(オプション)タスクのカスタムの一意識別子。これは、標準タスク番号に対する追加の一意識別子です。 |
カテゴリ |
タスクのカテゴリ。 |
取得者 |
タスクを申告したユーザーの名前(タスクがグループ、アプリケーション・ロールまたは複数のユーザーに割り当てられ、ユーザーによって申告された場合)。 |
コンポーネント |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
元の割当て先ユーザー |
タスクを委任するユーザーの名前(ユーザーが別のユーザーにタスクを委任する場合)。 |
割当て済 |
このタスクが割り当てられた日付。 |
パーティション |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットが属するドメイン。 |
タイトル |
タスクのタイトル。 |
数値 |
タスク・インスタンスを一意に識別する整数。 |
優先度 |
タスクの優先度を定義する整数。通常は1から5の数値が使用され、数値が低いほど優先度が高くなります。 |
割当て先 |
現在のタスク割当て先(ユーザー、グループまたはアプリケーション・ロール)。 |
状態 |
タスク・インスタンスの状態。 |
作成日 |
タスク・インスタンスが作成された日付。 |
有効期限 |
タスク・インスタンスの有効期限の日付。 |
カスタム日付1 |
日付データ型のカスタム・フレックス・フィールド1 |
カスタム日付2 |
日付データ型のカスタム・フレックス・フィールド2 |
カスタム文字列1 |
文字列データ型のカスタム・フレックス・フィールド1 |
カスタム文字列2 |
文字列データ型のカスタム・フレックス・フィールド2 |
カスタム番号1 |
数値データ型のカスタム・フレックス・フィールド1 |
カスタム番号2 |
数値データ型のカスタム・フレックス・フィールド2 |
保存済のビューは、図32-7に示すように、「ユーザー・ビュー」の下の「ビュー」ペインに表示されます。
注意: ユーザー・ビューを作成する際に、同じコンポジットの複数のバージョンがデプロイされている場合、タスク・タイプで特定のバージョン(たとえばTestCompositeHumanTask2.0)を選択しても、そのバージョンに対応するタスクのみがフィルタ処理されるわけではありません。正しい結果を得るには、タスク・タイプを選択するのではなく、かわりに条件でタスク定義ID列を使用してください。 |
図32-8に示すように、割当て先を選択します。
図32-9に示すように、条件(フィルタ)を追加します。
表32-5では、使用可能な条件について説明します。
表32-5 拡張検索: 条件
条件 | 説明 |
---|---|
ユーザー条件 |
|
取得者 |
タスクを申告したユーザーの名前(タスクがグループ、アプリケーション・ロールまたは複数のユーザーに割り当てられ、ユーザーによって申告された場合)。 |
承認者 |
タスクの承認者。 |
作成者 |
タスクの作成者の名前。 |
リクエスト元ユーザー |
タスクのリクエスト元ユーザー。 |
元の割当て先ユーザー |
タスクを委任するユーザーの名前(ユーザーが別のユーザーにタスクを委任する場合)。 |
所有者グループ |
タスク・インスタンスを所有しているグループ(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がグループの場合は、このフィールドが設定されます。 |
所有者ロール |
タスク・インスタンスを所有しているアプリケーション・ロール(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がアプリケーション・ロールの場合は、このフィールドが設定されます。 |
所有者ユーザー |
タスク・インスタンスを所有しているユーザー(ある場合)。タスク所有者は、アプリケーション・ロール、ユーザーまたはグループのいずれかです。タスクの所有者がユーザーの場合は、このフィールドが設定されます。 |
更新者 |
タスクを最後に更新したユーザー。 |
拡張条件 |
|
アプリケーション・コンテキスト |
タスクに関連付けられたアプリケーション・ロール(割当て先、所有者など)が属するアプリケーション。 |
コンポーネント |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
コンポジット |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの名前。 |
コンポジット識別名 |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットの特定のデプロイメントの一意名。 |
コンポジット・バージョン |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットのバージョン。 |
パーティション |
タスク・インスタンスを定義するタスク・コンポーネントを含むコンポジットが属するドメイン。 |
タスク表示URL |
タスクの詳細を表示するためのURL。 |
標準条件 |
|
カテゴリ |
タスクのカテゴリ。 |
識別子 |
(オプション)タスクのカスタムの一意識別子。これは、標準タスク番号に対する追加の一意識別子です。 |
数値 |
タスク・インスタンスを一意に識別する整数。 |
結果 |
タスクの結果(例: 「承認済」、「却下済」)。このフィールドは、完了したタスク・インスタンスにのみ設定されます。 |
完了したパーセンテージ |
タスクが完了したパーセンテージ(To Doタスクで使用)。 |
優先度 |
タスクの優先度を定義する整数。低い数値ほど優先度が高くなります。通常、1から5の数値が使用されます。 |
状態 |
タスク・インスタンスの状態。 |
タスク定義名 |
タスク・インスタンスを定義するタスク・コンポーネントの名前。 |
タスク・ネームスペース |
タスクのネームスペース。 |
タイトル |
タスクのタイトル。 |
時間条件 |
タスクのカテゴリ。 |
割当て済 |
このタスクが割り当てられた日付。 |
作成日 |
タスク・インスタンスが作成された日付。 |
期日 |
タスクの期日(To Doタスクで使用)。 |
終了日 |
タスクの終了日(To Doタスクで使用)。 |
有効期限 |
タスク・インスタンスの有効期限の日付。 |
開始日 |
タスクの開始日(To Doタスクで使用)。 |
更新日 |
タスク・インスタンスが最後に更新された日付。 |
カスタム条件 |
|
カスタム日付1 |
日付データ型のカスタム・フレックス・フィールド1 |
カスタム日付2 |
日付データ型のカスタム・フレックス・フィールド2 |
カスタム文字列1 |
文字列データ型のカスタム・フレックス・フィールド1 |
カスタム文字列2 |
文字列データ型のカスタム・フレックス・フィールド2 |
カスタム番号1 |
数値データ型のカスタム・フレックス・フィールド1 |
カスタム番号2 |
数値データ型のカスタム・フレックス・フィールド2 |
複数のフィルタを照合する場合は、「任意」または「すべて」を選択します。
図32-10に示すように、パラメータ値を追加します。
このビューの定義またはそのデータを共有するかどうかと、共有するユーザーまたはグループを指定します。
「検索」をクリックします。
基準に従ってタスクがフィルタ処理されたタスク・リストが表示されます。
図32-11に示す「ビュー」メニューには、次のものが表示されます。
受信ボックス: 使用したフィルタの結果によるすべてのタスクが表示されます。デフォルトでは、すべてのタスクが表示されます。
標準ビュー: 標準ビューと自分が定義したビューが表示されます。
ユーザー・ビュー: 作成したビューが表示されます。
ビューを作成、共有およびカスタマイズするには、「ビュー」を使用します。
ワークリスト・ビューを作成する手順は、次のとおりです。
「ビュー」セクションで「ビューの追加」をクリックします。図に示すように、「ユーザー・ビューの作成」ダイアログ・ボックスが表示されます。
次のことを実行するには、図32-12に示すように、「ユーザー・ビューの作成」ダイアログ・ボックスの「定義」タブを使用します。
ビューの作成、またはパブリック・ビューの使用: 独自のビューを作成するか、コピーするパブリック・ビューを参照します。
名前: ビューの名前を指定します。
標準ビューに追加: このオプションは管理者のみに適用されます。管理者はこのオプションを選択して、ビューを標準ビューとして作成します。作成された標準ビューは、すべてのワークリスト・ユーザーの「標準ビュー」リストに表示されます。
割当て先: 「自分」、「グループ」、「自分および自分のグループ」、「自分(以前)」、「自分(確認のみ)」、「作成者」、「報告先」、「管理者」、「所有者」から選択します。
一致: 追加した条件に一致するのが「すべて」か「任意」かを選択します。
条件の追加(プラス記号): ビューに適用する条件を選択します。
ビューの共有: 他のユーザーに、このビューの定義へのアクセス権を付与したり(この場合は、ビュー条件が権限受領者のデータに適用されます)、データ自体へのアクセス権を付与することができます(この場合、権限受領者は、データも含めて権限付与者のワークリスト・ビューを参照できます)。ビューを別のユーザーと共有することは、そのビューに対応する全タスクを他のユーザーに委任することに類似しています。つまり、共有相手のユーザーは自分のかわりにタスクを操作できます。共有ビューは「ユーザー・ビュー」の下に表示されます。
ユーザー: ビューを共有できるユーザー(権限受領者)を指定します。
グループ: ビューを共有できるグループを指定します。
図32-13に示す「ユーザー・ビューの作成」ダイアログの「表示」タブを使用して、ビューに表示するフィールドをカスタマイズします。
ビュー列の選択: タスク・リストに表示する列を指定します。特定のタスク・タイプにマップされている標準タスク属性またはマップ済属性を指定できます。デフォルト列は、受信ボックスの列と同じです。
ソート基準: ソートする列を選択します。
次の基準: 2番目にソートする列を選択します。
次の基準: 3番目にソートする列を選択します。
次の基準: 4番目にソートする列を選択します。
ソート順: 昇順または降順を選択します。
「OK」をクリックします。
保存済のビューは、「ユーザー・ビュー」の下の「ビュー」パネルに表示されます。
ビューを削除するには、次のステップを実行します。
注意: 管理者が事前にシードされている標準ビューを誤って削除しても、これらのビューは完全に削除された状態のままにはなりません。これらは、サーバーの再起動時に再作成されます。 |
「ビュー」パネルで、ビューを選択します。
「削除」アイコンをクリックします。
「削除の確認」ダイアログ・ボックスで、ビューを削除することを確認するように求められます。
「はい」をクリックします。ビューが削除されます。
ワークリスト・ビューをカスタマイズする手順は、次のとおりです。
「ビュー」ペインで、カスタマイズするビューを選択します。
「ユーザー・プリファレンスの編集」を選択します。「ユーザー・プリファレンスの編集」ダイアログ・ボックスが表示されます。
図32-14のように、「ユーザー・プリファレンスの編集」ダイアログ・ボックスのアイテムを使用してビューをカスタマイズし、「OK」をクリックします。
棒グラフには、ステータス別にタスクが表示され、各ステータス・カテゴリのタスク数が示されます。このグラフは、現行ビュー内のフィルタ処理された一連のタスクに適用されます。
タスク・ステータス・グラフをカスタマイズする手順は、次のとおりです。
「編集」アイコンをクリックします。
図32-15に示すように、表示するステータス状態を追加または削除して、「OK」をクリックします。
自分または他のユーザーの最上位レベルのTo Doタスクを作成するには、図32-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タスクを作成する手順は、次のとおりです。
図32-17に示すように、「アクション」リストから「To-Doタスクの作成」を選択します。
図32-16に示す「To Doタスクの作成」ダイアログに詳細を入力して、「OK」をクリックします。
タスクのタイトル: わかりやすい内容を入力します。
カテゴリ: わかりやすい内容を入力します。
優先度: 1(最高)から5(最低)の間で選択します。
完了したパーセンテージ: この属性は、タスクの完了状況を示します。完了すると、この属性に100%が設定されます。
開始日: タスクの開始日。開始日は現在の日付である必要はありません。
期日: この期日は期限切れではありません。期日を過ぎたタスクも参照できます。
割当て先: 自分または他のユーザーを割り当てることができます。
サブタスクとは、To Doタスクまたはビジネス・タスクである親タスクの子です。たとえば、注文書に複数の明細項目が含まれ、それぞれに別個の承認プロセスが必要な場合、サブタスクを作成すると便利です。
サブタスクを作成する際、次のような点に注意する必要があります。
To Doタスクに含められるサブタスクは、1レベルのみです。すべてのTo Doサブタスクが100%完了すると、親To Doタスクも完了としてマークされます。親To Doタスクが完了すると、To Doサブタスクはワークフロー・システム内で100%になります。
親がビジネス・タスクでそのタスクが完了した場合、そのタスクのサブタスクは取り消されます。
To Doタスクを明示的に100%に設定すると、親タスクでの集計はありません。
使用しているOracle Business Process Managementのリリースが11gリリース1 (11.1.1.7.0)よりも前のものである場合、サブタスクを作成するタスクのタスク・フォームを再作成する必要があります。ただし、以前のリリースでデプロイされたプロセスは継続して使用できます。
タスク・フォームを再作成しなかった場合、タスク・フォーム自体の「アクション」リストではサブタスクを作成するオプションを選択できません。ただし、「ワークリスト」の上の「アクション」リストから「サブタスクの作成」を選択することによってサブタスクを作成できます。
BPMNサービス・エンジンの管理者である場合、Oracle Enterprise Manager Fusion Middleware Controlにはサブタスクが表示されないため、注意してください。
サブタスクを作成するには:
「ワークリスト」で、サブタスクを作成するタスクを選択します。
「アクション」リストから「サブタスクの作成」を選択します。
「サブタスクの作成」ダイアログ・ボックスが表示されます。
「サブタスクの作成」ダイアログで、次の点に注意してサブタスクを定義します。
「タイトル」は必須フィールドです。
このサブタスクで使用可能なフォームが複数存在する場合は、「フォーム」フィールドで選択リストが表示されます。そうでない場合は、「フォーム」フィールドにデフォルト・フォームの名前が表示されます。親タスクに関連づけられているものと異なるタスク・フォームを使用できます。
使用可能なルーティング・タイプは次のとおりです。
単一の承認者
グループ投票。パラレル・タスクとも呼ばれます。このルーティング・タイプの場合、複数の参加者を入力するよう表示されます。
単一承認者のチェーン。順次タスクとも呼ばれます。このルーティング・タイプの場合、複数の参加者を入力するよう表示されます。
参加者を指定するには、検索を実行してその結果から選択します。複数のユーザー、グループまたはアプリケーション・ロールを選択できます。
サブタスクの指定が完了したら、「サブタスクの作成」ダイアログ・ボックスで「OK」をクリックします。これによってタスク・リストがリフレッシュされます。親タスクを選択すると、タスクの詳細ページに「サブタスク」セクションが表示されるようになり、そのタスクについて作成したサブタスクの詳細が示されます。
注意:
|
タスクの詳細は、インライン(図32-2 「Oracle BPM Worklist: 「ホーム」(タスク・リスト)ページ」の下部セクションを参照)またはポップアップ・ブラウザ・ウィンドウに表示できます(タスクをダブルクリックします)。
図32-18に、「タスクの詳細」ページを示します。
優先度の変更、コメントや添付ファイルの追加など、「タスクの詳細」ページで変更を行った場合は、他の変更を行う前に変更内容を保存する必要があります。
「タスクの詳細」ページには、次のコンポーネントがあります。
アクション: タスクに対して可能なシステム・アクションがリストされます。たとえば、「情報のリクエスト」、「再割当て」、「期限更新」、「一時停止」、「エスカレート」、「保存」などです。
アクション・ボタン: ヒューマン・タスクに定義されているカスタム・アクションに関するボタンが表示されます。たとえば、タスクの結果(ヘルプ・デスク・リクエストの場合は「解決済」と「未解決」、融資申請の場合は「承認」と「却下」)を設定するボタンがあります。タスク起案者、マネージャまたは管理者の場合は、「取消」も表示される場合があります。
詳細: 割当て先、タスク作成者、タスク番号、状態、優先度、タスク獲得者および他のマップ済属性など、タスクの属性を表示します。また、タスクの作成、最終更新および有効期限に関する日付も表示します。
履歴: タスクの承認順序や更新履歴が表示されます。詳細は、第32.4.2項「タスク履歴」を参照してください。
表32-6に、「タスクの詳細」の「履歴」セクションで使用されるアイコンの意味を示します。
表32-6 タスク・アクションの「履歴」のアイコン
アイコン | 説明 |
---|---|
非定型ルーティング・シナリオの承認者を表します。 |
|
タスクが承認されたことを示します。 |
|
FYI参加者を表します。つまり、この参加者は通知タスクを受信するのみで、ビジネス・プロセスはこの参加者のレスポンスを待機しません。参加者がタスクの結果に直接影響を与えることはできませんが、コメントを提供したり添付ファイルを追加できる場合があります。 |
|
複数の人が並行して作業することを示します。このパターンは通常、投票で使用されます。 |
|
この参加者が管理チェーンに属していることを示します。 |
|
参加者が1人のユーザー、1つのグループまたはロールにマッピングされる単純なケースであることを示します。 |
|
タスクが未着手であることを示します。 |
コメント: ワークフローに参加した様々なユーザーが入力したコメントが表示されます。新規に追加されたコメントやコメンタのユーザー名は、既存のコメントに追加されます。コメントの追跡情報は、タスクのライフ・サイクル全体を通じて保持されます。コメントを追加または削除するには、タスクの更新権限が必要です。
添付ファイル: タスクに関連付けられている文書または参照URLが表示されます。これらは通常、ヒューマン・タスクに定義されたワークフロー、またはワークリストを使用して参加者が添付して変更したワークフローに関連付けられています。添付ファイルを追加または削除するには、タスクの更新権限が必要です。添付ファイルを追加する場合は、ファイルの絶対パス名を使用したり、ファイルを参照することができます。
注意: 高可用性のためにサーバーがクラスタ化されている環境では、フェイルオーバーが発生した場合、ファイルのアップロードはサポートされません。アクティブなサーバーが停止した場合、アップロード・プロセスは他のサーバーに引き継がれず、アップロードは失敗します。 |
コメントおよび添付ファイルは、タスクとサブタスクの間で共有されます。たとえば、To Doタスクを作成してコメントと添付ファイルを追加すると、そのTo Doタスクのサブタスクにも同じコメントと添付ファイルが含まれます。
タスクの詳細ページの表示は、設計時にこのページに表示するタスク・フォームの開発に使用したツールによって異なる場合があります。
ユーザーがタスクを参照できるのは、そのタスクが、現在の割当て先(直接的な割当てまたはグループ・メンバーシップによる割当て)、現在の割当て先のマネージャ、作成者、所有者、または以前のアクターとして関連付けられている場合です。
グループ・メンバーシップとロールは、ユーザーのプロファイルによって決定されます。ユーザーの権限は、ロールによって決定されます。ただし、ユーザーが実行できるアクションの正確なセットは、権限とは別に、タスクの状態、カスタム・アクション、および設計時にタスク・フローに対して定義された制限付きアクションによっても変化します。
注意: 制限付きタスクの再割当てなどの特定の関数は、単一のタスクが選択されている場合にのみ使用できます。制限付き再割当てを使用する複数のタスクが選択されている場合、制限付き再割当てアルゴリズムは起動されません。その場合、制限付き再割当てが指定されていなかったかのようにユーザーの完全なリストが返されます。 |
ユーザーがタスクに対して実行できるアクションは、次のアルゴリズムで決定されます。
ユーザーが実行できるアクションのリストは、そのユーザーに付与されている権限に基づいて取得されます。
現在のタスクの状態で実行できるアクションのリストが取得されます。
前述のリストに出現するアクションの結合リストが作成されます。
タスクで制限付きアクションとして指定されているアクションが結合リストから除外されます。
結果のアクション・リストは、対象ユーザーのタスク・リスト・ページと「タスクの詳細」ページに表示されます。ユーザーが特定のアクション(申告、一時停止、再割当てなど)をリクエストすると、ワークフロー・サービスでは、リクエストされたアクションが前述のアルゴリズムで決定されたリストに含まれていることを確認します。
前述のアルゴリズムのステップ2では、多くのケースが処理されます。タスクの状態が、最終完了(順序フローですべての承認が終了した状態)、期限切れ、取消し済、エラー発生のいずれかである場合、追加の更新アクションは許可されません。これらの状態の場合は、タスク、タスク履歴およびサブタスク(パラレル・フローの親タスク)を参照できます。タスクが一時停止されている場合、実行可能なアクションは再開または取消のみです。グループに割り当てられているタスクは、なんらかのアクションを実行する前に、申告する必要があります。
注意: タスクの承認など、「タスクの詳細」ページからタスクを操作した場合は、そのタスクに対する変更内容とともに、変更されていないタスクの詳細データも保存されます。ただし、「アクション」メニューからタスクを操作した場合、変更されていないタスクの詳細は保存されません。 |
アクション・バーには、すべてのタスクで使用可能なシステム・アクションがユーザーの権限に基づいて表示されます。表32-7に、システム・アクションを示します。
表32-7 システム・タスク・アクション
アクション | 説明 |
---|---|
申告 |
グループまたは複数のユーザーに割り当てられているタスクは、最初に申告する必要があります。「申告」は、グループまたは複数ユーザー割当ての「タスク・アクション」リストで選択可能な唯一のアクションです。タスクが申告されると、すべての適用可能なアクションがリストされます。 |
エスカレート |
タスクを完了できない場合は、そのタスクをエスカレートし、必要に応じて「コメント」領域にコメントを追加できます。このタスクは、ユーザーのマネージャ(階層内で1レベル上)に再度割り当てられます。 |
プッシュバック |
このアクションは、タスクをワークフロー内で1レベル下の前の割当て先に送信する際に使用します。 プッシュバック・アクションにより、他のすべてのアクションが上書きされます。たとえば、タスクがプッシュバックされた後に再度割り当てられた場合、再割当て先がタスクを承認すると、そのタスクはプッシュバックを実行したユーザーに戻されます。これは予想された動作です。 注意:
|
再割当て |
マネージャは、タスクを報告先に委任できます。 |
リリース |
グループまたは複数のユーザーに割り当てられているタスクを、そのタスクを申告したユーザーが完了できない場合、そのタスクはリリースできます。このタスクは、他の割当て先ユーザーが申告して完了できます。 |
期限更新 |
タスクの期限切れが近づいている場合は、そのタスクを更新し、必要に応じて「コメント」領域にコメントを追加できます。タスクの有効期限は、1週間延長されます。期限更新は、タスク履歴に表示されます。タスクの更新期間は、オプションのパラメータによって管理できます。デフォルト値は、 |
情報の発行、情報のリクエスト |
この2つのアクションは、他のユーザーから詳細情報の提供をリクエストされた場合、またはタスク作成者や前の割当て先に詳細情報をリクエストする場合に使用します。再承認が不要な場合、タスクは次の承認者か、ビジネス・プロセスの次のステップに割り当てられます。 |
一時停止、再開 |
プロセスに関連していないタスクは、一時停止できます。これらのオプションを使用できるのは、BPMWorkflowSuspendロールを付与されているユーザーのみです。他のユーザーは、タスク・フィルタで「前へ」を選択するか、「一時停止」ステータスのタスクを検索することにより、このタスクにアクセスできます。一時停止の期間は無期限です。これは、「再開」を使用してタスクの処理を再開するまで継続されます。 |
取消 |
タスクの作成者が、そのタスクを継続しない場合(たとえば、休暇申請を取り消す場合)は、タスクを取り消し、必要に応じて「コメント」領域にコメントを追加できます。この場合は、ビジネス・プロセスによって、次の処理内容が決定されます。ホームページで「取消」アクションを使用するには、「作成者」タスク・フィルタを使用します。 |
タスク履歴には、ワークフローの参加者が実行したアクションの監査証跡、およびワークフローの様々な時点におけるタスク・ペイロードと添付ファイルのスナップショットが保持されます。タスクの短い履歴には、次のタスクによって作成されたすべてのバージョンが表示されます。
タスクの開始
タスクの再開始
タスクの結果の更新
タスクの完了
タスクのエラー
タスクの期限切れ
タスクの取消し
エラー割当て先に対するタスクのアラート
shortHistoryActions
要素を変更すると、「短い履歴」リストに次のアクションを追加できます。
獲得
非定型ルート
タスクのオート・リリース
委任
エスカレート
タスク情報のリクエスト
タスク情報の発行
ルーティング・スリップの上書き
結果とルートの更新
プッシュバック
再割当て
リリース
期限更新
再開
現在の割当てのスキップ
一時停止
更新
図32-19に示すように、履歴はタスク・フローのグラフィカル・ビューで表示されます。
図32-20に示すように、実行したすべてのアクション(コメントの追加など、タスクを変更しないアクションも含む)を表示するには、「フル・タスク・アクション」を選択します。
タスク履歴は、次の方法で表示できます。
タスク・スナップショットの表示
将来の承認者の表示
すべてのタスク・アクションの表示
タスクの集計
注意: 親タスクの履歴には、そのタスクに含まれるサブタスクの履歴も表示されます。 |
ヒューマン・タスクが非定型ルーティングを許可するように設計されている場合、または、承認者の順序が事前に決定されていない場合、そのタスクは非定型方式でワーク・リスト内をルーティングできます。このようなタスクの場合は、「ルート」ボタンが「タスクの詳細」ページに表示されます。「ルート」ページから、ルーティングする1人以上のユーザーをルックアップできます。複数の割当て先を指定する場合は、割当て先リストの対象として、単純割当て(ユーザー全員へのグループ割当て)、順次割当てまたはパラレル割当てのいずれかを選択できます。
パラレル・タスクは、投票などのシナリオに対してパラレル・フロー・パターンが指定されている場合に作成されます。このパターンでは、パラレル・タスクに共通の親タスクが存在します。この親タスクがユーザーに表示されるのは、そのユーザーがタスクの割当て先、所有者または作成者である場合のみです。パラレル・タスク自体(サブタスク)は、他のすべてのタスクと同じように、タスクが割り当てられているすべてのユーザーが参照できます。親タスクからサブタスクを参照することも可能です。このようなシナリオでは、親タスクの「タスクの詳細」ページに「サブタスクの表示」ボタンが表示されます。「サブタスク」ページには、対応するパラレル・タスクが表示されます。投票シナリオでは、いずれかの割当て先ユーザーがペイロード、コメントまたは添付ファイルを更新した場合、その変更内容を参照できるのはそのタスクの割当て先のみです。
親タスクを参照できるユーザー(パラレル・フロー・パターンの最終レビューアなど)は、サブタスクをドリルダウンして、パラレル・フローの参加者によるサブタスクの更新を参照できます。割当て先ユーザーがサブタスクで作業する間、親タスクはサブタスクのコンテナになります。タスク所有者は、親タスクを操作したり承認することはできません。
パスワードが必要なヒューマン・タスクが設定されているときに、そのヒューマン・タスクを操作する場合は、図32-21に示すように、パスワードを入力する必要があります。
注意: 優先度の変更、コメントの追加など、「タスクの詳細」ページで変更を行った場合は、その変更内容を保存する必要があります。タスクに添付ファイルを追加した場合は自動的に保存されます。 |
タスクを再割当てまたは委任する手順は、次のとおりです。
図32-22に示すように、「アクション」リストから「再割当て」を選択します。
「再割当て」または「委任」を選択します。
「委任」は「再割当て」とは異なり、委任先の権限は委任元の権限に基づいています。この機能は、たとえば、マネージャのアシスタントが使用できます。
図32-23に示すように、ユーザー名またはグループ名を指定するか参照します。
スーパーバイザは、タスクを任意の報告先にいつでも再割当てできます。
チェック・ボックスをクリックして名前を選択し、「OK」をクリックします。
タスクは、複数のユーザーまたはグループに再度割り当てることができます。図32-24に示すように、割当て先ユーザーの1人がタスクを申告する必要があります。
注意: タスクの詳細が以前のリリースからアップグレードされている場合、「再割当て」アクションを実行すると、「リクエストに失敗しました」エラーが表示されることがあります。実際には、再割当ては完了しており、もう一度「OK」をクリックすると、ポップアップでタスクが割当て済であることが表示されます。 このエラー・メッセージを表示されないようにするには、タスク・フロー・アプリケーションをOracle JDeveloperで開くことでアップグレードし、その後にタスク・フォームを再デプロイしてください。 |
情報をリクエストする手順は、次のとおりです。
図32-25に示すように、「アクション」リストから「情報のリクエスト」を選択します。
図32-26に示すように、情報のリクエスト元として過去の承認者を選択するか、ユーザー名を検索します。あるいは、タスクを以前の割当て先にプッシュバックします。
図32-26 過去の承認者または別のユーザーへの情報のリクエスト、またはタスクのプッシュバック
「検索」アイコンを使用してユーザー名を検索すると、図32-27に示すように、「認証ブラウザ」が表示されます。
注意: マルチテナント環境の場合、ユーザーの検索はユーザー識別子のみで行い、テナント識別子では行わないでください。たとえば、ユーザー識別子がjsteinで、テナント識別子がcompany_name.jsteinの場合、jsteinを使用して検索します。 |
「OK」をクリックします。
タスクをルーティングする手順は、次のとおりです。
図32-28に示すように、「タスク・アクション」リストから「非定型ルート」を選択します。
図32-29に示すように、アクションを選択し、ルーティング・オプションを選択します。
単一の承認者: 単一のユーザーがタスクを操作する場合に使用します。タスクがロールまたは複数ユーザーのグループに割り当てられている場合は、1人のメンバーがタスクを申告して操作する必要があります。
グループ投票: パラレルで作業する複数のユーザーがアクションを実行する場合(たとえば、雇用に関するフローで複数のユーザーが応募者の採否を票決する)に使用します。図32-30に示すように、結果が有効になるために必要な得票率(多数決や満場一致など)を指定します。
単一承認者のチェーン: 承認者の順序リストに対して使用します。このリストは、任意のユーザーまたはグループで構成できます(ユーザーは組織階層に含まれている必要はありません)。
必要に応じて、ルート上の次の参加者のためにコメントを追加します。
ユーザー名またはグループ名を指定するか検索し、その名前を「選択済」領域に移動します。
「OK」をクリックします。
コメントまたは添付ファイルを追加する手順は、次のとおりです。
注意:
|
「コメント」または「添付ファイル」領域で、「追加」をクリックします。図32-31に詳細を示します。
コメントのテキストを入力し、「OK」をクリックします。コメントは、一度追加すると削除できません。
コメントには、日付、タイムスタンプおよびユーザー名が追加されます。
添付ファイルの場合は、図32-32に示すように、ファイル添付かURL添付かを指定して、「OK」をクリックします。
Oracle BPM WorklistでURLファイル(http://www.example.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)が発行します。ユーザー名、シリアル番号、有効期限、証明書所有者の公開鍵のコピー(メッセージとデジタル署名の暗号化に使用)、および証明書発行者のデジタル署名が記載されているため、受信者は証明書が本物であることを確認できます。
署名ポリシーがあるタスクを操作すると、図32-33に示すように、「署名」ボタンが表示されます。
デジタル署名の保管、およびデジタル署名されたヒューマン・タスクの否認防止には、エビデンス・ストア・サービスを使用します。エビデンス・ストアは、図32-34に示すように検索できます。
詳細は、第34.1.10項「エビデンス・ストア・サービスとデジタル署名」を参照してください。
デジタル署名を指定する手順は、次のとおりです。
Oracle BPM Worklistの右上隅にある「プリファレンス」をクリックします。
「証明書」タブを選択します。
図32-35に示すように、意思決定の署名に使用する証明書をアップロードします。
証明書を使用してタスクの結果に署名する際は、証明書発行者から発行された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ブラウザでは、選択した証明書を使用して、テキスト署名リクエストの上部に表示される文字列に署名し、選択したアクション(承認または却下)を起動します。ヒューマン・ワークフロー・サービスでは、タスク・ステータスが適切に更新されます。
証明書のアップロード方法と使用方法の詳細は、第34.1.10項「エビデンス・ストア・サービスとデジタル署名」を参照してください。
表32-8に、様々なタスク承認者がタスクに対して実行できるアクションのタイプを示します。
表32-8 タスク・アクションと承認者
タスク・アクション | 管理者 | 所有者(+所有者グループ) | 割当て先(+割当て先マネージャ+割当て先グループ+プロキシ割当て先) | 作成者 | レビューア | 承認者 |
---|---|---|---|---|---|---|
獲得(申告) |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
カスタム |
いいえ |
はい脚注1 |
可脚注1 |
いいえ |
いいえ |
いいえ |
委任 |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
削除 |
いいえ脚注 2 |
いいえ脚注 2 |
可脚注2 |
可脚注2 |
いいえ |
いいえ |
エラー |
いいえ |
いいえ |
はい脚注3 |
いいえ |
いいえ |
いいえ |
エスカレート |
はい脚注4 |
可脚注4 |
はい |
いいえ |
いいえ |
いいえ |
情報リクエスト |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
情報発行 |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
ルーティング・スリップの上書き |
はい |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
プッシュバック |
いいえ |
いいえ |
はい |
いいえ |
いいえ |
いいえ |
パージ |
可脚注2 |
はい脚注 2 |
いいえ |
はい |
いいえ |
いいえ |
再割当て |
はい脚注5 |
可脚注5 |
可(プロキシ割当て先の場合は不可) |
いいえ |
いいえ |
いいえ |
リリース |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
期限更新 |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
再開 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
ルート |
いいえ |
はい |
はい |
いいえ |
いいえ |
いいえ |
現在の割当てのスキップ |
はい |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
一時停止 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
更新 |
いいえ |
はい |
はい |
はい |
いいえ |
いいえ |
添付ファイルの更新 |
はい |
はい |
はい |
はい |
はい |
いいえ |
コメントの更新 |
はい |
はい |
はい |
はい |
はい |
いいえ |
プロセス履歴の表示 |
はい |
はい |
はい |
はい |
いいえ |
いいえ |
サブタスクの表示 |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
タスク履歴の表示 |
はい |
はい |
はい |
はい |
はい |
はい |
取消 |
はい |
はい |
いいえ |
はい |
いいえ |
いいえ |
脚注1To Doタスクの場合は無効
脚注2To Doタスクの場合のみ有効
脚注3アラート状態のタスクに対して適用可能
脚注4現在の割当て先のマネージャへの申告とエスカレートなし
脚注5申告なし
休暇期間は、図32-36に示すように、指定した日付範囲内では自動タスク割当てから削除されるように設定できます。
休暇ルールはTo Doタスクに対して実行されません。休暇期間と同期する休暇ルールの設定方法については、第32.7項「ルールの設定」を参照してください。
休暇期間を作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「ルール」タブが表示されます。
「休暇期間の有効化」をクリックします。
開始日と終了日を指定します。
「保存」をクリックします。
図32-37に示すように、休暇期間が有効になります。
ルールを使用してタスクを操作します。タスクは、特定のタスク・タイプ、またはユーザーやグループに割り当てられた全タスクのいずれかです。図32-38に、休暇ルールも含めて、ルールを設定する場所を示します(第32.6項「休暇期間の設定」で説明した休暇期間の設定とは異なります)。
ルールは、そのルールが使用されるすべての環境で常に適用できるわけではありません。たとえば、ルールが複数のタスク・タイプに適用される場合は、タスクによって結果が異なるため、すべてのタスクに結果を設定できない場合があります。
ルールはリストされている順序で実行されます。図32-38に示すように、ルールはヘッダーの上下ボタンを使用して順序を変更できます。
ルールはフィルタ条件を満たしている場合に実行され、他のルールは評価されません。ルールを実行するユーザーは、該当するタスクに割り当てられている唯一のユーザーであることが必要です。タスクが(自分を含めて)複数のユーザーに割り当てられている場合、ルールは実行されません。
ビジネス・ルールをTo Doタスクに対して指定することはできません。
ユーザー・ルールを作成する際は、次を指定します。
ルール名。
ルールが休暇ルールかどうか。休暇ルールと同期する休暇期間の設定方法については、第32.6項「休暇期間の設定」を参照してください。
ルールが適用されるタスクまたはタスク・タイプ: 指定されていない場合、ルールは全タスクに適用されます。タスク・タイプを指定すると、そのタスク・タイプにマップされたマップ済属性すべてをルール条件で使用できます。
ルールを適用するタイミング。
ルールに対する条件。これらの条件は、ルールを詳細に定義するフィルタです。たとえば、ルールで優先度1のタスクのみを操作したり、特定のユーザーが作成したタスクを操作するように指定します。標準タスク属性や特定のタスクにマップされた任意のマップ済属性に基づいて条件を作成できます。詳細は、第32.10.1項「属性のマップ方法」を参照してください。
ユーザー・ルールを使用して、次のアクションを実行します。
再割当て先: 直属の部下またはグループにタスクを再割当てできます。
委任先: 任意のユーザーまたはグループに委任できます。タスクを完了するためのアクセス権または権限は、タスクの委任元ユーザーに従って決定されます(委任した元のユーザーからの権限が、後続の委任または再割当てによって変更されることはありません)。
結果の設定先: ワークフロー・タスクが自動結果(タスクの承認または却下など)用に設計されている場合は、その結果を指定できます。ルールは特定のタスク・タイプを対象とする必要があります。ルールの対象がすべてのタスク・タイプの場合、このオプションは表示されません。
アクションを実行しない: このアクションを使用すると、より一般的な他のルールの適用を防止できます。たとえば、アクションが不要な融資申請を除いて、休暇中のすべてのタスクを別のユーザーに再度割り当てるには、2つのルールを作成します。第1のルールでは、融資申請に対してアクションを実行しないように指定し、第2のルールでは、すべてのタスクを別のユーザーに再度割り当てるように指定します。第1のルールによって、融資申請に対する再割当てが防止されます。
ユーザー・ルールを作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「ルール」タブが表示されます。
「ルール」領域で、「ルール」をクリックし、次に「追加」をクリックします。
「ルール」領域で次の操作を実行し、「保存」をクリックします。
ルールの名前を指定します。
休暇ルールを作成する場合は、「休暇ルールとして使用」を選択します。ルールの開始日と終了日は、休暇期間と自動的に同期されます。
「次の期間のみルールを実行」を選択し、ルールの実行期間を指定します。
「タスク」領域で、これらの条件に一致する「すべてのタスク」または「タスク」を選択します。その後、「追加」ボタンを使用して、ルール条件を追加します。
このルールの適用対象となるタスク・タイプを参照します。
図32-38に示すように、「アクション」領域で、実行するアクションを「再割当て先」、「委任先」、「結果の設定先」、「アクションを実行しない」から選択します。
新しいルールが「ルール」ノードの下に表示されます。
グループ・ルールの作成はユーザー・ルールの作成に類似していますが、ログイン・ユーザーが管理するグループのリストが追加されています。次に、グループ・ルールの例を示します。
特定の顧客からのタスクをグループのメンバーに割り当てます。
ラウンド・ロビン割当てを使用して、タスク割当てをグループの各メンバーに確実に均等配分します。
グループ内で最もビジーでないメンバーに、高優先度のタスクを確実にルーティングします。
グループ・ルールを使用して、次のアクションを実行します。
メンバーへの割当ての経由先: 割当てを取得するグループ・メンバーを決定するための基準を指定できます。この動的割当て基準には、ラウンド・ロビン割当て、最もビジーでないグループ・メンバーへの割当て、または最も生産性の高いグループ・メンバーへの割当てを含めることができます。また、タスクをグループ内のユーザーに割り当てるためのカスタム関数も追加できます。
割当て先: ユーザー・ルールと同様に、直属の部下またはグループにタスクを割り当てられます。
アクションを実行しない: ユーザー・ルールと同様に、より一般的なルールの実行を防止する条件を指定してルールを作成できます。
グループ・ルールを作成する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「他のルール」タブをクリックします。
リストから「グループ」を選択します。
グループ名を入力して「検索」アイコンをクリックするか、グループ名を入力します。
「認証ブラウザ」が開き、グループを検索して選択できます。
図32-39のように、「グループ・ルール」ノードの下のグループ名を選択し、「新規ルールの追加」をクリックします。
グループ・ルールの情報を入力して、「保存」をクリックします。
ルールの名前を指定します。
このルールの適用対象となるタスク・タイプを参照します。
ルールの実行日を指定します。
「タスク」領域で、ルール条件を追加します。
図32-39に示すように、「アクション」領域で、実行する(または実行しない)アクションを「メンバーへの割当ての経由先」、「割当て先」、「アクションを実行しない」から選択します。
新しいルールが「グループ・ルール」ノードの下に表示されます。
タスクに複数の割当て先がある場合、割当てルールはタスクに対して評価されず、タスクは自動的にルーティングされません。これは、タスクの割当て先ごとに割当てルールを定義できるため、タスクに対して実行するアクションに競合が発生する可能性があるためです。割当てルールによってルーティングされるのは、単一のユーザーに排他的に割り当てられたタスクのみです。
たとえば、次の順序で操作を実行するとします。
ユーザーcdickensに対して、割当て済のすべてのリクエストをユーザーjsteinに再度割り当てるルールを作成します。
ユーザーjcooperは、割当て済のタスクをcdickensとcdoyleに再度割り当てます。
cdickensがタスクを申告し、そのタスクが受信ボックスに表示されます。
このタスクは、jsteinに自動的に再度割り当てられません。ユーザーjcooperが、複数のユーザー(cdickensとcdoyle)ではなく、cdickensのみにタスクを明示的に再度割り当てた場合は、cdickensに対して設定された割当てルールに従ってタスクがjsteinにルーティングされます。
管理者とは、BPMWorkflowAdminロールが付与されているユーザーです。次の管理機能があります。
他のユーザーまたはグループのルールの管理
ワークリスト表示の設定(アプリケーション・プリファレンス)。アプリケーション・プリファレンスによって、次に示すワークリストの外観をカスタマイズします。
ログイン・レルムのラベル
リソース・バンドル
言語のロケール情報の取得元
ブランド・ロゴ
ブランド・タイトル
ブランド・スキン
oracle.com
、google.com
などの使用する外部アプリケーション
マップ済属性の指定
管理者は、すべてのユーザーに割り当てられたすべてのタスクを表示および更新できます。「管理者」タブを選択すると、管理者の「割当て先」フィルタに「管理者」が表示されます。
この項では、次の内容を説明します。
マップ済属性の指定の詳細は、第32.10項「マップ済属性(フレックス・フィールド)の使用」を参照してください。
この機能は、ルールに関する問題を解決する場合に役立ちます。また、管理者は退社したユーザーに対するルールを設定できます。これにより、そのユーザーに割り当てられていた全タスクが別のユーザーまたはグループに自動的に割り当てられます。
別のユーザーまたはグループのルールを作成する手順は、次のとおりです。
アイデンティティ・サービスが複数のレルムで構成されている場合は、ユーザーがOracle BPM Worklistにログインすると、ログイン・ページにレルム名のリストが表示されます。LABEL_LOGIN_REALM では、これらのレルムを表示するラベルのルックアップに使用されたリソース・バンドル・キーが指定されます。レルムという用語は、ユーザー・コミュニティにあわせて変更でき、国、会社、部署または部門などの用語の方が適切な場合があります。レルムという用語を変更するには、リソース・バンドルをカスタマイズし、この文字列にリソース・バンドル・キーを指定し、そのリソース・バンドル・キーを指すように「ログイン・ページ・レルムのラベル」パラメータを設定します。
図32-42は、「ログイン・ページ・レルムのラベル」フィールドがハイライト表示された「アプリケーション・プリファレンス」ページを示しています。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
リソース・バンドルは、ワークリスト・アプリケーションに表示される文字列を提供します。デフォルトでは、リソース・バンドルへのクラス・パスは次のとおりです:
oracle.bpel.worklistapp.resource.WorklistResourceBundle
図32-43は、「リソース・バンドル」フィールドがハイライト表示された「アプリケーション・プリファレンス」ページを示しています。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
管理者は、カスタム・リソース・バンドルを作成することで、アプリケーションに表示される文字列を追加または変更できます。その後、アプリケーション・プリファレンス・ページの「リソース・バンドル」フィールドを使用して、カスタム・リソース・バンドルへのクラス・パスを指定できます。
リソース・バンドルのカスタマイズの詳細は、『Oracle Fusion Middleware Oracle Business Process Managementユーザーズ・ガイド』を参照してください。
アプリケーション・プリファレンス・ページで、ワークリスト・アプリケーションの表示言語を決定する方法を指定できます。言語ロケールに関する情報は、ユーザーのブラウザ、またはワークリスト・ユーザーに関する情報を格納するアイデンティティ・プロバイダから導出できます。
アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
ブランド・ロゴは、ワークリスト・アプリケーションの各ページの左上隅に表示されるイメージです。Oracleロゴがデフォルトで表示されますが、選択したイメージに変更することもできます。
注意: 適切に表示するためには、イメージ・サイズを120px x 40px (長さx幅)にすることをお薦めします。高解像度の大きいイメージをブランド・ロゴのサイズにあわせて圧縮することもできますが、小さいイメージの方が見やすく表示されます。 |
図32-45は、「ブランド・ロゴ」フィールドがハイライト表示された「アプリケーション・プリファレンス」ページを示しています。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
ブランド・ロゴを指定するには:
次のいずれかを実行します:
外部のイメージ・ホストWebサイトを参照します。このタスクを行うには、「ブランド・ロゴ」フィールドにイメージのURLを入力します。
サーバー上の特定の場所にイメージをアップロードし、「ブランド・ロゴ」フィールドに相対パス(/afr/my_logo.png
など)を入力します。
共有ライブラリからイメージを参照します。このタスクを行うには、「ブランド・ロゴ」フィールドに、共有ライブラリにあるとおりにロゴ名のパス(/my_logo.pngv
など)を入力します。
注意: ワークリスト・アプリケーションとプロセス・ワークスペースのいずれかからブランド・ロゴをカスタマイズすると、両方のアプリケーションのロゴが変更されます。たとえば、ワークリストからロゴを変更すると、ワークスペースのロゴが自動的に変更されます。 |
共有ライブラリの一部としてのイメージおよびJARファイルのデプロイの詳細は、『Oracle Fusion Middleware Oracle Business Process Managementユーザーズ・ガイド』を参照してください。
サイトのタイトルを指定し、デフォルトのタイトル(BPM Worklist)を好みのタイトルに変更できます。
図32-46は、「ブランド・タイトル」フィールドがハイライト表示された「アプリケーション・プリファレンス」フィールドを示しています。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
ブランド・タイトルを指定するには:
次のいずれかを実行します:
「ブランド・タイトル」フィールドに、タイトルの単純な文字列を入力します。
「ブランド・タイトル」フィールドに、「リソース・バンドル」のキーと値のペアを参照するラベルを入力します。この方法で、タイトルをLABEL_WORKLIST_TITLE.などのように国際化できます。
スキンは、グラフィック・インタフェースのルック・アンド・フィールを決定します。アプリケーション・プリファレンス・ページからスキンを指定します。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
図32-47は、「スキンの選択」フィールドがハイライト表示された「アプリケーション・プリファレンス」ページを示しています。
スキンを選択するには:
次のいずれかを実行します:
「スキンの選択」リストから、デフォルトのADFスキンの1つを選択します。
.JAR
ファイル内のカスタマイズされたスキン(.css
ファイル)をアップロードし、共有ライブラリの一部としてデプロイします。その後、コンソールからアプリケーションを再起動すると、カスタム・スキンが「スキンの選択」リストに表示されます。
カスタマイズされたスキンを含むJARファイルを作成するには:
次の例のようなディレクトリ構造を作成します:
C:\temp\META-INF\adf\oracle\skin\images
META-INF\skins\custom.css
META-INF\trinidad-skins.xml
この例では、custom
という単語をカスタマイズしたスキンの名前に変更できます。
trinidad-skins.xml
ファイルの内容が次のようになっていることを確認します:
<?xml version="1.0" encoding="ISO-8859-1"?> <skins xmlns="http://myfaces.apache.org/trinidad/skin"> <skin> <id>custom.desktop</id> <family>custom</family> <extends>custom.desktop</extends> <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id> <style-sheet-name>skins/custom.css</style-sheet-name> </skin> </skins>
c:\temp
ディレクトリから次のコマンドを発行して、.JARファイルを作成します。
jar -cvf customSkin.jar META-INF/
このJARファイルをディレクトリ/scratch/
username
/sharedLib
にコピーします。
注意: 次の方法でcssファイル内のイメージを参照します:
これにより、 |
共有ライブラリの一部としてのJARファイルのデプロイの詳細は、『Oracle Fusion Middleware Oracle Business Process Managementユーザーズ・ガイド』を参照してください。
プロセス・ワークスペースでは、「外部アプリケーション」パネルで使用できるカスタマイズされた外部アプリケーションおよびリンクを作成できます。さらに、プロセス・ワークスペースとワークリスト・アプリケーションの両方で、「タスクの詳細」ペインに表示される列を指定できます。
アプリケーション・プリファレンス・ページを使用して、カスタム・アプリケーションを指定します。アプリケーション・プリファレンス・ページにアクセスするには、「ワークリスト・アプリケーション」インタフェースの最上部にあるグローバル・ツールバーの「管理」をクリックします。
カスタム・アプリケーションを指定するJavaコードを確認するには、第32.14項「ワークリスト・アプリケーションでカスタマイズされたアプリケーションを有効化するJavaコード」を参照してください。
カスタマイズされたアプリケーションを有効にするには:
「アプリケーション・プリファレンス」ページで、図32-48に示すように、「アプリケーション・カスタマイズ・クラス名」フィールドにカスタム・アプリケーションのクラス名を入力します。
コンソールからアプリケーションを再起動します。
カスタマイズによっては、その効果をここで確認できます。
プロセス・ワークスペース用のカスタマイズを実行し、外部アプリケーションの作成と「タスクの詳細」ペインでの受信ボックス列の指定のいずれか(あるいはその両方)を実行した場合、次が表示されます。
複数の通信チャネル(配信タイプ)にアクセスする場合は、通知設定を構成して、メッセージの受信方法、時期および場所を管理できます。具体的には、メッセージを配信するチャネルとその環境を指定するメッセージング・フィルタ(配信プリファレンス)を定義できます。
たとえば、異なるサービス・レベル合意(SLA)を持つ顧客から受信するメッセージに対してフィルタを作成し、プレミアムSLAの顧客の場合は勤務先電話番号とSMSチャネルを介して通知し、それ以外のSLAの顧客の場合は電子メールで通知するように指定できます。
メッセージング・フィルタ・ルールは、ルール条件とルール・アクションで構成されます。ルール条件は、ルール属性、演算子および関連する値で構成されます。ルール・アクションは、ルール内に指定した条件を満たす場合に実行されるアクションです。
表32-9に、メッセージング・フィルタでサポートされるデータ型を示します。各属性には関連するデータ型があり、各データ型には一連の比較演算子が事前定義されています。
表32-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にログインしてタスクを表示してください。
優先チャネルが選択されていない場合、デフォルトのメッセージング・チャネル・プリファレンスは電子メールになります。
メッセージング・チャネルの表示、作成、編集および削除には、「メッセージング・チャネル」タブを使用できます。
既存のメッセージング・チャネルを表示できます。
メッセージング・チャネルを表示する手順は、次のとおりです。
「プリファレンス」リンクをクリックします。
「通知」タブをクリックします。
「メッセージング・チャネル」タブをクリックします。
「マイ・メッセージング・チャネル」リスト(図32-51)が表示され、次の情報が表示されます。
名前: メッセージング・チャネルの名前。
タイプ: メッセージング・チャネルのタイプ(電子メール、SMSなど)。
アドレス: チャネルのアドレス(電話番号、電子メール・アドレスなど)。
デフォルト: このチャネルがデフォルトのメッセージング・チャネルかどうかを指定します。
「表示」→「列」の順にクリックして、表示または非表示の列を選択します。
また、「表示」→「列の並替え」の順にクリックしてダイアログを表示し、表示されている列を並べ替えることもできます。
メッセージング・チャネルの名前とアドレスは、基礎となるアイデンティティ・ストア(Oracle Internet Directoryなど)から取得されます。
メッセージング・フィルタ・タブを使用して、受信する通知のタイプ、およびこれらの通知を受信するために使用するチャネルを指定するフィルタを定義できます。そのためには、比較演算子(「は次と等しい」や「は次と等しくない」など)、通知タイプ、内容または送信元を表す属性、および通知アクション(使用可能な最初のメッセージング・チャネルに通知を送信、すべてのメッセージング・チャネルに通知を送信、またはどのチャネルにも通知を送信しない(事実上、通知をブロック))の組合せを使用します。
たとえば、上司であるLiseから受信したすべてのメッセージを取得するLiseからのメッセージというメッセージング・フィルタを作成できます。すべてのフィルタ条件に一致する通知が最初に業務用携帯電話などに送信され、最初のメッセージング・チャネルが使用できない場合は会社の電子メールに送信されます。
既存のメッセージング・フィルタを表示できます。
メッセージング・フィルタを表示する手順は、次のとおりです。
「通知」タブをクリックします。
「メッセージング・フィルタ」タブをクリックします。
「マイ・メッセージング・フィルタ」リスト(図32-52)が表示され、次の情報が表示されます。
フィルタ名: メッセージング・フィルタの名前
説明: (オプション)メッセージング・フィルタの説明
「表示」→「列」の順にクリックして、表示または非表示の列を選択します。
メッセージング・フィルタを作成する手順は、次のとおりです。
「作成」をクリックします。
図32-53に示すように、「メッセージング・フィルタ」ページが表示されます。
次の情報を指定します。
フィルタ名: メッセージング・フィルタの名前
説明: (オプション)メッセージング・フィルタの説明
次のように、「条件」セクションのリストおよびフィールドを使用して、フィルタ条件を定義します。
「次のすべての条件」または「次の任意の条件」オプションを選択して、通知がすべての条件を満たす必要があるのか、それとも一部の条件なのかを選択します。
リストから属性を選択します。
リストから「isEqual」などの演算子を選択します。
テキスト・ボックスに、条件の値を入力します。
「追加」をクリックして、条件をリストに追加します。
この手順を繰り返してフィルタ条件をさらに追加します。フィルタ条件を削除するには、「削除」をクリックします。
「アクション」セクションで、次のメッセージング・オプションから選択します。
メッセージを送信しない: メッセージをチャネルに送信しません。
選択したすべてのチャネルにメッセージを送信: アドレス・リストに指定されているすべてのチャネルにメッセージを送信します。
最初の使用可能なチャネルに送信: 1つのメッセージの送信に成功するまで、アドレス・リスト内のチャネルに対してメッセージをシリアルに送信します。つまり、現在のチャネルが失敗ステータスを返すと、次のチャネルへの送信が実行されます。
配信チャネルを設定するには、「通知チャネルの追加」リストからチャネルを選択し、「追加」をクリックします。チャネルを削除するには、「削除」をクリックします。
上/下矢印を使用してチャネルに優先度を付けます。「最初の使用可能なチャネルに送信」を選択すると、最上位のチャネル(使用可能な場合)がフィルタ基準に一致したメッセージを受信します。
「OK」をクリックします。
メッセージング・フィルタが「マイ・メッセージング・フィルタ」ページに表示されます。この「マイ・メッセージング・フィルタ」ページでは、チャネルを編集したり、削除することができます。フィルタを作成せずにダイアログを閉じる場合は、「取消」をクリックします。
メッセージング・フィルタを編集する手順は、次のとおりです。
「マイ・メッセージング・フィルタ」ページでフィルタを選択します。
「編集」をクリックします。
「OK」をクリックしてメッセージング・フィルタを更新します。フィルタを変更せずにダイアログを閉じる場合は、「取消」をクリックします。
ヒューマン・ワークフローのマップ済属性(以前のフレックス・フィールド)での格納と問合せでは、状況固有のカスタム属性が使用されます。これらのカスタム属性は、通常、タスク・ペイロード値に基づきます。マップ済属性にカスタム属性を格納すると、次の利点が得られます。
フレックス・フィールドをタスク・リストの列として表示できます。
フレックス・フィールドでは、カスタム・ビューおよび拡張検索でタスクをフィルタ処理できます。
フレックス・フィールドは、キーワードベースの検索で使用できます。
たとえば、タスクの注文書リクエスト・ペイロードのRequester
、PurchaseOrderID
およびAmount
フィールドをマップ済属性に格納できます。Oracle BPM Worklistにログインした承認者は、これらのフィールドの値をタスク・リスト内の列で確認して、アクセスするタスクを決定できます。ユーザーは、マップ済属性に基づいてタスクをフィルタ処理するビューを定義できます。たとえば、ユーザーは、異なる金額範囲に基づいて発注書の承認用ビューを作成できます。ユーザーがある時点で特定のリクエスタまたは発注書IDに関連するタスクを取得することも必要になった場合、キーワード・フィールドにそのリクエスタまたは発注書IDを指定して検索を実行することによって、関連するタスクを取得できます。
マップ済属性の移入を行う場合は、次の手順で管理者がマップ済属性マッピングを作成する必要があります。
移入するマップ済属性のラベルを指定します。
このラベルに、データを含むペイロード属性をマップします。
これらのマッピングは、特定のタスク・タイプに対して有効です。したがって、タスク・タイプごとに異なるマップ済属性マッピングを作成できます。マッピングが完了し、新しいタスクが開始されると、そのペイロードの値はマップ済属性に推進されます。マッピングの前に開始されたタスクについては、マップ済属性に値は格納されません。マップ済属性に推進できるのは、ペイロード内の最上位レベルの単純型の属性のみです。複合型の属性またはその中にネストされた単純型の属性は推進できません。ペイロード内の属性はマップ済属性に推進する必要がある場合があることに留意しながら、ヒューマン・タスク・エディタでタスクのペイロードを定義することが重要です。キーワードベースの検索には、テキストおよび数値のすべてのマップ済属性が自動的に含められます。
基本的に、ヒューマン・タスク・エディタを使用するのは、タスクのペイロードを定義する場合のみです。他のすべての操作は実行時に実行されます。
ディレクトリ・ネーミングは、フレックス・ファイル・ネーミング規則と併用できません。
注意:
|
管理者または特別な権限があるユーザーは、属性マッピングを使用して(図32-54)、ペイロードのデータをインラインのマップ済属性に推進できます。データをマップ済属性に推進すると、それらのデータが検索可能になり、タスク・リスト・ページで列として表示できるようになります。
管理者はパブリック・マップ済属性をマップできます。workflow.mapping.publicFlexField
権限を付与されたユーザーはパブリック・マップ済属性をマップ可能であり、「管理」タブに「パブリック・フレックス・フィールド」ノードが表示されます。
ラベルを作成する手順は、次のとおりです。
マップ済属性マッピングを作成するには、まず管理者がマップ済属性を示すわかりやすい表示名となるセマンティック・ラベルを定義します。図32-55に示すように、「追加」をクリックして「ラベルの作成」ダイアログを使用します。
図32-55に示すように、labelNameはタスク属性TextAttribute3にマップされます。ペイロード属性もラベルにマップされます。この例では、「テキスト」属性タイプがlabelNameに関連付けられています。その結果、「テキスト」属性の値が「TextAttribute3」列に格納され、labelNameがユーザーのタスク・リストに表示される列ラベルになります。ラベルは、様々なタスク・タイプに再利用できます。ラベルを削除できるのは、そのラベルがどのマッピングにも使用されていない場合のみです。
マップされたペイロード属性は、カスタム・ビューに列として表示でき、カスタム・ビューとワークフロー・ルールの両方でフィルタ条件として使用できます。ペイロード属性の表示名は、マッピングの実行時に選択した属性ラベルです。
次の制約に注意してください:
マップできるのは、単純なタイプのペイロード属性のみです。
1つのタスク・タイプに使用できるマップ済属性(およびラベル)は1つのみです。
number
またはdate
データ型のデータ型変換はサポートされていません。たとえば、string
型のペイロード属性をnumber
型のラベルにマップすることはできません。
すべてのマッピングを参照する手順は、次のとおりです。
「全マッピングの参照」をクリックします。
ラベル表内の行を選択して、特定のラベルにマップされたすべてのペイロード属性を表示します。
マッピングをタスク・タイプ別に編集する手順は、次のとおりです。
「タスク・タイプによるマッピングの編集」をクリックし、必要に応じてタスク・タイプを指定して、「検索」をクリックします。
タスク・タイプを選択して、「OK」をクリックします。
「タスク・タイプによるマッピングの編集」フィールドにタスク・タイプが表示されている状態で、「実行」をクリックします。
図32-58に示すように、選択したタスク・タイプに対する現行のマッピングがすべて表示されます。
マッピングのラベルを選択して、「選択」をクリックします。
図32-59に、完成したマッピングを示します。
詳細は、第34.1.9.1項「属性ラベルの国際化」を参照してください。
次のマップ済属性がWorkflowTask.xsd
ファイルに含まれており、制限なしに使用できます。
表32-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
としてデータベースに保持されます。
表32-12に、タスク分析に使用できるワークリスト・レポートを示します。
表32-12 ワークリスト・レポートのタイプ
レポート名 | 説明 | 入力パラメータ |
---|---|---|
不参加タスク |
このレポートでは、ユーザーのグループまたは報告先のグループに割り当てられたタスクの中で、まだ獲得されていないタスク(不参加タスク)が分析されます。 |
|
タスクの優先度 |
このレポートでは、ユーザー、報告先またはそのグループに割り当てられたタスクの数が優先度別に分析されます。 |
|
タスクのサイクル・タイム |
このレポートでは、ユーザーのグループまたは報告先のグループに基づいて、タスクの割当てから完了までの所要時間が分析されます。 |
|
タスクの生産性 |
このレポートでは、ユーザー、報告先またはグループについて、特定期間中に割り当てられたタスク数と完了したタスク数が分析されます。 |
|
タスク時間分布 |
このレポートには、割当て先がタスクを実行するのに要した時間が表示されます。 |
|
図32-62に示すように、(すべてのレポート・タイプについて)レポート結果は表形式と棒グラフ形式の両方で表示されます。レポートの実行に使用した入力パラメータは、左下隅の「レポート入力」に表示されます(表示するためにスクロールが必要な場合があります)。
図32-63に、不参加タスク・レポートの例を示します。
このレポートは、Californiaグループに15件、Supervisorグループに7件、LoanAgentGroupに11件の不参加タスクがあることを示しています。このレポートでは、不参加(未申告)タスクはすべてDocumentReviewタスクです。レポートの実行時に複数のタイプの不参加タスクが存在する場合は、すべてのタスク・タイプがレポートに含まれ、それぞれのタスク・タイプが異なる色で表示されます。
図32-64に、タスクの優先度レポートの例を示します。
このレポートは、Californiaグループ、SupervisorグループおよびLoanAgentGroupに標準優先度のタスクがそれぞれ16件あることを示しています。ユーザーrstevenとjcooperのタスクはそれぞれ5件と22件で、いずれも標準優先度です。棒グラフでは、優先度(最高、高、標準、低、最低)が異なる色で区別されます。
図32-65に、タスクのサイクル・タイム・レポートの例を示します。
このレポートは、DocumentReviewタスクが完了するまでの平均所要時間が1時間6分、VacationApprovalタスクが完了するまでの平均所要時間が1時間28分であることを示しています。棒グラフには、平均サイクル・タイムがミリ秒単位で表示されます。
図32-66に、タスクの生産性レポートの例を示します。
このレポートは、California、LoanAgentGroupおよびSupervisorの各グループに割当て済のタスク数を示しています。ユーザー別では、jcooperに22件のタスクが割り当てられています。jcooperには、割当て済タスクに加えて、完了したタスクも2件あります。また、mtwainとrstevenには完了したタスクがそれぞれ6件と11件あることを示しています。棒グラフでは、2つのタスクの状態(「割当て済」と「完了」)が異なる色で区別されます。
注意: 「自分とグループ」および「報告先」オプションは、生産性レポートから削除されました。 |
ユーザーの優先ワークリスト言語は、アイデンティティ・ストアまたはブラウザから構成されます。
ユーザーの優先タイムゾーンは、アイデンティティ・プロバイダから構成します。
プリファレンス情報が使用できない場合、ユーザーの優先言語とタイムゾーンはシステム・デフォルトによって決定されます。システム・デフォルトは、言語とタイムゾーンのサーバー設定に基づいています。
ブラウザ・ロケールのカスタム・リソース・バンドル・クラスが使用できず、デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスが使用できる場合、言語は、デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスから導出されます。デフォルト・サーバー・ロケールのカスタム・リソース・バンドル・クラスも使用できない場合、言語はカスタム・ベース・クラスから導出されます。
ユーザー言語設定が設定されていない場合、またはOracle BPM Worklistでサポートされていない言語に設定されている場合、ワークリスト・アプリケーションの言語はデフォルトで英語に設定されます。
ワークリスト・インタフェースで「ブラウザ」または「アイデンティティ・プロバイダ」を選択する手順については、次の各項を参照してください。
第32.8.2項「ログイン・ページ・レルムのラベルの指定方法」(「アプリケーション・プリファレンス」ページで「ブラウザ」または「アイデンティティ・プロバイダ」を選択する方法)
第32.3項「タスク・リスト・ページのカスタマイズ」および図32-14「ワークリスト・ビューのフィールドのカスタマイズ」
ワークリストのほとんどの文字列は、ワークリスト・アプリケーション・バンドルから取得されます。デフォルトでは、これは次のクラスです。
oracle.bpel.services.workflow.resource.WorkflowResourceBundle
ただし、適切なアプリケーション・プリファレンスを設定する(第32.8.3項「リソース・バンドルの指定方法」を参照)か、またはデフォルトのバンドル・クラスの更新済バージョンを指定すると、カスタム・リソース・バンドルに変更できます。詳細は、ワークフローのカスタマイズのサンプルを参照してください。
タスク属性名、マップ済属性のラベルおよびDynamic Assignment Function名に関しては、文字列はリソース・プロパティ・ファイルWorkflowLabels.properties
の構成により取得されます。このファイルは、サービス構成ディレクトリのwfresource
サブディレクトリに存在します。このファイルに対してDynamic Assignment Functionおよび属性ラベル用にエントリを追加する方法は、第34章「ヒューマン・ワークフロー・サービスの概要」を参照してください。
カスタム・アクションおよびタスクのタイトルの表示名は、タスク構成ファイルに指定されているメッセージ・バンドルから取得されます。メッセージ・バンドルが指定されていない場合は、設計時に指定された値が使用されます。カスタム・アクションおよびタスクのタイトルを優先言語で表示するためにメッセージ・バンドルを指定する方法については、第34章「ヒューマン・ワークフロー・サービスの概要」を参照してください。
注意: ヒューマン・タスク名にハングル文字は使用できません。ヒューマン・タスク名にはハングル文字のかわりにA-Z、a-z、0-9および"_"の文字のみを使用することをお薦めします。 |
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サーバーの管理に関する項を参照してください。
Oracle Internet Directoryの場合:
デフォルトのポート番号は3060
です。
管理ユーザー名はcn=orcladmin
です。
管理パスワードはLDAPサーバーのパスワードです。
ユーザーの優先言語を変更するには、ユーザー・エントリに移動して、preferredLanguage
属性を追加または設定します。サポートされている言語のリストは、表32-13「Oracle BPM Worklistでサポートされている言語」を参照してください。
ユーザー名を表示する言語を決定することもできます。このタスクを実行するには、LDAPディレクトリのユーザー・エントリに移動して、displayname
属性を追加または指定します。ただし、ワークリストの「割当て先」列に表示されるユーザー名については、displayname
属性の設定は優先されません。
タイムゾーン設定を変更するには、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</preferredLanguage>
Oracle BPM Worklistでは、表32-13に示す言語がサポートされています。
表32-13 Oracle BPM Worklistでサポートされている言語
言語 | 形式 |
---|---|
英語 |
(en) |
フランス語 |
(fr) |
ドイツ語 |
(de) |
スペイン語(インターナショナル) |
(es) |
イタリア語 |
(it) |
ポルトガル語(ブラジル) |
(pt-BR) |
日本語 |
(ja) |
韓国語 |
(ko) |
中国語(繁体字) |
(zh-TW) |
中国語(簡体字) |
(zh-CN) |
アラビア語 |
(ar) |
チェコ語 |
(cs) |
デンマーク語 |
(da) |
オランダ語 |
(nl) |
フィンランド語 |
(fi) |
ギリシャ語 |
(el) |
ヘブライ語 |
(he) |
ハンガリー語 |
(hu) |
ノルウェー語 |
(no) |
ポーランド語 |
(po) |
ポルトガル語 |
(pt) |
ルーマニア語 |
(ro) |
ロシア語 |
(ru) |
スロバキア語 |
(sk) |
スウェーデン語 |
(sv) |
タイ語 |
(th) |
トルコ語 |
(tr) |
フランス語(カナダ) |
(fr-CA) |
Oracle BPM Worklistは、ブラウザまたはアイデンティティ・ストア(LDAP)から言語を設定するよう構成できます。この設定には、アプリケーション・レベルとユーザー・レベルの2つのレベルがあります。ユーザー・プリファレンスが、ユーザー設定のLDAPとして設定されている場合は、ワークリストの表示言語が決定される際にこの設定が優先されます。LDAPで言語を設定しない場合、ワークリストは、サーバー・ロケールとしてデフォルトの言語に従います。ただし、電子メール通知は、常にLDAPで設定された言語に従います。LDAPで言語が設定されていない場合、電子メール通知は、サーバー・ロケールに従います。
次の説明は、JAZN XMLファイルからユーザーのタイムゾーンを抽出する方法に基づいています。
タイムゾーンを変更する手順は、次のとおりです。
ユーザーの優先タイムゾーンを設定するには、太字部分を変更します。
<timeZone>America/Los_Angeles</timeZone>
タイムゾーン文字列の形式は、大陸/地域です。$JAVA_HOME/jre/lib/zi
ディレクトリでタイムゾーン値を確認できます。ディレクトリが大陸名(たとえば、Africa、Asia、Americaなど)を示し、ディレクトリ内のファイルが地域を示します。地域によっては、America/Indiana/Indianapolis
のようにサブ地域が含まれる場合があります。
ワークリストで使用可能な一部の機能は、アプリケーションに埋め込むことができるスタンドアロン再利用可能コンポーネントとして公開されています。さらに、これらのスタンドアロン・タスク・フローにより、パラメータを使用した多くのカスタマイズ機能が提供されるため、ユーザーは要件にあわせてワークリスト・アプリケーションを作成してカスタマイズできます。すべてのタスク・フローは、埋込みアプリケーションに含めることができるADFライブラリにバンドルされます。
再利用可能な各ワークリスト・リージョンの使用方法は通常のワークリスト・リージョンと同じですが、いくつかの例外があります。次の手順では、アプリケーションを作成してタスク・リスト・タスク・フローをアプリケーションに埋め込むステップについて詳細に説明します。可能な場合は、他のタイプの再利用可能なワークリスト・リージョンの使用方法についても説明しています。
埋込みの再利用可能なワークリスト・リージョンを使用してアプリケーションを作成する手順は、次のとおりです。
Oracle JDeveloperで新規のFusion Webアプリケーションを作成します。この例では、アプリケーションの名前はTaskListTaskFlowSampleです。図32-67に詳細を示します。
ビュー・コントローラの「プロジェクト・プロパティ」を開き、「ライブラリとクラスパス」セクションで「ライブラリの追加」をクリックして、次のライブラリをクラスパスに追加します。
BPMワークリスト・コンポーネント
タスク・フローJAR adflibTaskListTaskFlow.jar
およびadflibWorklistComponents.jar
を追加するために、このライブラリを追加します。これらがプロジェクトのクラス・パスに含まれている必要があります。
BPMサービス
WSRPコンテナ
図32-68に詳細を示します。
アプリケーションが非SOAサーバーで実行されている場合は、次の2つのステップを実行する必要があります。
oracle.soa.workflow
共有ライブラリをインストールします。
サーバーにoracle.soa.workflow.wc
がすでにインストールされている場合、oracle.soa.workflow
のインストールは不要です。
サーバーで外部JNDIを構成します。
タスク・リスト・タスク・フローをフェデレーテッド・モードで実行する場合、このステップは不要です。タスク・フローをフェデレーテッド・モードで使用する方法の詳細は、「federatedMode」セクションを参照してください。
ビュー・コントローラ・プロジェクトを選択し、「ファイル」→「新規」→「現在のプロジェクト・テクノロジ」→「Web層」→「JSFページ」の順に選択して、jspxファイル(例: testSample.jspx
)を作成します。
「JSFページの作成」ダイアログでは、必ず「XMLドキュメントの作成(*.jspx)」を選択してください。
「コンポーネント・パレット」からadflibTaskListTaskFlow.jar
を選択します。すべてのタスク・フローとリージョンのリストが含まれます。図32-69に詳細を示します。
タスク・フロー・リージョンの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>
アプリケーションをデプロイする前に、第32.13.2項「デプロイメント・プロファイルの設定方法」を参照してください。
アプリケーションをデプロイする前に、デプロイメント・プロファイルを編集する必要があります。
デプロイメント・プロファイルを編集する手順は、次のとおりです。
View Controllerプロジェクトを選択し、「ファイル」→「新規作成」→「一般」→「デプロイメント・プロファイル」を選択します。「WARファイル」を選択し、「OK」をクリックします。
「WEB-INF/lib」→「フィルタ」の順に選択し、adflibTaskListTaskFlow.jar
、adflibWorklistComponents.jar
およびwsrp-container.jar
を選択します。
タスク・フローをフェデレーテッド・モードで使用する場合は、フェデレーテッド・サーバーのリストをタスク・フローに渡す必要があります。詳細は、「federatedMode」を参照してください。
タスク・フローをフェデレーテッド・モードで使用する場合は、フェデレーテッド・サーバー間でグローバル・トラストを有効にします。これにより、すでに認証されたユーザー・トークンが、タスク・フローに渡されたすべてのフェデレーテッド・サーバーに渡されます。
すべてのフェデレーテッド・サーバーで次の手順を実行して、すべてのサーバーを再起動します。すべてのサーバーを再起動することが非常に重要です。
サーバーを再起動する手順は、次のとおりです。
Oracle WebLogic Serverコンソールにログインします。
「ドメイン構造」からドメイン名soainfraを選択します。SOAサーバーを使用していない場合は、ドメイン名が異なる場合があります。
「セキュリティ」タブを選択します。
「詳細」リンク(下部の「保存」ボタンの近くにあります)を選択します。
「資格証明」フィールドにパスワードを入力します(すべてのフェデレーテッド・サーバーで同じパスワードを使用する必要があります)。
「保存」をクリックします。
サーバーを再起動します。
タスク・リスト・タスク・フローでは、埋込みリージョンの表示動作を制御するためのパラメータを指定します。図32-70に詳細を示します。
次に、パラメータの一部を示します。すべてのパラメータのリストは、第36.4項「ワークリスト・ポートレット・パラメータの受け渡し」を参照してください。
federatedMode
trueとして渡された場合、タスク・リストはフェデレーテッド・モードで表示されます。タスク・フローをフェデレーテッド・モードで実行するには、フェデレーテッド・サーバーのリストをタスク・フローに渡す必要があります。次のいずれかの方法で、フェデレーテッド・サーバーのリストをタスク・フローに渡すことができます。
クライアント構成ファイルwf_client_config.xml
をクラス・パス(EARレベルのAPP-INF\classes\wf_client_config.xml
またはWebアプリケーションのWEB-INF\classes
)に含めます。クライアント構成ファイルには、すべてのフェデレーテッド・サーバーの詳細が含まれています。このパラメータの詳細は、第36.4項「ワークリスト・ポートレット・パラメータの受け渡し」を参照してください。
フェデレーテッド・サーバー・リストを格納したJAXBオブジェクトを作成します。このJAXBオブジェクトは、federatedServers
パラメータを使用してタスク・フローに渡すことができます。JAXBオブジェクトの作成方法については、「federatedServers」を参照してください。
クライアント構成ファイル(wf_client_config.xml
)とJAXBオブジェクトの両方がタスク・フローに渡された場合は、JAXBオブジェクトが優先されます。
federatedServers
タスク・フローがフェデレーテッド・モードで実行される場合、このパラメータは、サーバーのリストが含まれるJAXBオブジェクトです。クライアント構成ファイル(wf_client_config.xml
)も渡された場合は、このパラメータが優先されます。JAXBオブジェクト(WorkflowServicesClientConfigurationType
)の作成方法の詳細は、例32-1のコード例を参照してください。
例32-1に示すように、サーバーの1つをdefault
として設定する必要があります。デフォルトとして指定する必要があるのは1つのサーバーのみです。また、デフォルトとして指定したサーバーが、フェデレーテッド・サーバーのリストから除外されていることを確認してください。次の例では、これに関連するコードが太字で表示されています。
デフォルト・サーバーが使用されるのは、wf_client_config.xml
またはJAXBオブジェクトに複数のサーバーが定義されているが、ワークフロー・クライアントで1つのサーバーのみ必要な場合です。サーバー名をパラメータとして使用しないレガシーのAPIがいくつかあります。このようなレガシーのAPIをサポートするには、1つのサーバーをデフォルト・サーバーとして定義する必要があります。そうしないと、サーバー名を使用しないレガシーのAPIは機能しません。
例32-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.example.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.example.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://myhost.us.example.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://myhost.us.example.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.example.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.example.com:7001"); sct2.setIdentityPropagation(ipt2); server2.setSoapClient(sct2);
showServerColumn
タスク・フローがフェデレーテッド・モードで実行される場合、デフォルトではタスク・リストのサーバー列は表示されません。サーバー列を表示する場合は、このパラメータをtrue
で渡します。それ以外の場合、サーバー列は表示されません。
wfCtxID
これはワークフロー・コンテキストのトークン文字列です。ワークフロー・コンテキストをタスク・フロー内部に作成する場合に使用します。アプリケーションがSSO対応の場合、またはアプリケーションがADFセキュリティを使用して保護されている場合、このパラメータは必要ありません。それ以外の場合、これは必須パラメータです。例32-2に、ワークフロー・コンテキストIDを取得する方法を示します。
次の図に示すように、ユーザーは意思決定の署名に使用する証明書をアップロードできます。証明書を使用してタスクの結果に署名する際は、証明書発行者から発行された1つの証明書のみではなく、証明書チェーン全体をOracle BPM Worklistから.P7B(PKCS7形式)ファイルとしてアップロードする必要があります。
デジタル証明書には、証明書発行者のデジタル署名が記載されているため、誰でも証明書が本物であることを確認できます。参加者の資格証明は、デジタル証明書によって証明されます。これは認証局(CA)が発行します。ユーザー名、シリアル番号、有効期限、証明書所有者の公開鍵のコピー(メッセージとデジタル署名の暗号化に使用)、および証明書発行者のデジタル署名が記載されているため、受信者は証明書が本物であることを確認できます。
証明書タスク・フローにパラメータはありません。図32-71に詳細を示します。
図32-72に、不参加タスク・レポートを示します。
次に、タスク分析に使用できるワークリスト・レポートを示します。
不参加タスク
不参加タスク・レポートでは、ユーザーのグループまたは報告先のグループに割り当てられたタスクの中で、まだ獲得されていないタスク(不参加タスク)が分析されます。
割当て先 - (必須)このオプションでは、ユーザーのグループに割り当てられたタスク(グループ)、報告先のグループに割り当てられたタスク(「報告先」)、ユーザーが作成者であるタスク(「作成者」)、またはユーザーが所有者であるタスク(「所有者」)を選択します。
作成日 - (オプション)日付範囲。
有効期限 - (オプション)日付範囲。
タスクの状態 - (オプション)状態は、「任意」、「割当て済」、「期限切れ」または「情報のリクエスト中」のいずれかです。
優先度 - (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクの優先度
タスクの優先度レポートでは、ユーザー、報告先またはそのグループに割り当てられたタスクの数が優先度別に分析されます。
割当て先 - (必須)このオプションには、選択した割当て先に応じて、ログイン・ユーザーに割り当てられたタスク(「個人」)、ユーザーとそのユーザーが所属するグループに割り当てられたタスク(「個人とグループ」)、または、ユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日 - (オプション)日付範囲。
終了日 - (オプション)レポートに含まれるタスクの終了日の日付範囲。
優先度 - (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクのサイクル・タイム
タスクのサイクル・タイム・レポートでは、ユーザーのグループまたは報告先のグループに基づいて、タスクの割当てから完了までの所要時間が分析されます。
割当て先 - (必須)このオプションには、選択した割当て先に応じて、自分のタスク(「個人」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日 - (オプション)日付範囲。
終了日 - (オプション)レポートに含まれるタスクの終了日の日付範囲。
優先度 - (オプション)優先度は、「任意」、「最高」、「高」、「標準」、「低」または「最低」のいずれかです。
タスクの生産性
タスクの生産性レポートでは、ユーザー、報告先またはグループについて、特定期間中に割り当てられたタスク数と完了したタスク数が分析されます。
割当て先 - (必須)このオプションには、選択した割当て先に応じて、ユーザーのタスク(「個人とグループ」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
作成日(範囲) - (オプション)作成日の日付範囲。デフォルト値は1週間です。
タスク・タイプ - 「検索」(懐中電灯)アイコンを使用して、タスクのタイトルのリストから選択します。「ワークフロー・タスク・タイプの選択」ページに、タスクのすべてのバージョンがリストされます(オプション)。
タスク時間分布
タスク時間分布レポートには、割当て先がタスクを実行するのに要した時間が表示されます。
割当て先 - (必須)このオプションには、選択した割当て先に応じて、ユーザーのタスク(「個人とグループ」)、またはユーザーの報告先が所属するグループに割り当てられたタスク(「報告先」)が含まれます。
開始...終了(日付範囲) - (オプション)作成日の日付範囲。デフォルト値は1週間です。
タスク・タイプ - 「検索」(懐中電灯)アイコンを使用して、タスクのタイトルのリストから選択します。「ワークフロー・タスク・タイプの選択」ページに、タスクのすべてのバージョンがリストされます(オプション)。
ワークリストの外観は、アプリケーション・プリファレンスを使用してカスタマイズします。管理者は次の値を指定できます。
ログイン・ページ・レルムのラベル: アイデンティティ・サービスが複数のレルムで構成されている場合は、Oracle BPM Worklistのログイン・ページにレルム名のリストが表示されます。LABEL_LOGIN_REALM
は、これらのレルムを表示するラベルのルックアップに使用するリソース・バンドル・キーを指定します。realm(レルム)という語は、ユーザー・コミュニティにあわせて変更できます。たとえば、country(国)、company(会社)、division(部)、department(部門)などの方が適切な場合があります。管理者は、リソース・バンドルをカスタマイズし、この文字列にリソース・キーを指定して、このパラメータがリソース・キーを指し示すように設定できます。
グローバル・ブランド・アイコン: これは、ワークリストの各ページの左上隅に表示されるイメージです。(Oracleロゴがデフォルトです。)管理者は、ロゴに使用する.gif
、.png
または.jpg
ファイルを提供できます。このファイルはpublic_html
ディレクトリに置く必要があります。
リソース・バンドル: アプリケーション・リソース・バンドルは、ワークリストに表示される文字列を指定します。デフォルトでは、これはoracle.bpel.worklistapp.resource.WorklistResourceBundle
のクラスです。図32-73に詳細を示します。
ヒューマン・ワークフローのマップ済属性での格納と問合せでは、状況固有のカスタム属性が使用されます。これらのカスタム属性は、通常、タスク・ペイロード値に基づきます。マップ済属性にカスタム属性を格納すると、次の利点が得られます。
フレックス・フィールドをタスク・リストの列として表示できます。
フレックス・フィールドでは、カスタム・ビューおよび拡張検索でタスクをフィルタ処理できます。
フレックス・フィールドは、キーワードベースの検索で使用できます。
たとえば、タスクの注文書リクエスト・ペイロードのRequester、PurchaseOrderIDおよびAmountフィールドをマップ済属性に格納できます。Oracle BPM Worklistにログインした承認者は、これらのフィールドの値をタスク・リスト内の列で確認して、アクセスするタスクを決定できます。ユーザーは、マップ済属性に基づいてタスクをフィルタ処理するビューを定義できます。
たとえば、ユーザーは、異なる金額範囲に基づいて発注書の承認用ビューを作成できます。ユーザーがある時点で特定のリクエスタまたは発注書IDに関連するタスクを取得することも必要になった場合、キーワード・フィールドにそのリクエスタまたは発注書IDを指定して検索を実行することによって、関連するタスクを取得できます。図32-74に詳細を示します。
ルールを使用してタスクを操作します。タスクは、特定のタスク・タイプ、またはユーザーやグループに割り当てられた全タスクのいずれかです。次の図に、休暇ルールも含めて、ルールを設定する場所を示します。
ルールは、そのルールが使用されるすべての環境で常に適用できるわけではありません。たとえば、ルールが複数のタスク・タイプに適用される場合は、タスクによって結果が異なるため、すべてのタスクに結果を設定できない場合があります。
ルールはリストされている順序で実行されます。ルールはヘッダーの上下ボタンを使用して順序を変更できます。ルールはフィルタ条件を満たしている場合に実行され、他のルールは評価されません。ルールを実行するユーザーは、該当するタスクに割り当てられている唯一のユーザーであることが必要です。タスクが(自分を含めて)複数のユーザーに割り当てられている場合、ルールは実行されません。
showOtherUsersRules
パラメータはブール値を取ります。このパラメータがTrue
として渡されると他のユーザーのルールが表示され、False
として渡されると他のユーザーのルールは表示されません。さらに、ユーザーが他のユーザーのルールを表示するには、必要な権限が付与されている必要があります。図32-75および図32-76に詳細を示します。
承認グループは、静的に定義されたか、または動的に生成された承認者のリストです。承認グループは、通常、ワークリスト・アプリケーションを使用して、プロセス所有者によって構成されます。一般に、これらは、管理承認の前後にタスクを処理する必要がある、人事や弁護士などのトランザクションの権限の管理チェーンの外側の主題専門家をモデリングするのに使用されます。
静的な承認グループは事前定義済の承認者リストで、動的な承認グループはランタイムに承認者リストを生成します。動的な承認グループでは、次を実行する必要があります。
開発者による動的承認者リストのインタフェースに応じた実装の提供
IT部門によるOracle BPM WorklistのUIを使用した動的な承認グループとしての前述の実装の登録
SOAクラス・パスの一部であり世界的に有名なディレクトリでの、クラス・ファイルの公開
タスク構成は、ワークリスト・アプリケーション内のWebベースアプリケーションで、ワークフロー設計者が事前に定義したルールをビジネス・ユーザーおよび管理者が確認および変更することが可能です。この事前定義済ルールは、特定の顧客向けに、適用可能な顧客企業ポリシーに基づいて変更できます。
たとえば、会社のポリシーで、1000を超える経費には2レベルの承認が必要であるとします。さらに、このポリシーが変更され、3レベルを必要とするようになったとします。IT部門が基礎となるプロセスでルールを変更し、再度デプロイするかわりに、タスク構成を使用してルールを変更できます。ルールの変更は次のインスタンスから適用され、すでに進行中のインスタンスでは現在のルール定義が使用されます。
タスク構成を使用すると、承認フローに関連付けられているイベント駆動ルールとデータ駆動ルールを、ワークフローのデプロイ後である実行時に編集できます。
第32.8.8項「カスタマイズされたアプリケーションおよびリンクを有効にする方法」では、ワークリスト・アプリケーションの「アプリケーション・プリファレンス」ページを使用してカスタム・アプリケーションを指定する方法について説明しています。この指定を実行するJavaコードは、次のとおりです。
package view.customisationimpl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import oracle.bpel.services.workflow.client.IWorkflowServiceClient; import oracle.bpel.services.workflow.runtimeconfig.IRuntimeConfigService; import oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelType; import oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelUsageList; import oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelUsages; import oracle.bpel.services.workflow.verification.IWorkflowContext; import oracle.bpm.ui.customization.CustomLink; import oracle.bpm.ui.customization.IBPMUICustomizations; public class WorkspaceCustomisationImpl implements IBPMUICustomizations { private static Map displayNameMap = new HashMap(); public WorkspaceCustomisationImpl() { displayNameMap.put("instanceId", "Instance Id"); displayNameMap.put("protectedTextAttribute1", "Business Status"); } public List<CustomLink> getCustomGlobalLinks() { CustomLink globalLink1 = new CustomLink("Oracle Home Page", "www.oracle.com", null); CustomLink globalLink2 = new CustomLink("Self Services Application", "http://global-ebusiness.example.com/", null); CustomLink globalLink3 = new CustomLink("BUG DB", "https://bug.example.com/", null); List<CustomLink> globalLinks = new ArrayList<CustomLink>(); globalLinks.add(globalLink1); globalLinks.add(globalLink2); globalLinks.add(globalLink3); return globalLinks; } public String getColumnNames() { return "title,taskNumber,instanceId,creator,protectedTextAttribute1"; } private static void initDisplayMap(IWorkflowServiceClient client, IWorkflowContext context) { // u can use service to load all label name for text attributes if (displayNameMap == null) { synchronized (String.class) { if (displayNameMap == null) { displayNameMap = new HashMap(); try { IRuntimeConfigService service = client.getRuntimeConfigService(); AttributeLabelUsageList list = service.getAttributeLabelUsages(context, "Text"); List<AttributeLabelUsages> list1 = list.getAttributeLabelUsages(); for (AttributeLabelUsages usage : list1) { AttributeLabelType type = usage.getLabel(); displayNameMap.put(type.getTaskAttribute(), type.getLabelName()); } } catch (Exception exc) { } } } } } public String getColumnDisplayName(IWorkflowServiceClient client, IWorkflowContext context, java.lang.String colName) { initDisplayMap(client, context); return (String)displayNameMap.get(colName); } }