ワークフローメトリクスの使用
変更通知を受け取る(購読する)
ワークフローメトリクスにより、特定のワークフローイベントを完了するために費やされた時間についての洞察が提供されます。 これを使用するには、ワークフロープロセスのイベントに期限を設定します。 これらの期限設定は、SLA(サービスレベルアグリーメント)と呼ばれます。 定義すると、ワークフローレポートによって、SLAへの準拠が測定されます。 これは、ワークフローの参加者とワークフロー項目を送信するユーザーの間の契約のようなものです。 ワークフローレポートには、各ワークフロー項目のSLAステータス(期限内または期限切れ)を含む、SLAが設定されたすべてのプロセスのデータが表示されます。
-
SLA を含むワークフローの編集: SLA が定義されているワークフローを編集すると (ノードの削除、タスク名の編集など)、ワークフロー/SLA パイプラインにすでに含まれている項目の SLA が無効になる可能性があります。
-
アクティブなプロセスの SLA の作成または編集: アイテムがすでにワークフロー プロセス内にあるときに SLA の期間を編集したり、新しい SLA を定義したりすると、現在ワークフロー内にあるすべてのインスタンスの再計算が行われます。 完了したワークフローインスタンスは再計算されません。
前提条件
ワークフローメトリクスを使用するには、Elasticsearchを使用してDXPデータにインデックスを付ける必要があります。 詳細については、「 Elasticsearch のインストール 」の記事をお読みください。
SLAの追加
SLAを追加するには
-
グローバル メニューで、 アプリケーション → ワークフロー → メトリクスに移動します。
-
プロセスのタイトルをクリックします。
-
プロセスに対するSLAがない場合は、そのことを示す警告メッセージが表示されます。 警告メッセージの[Add a new SLA]リンクをクリックして、新しいSLAフォームに直接アクセスします。
または、[オプション] (
) をクリックし、[ SLA 設定] を選択します。
-
SLA 画面で、 追加 (
) をクリックします。 -
新しいSLAフォームで、SLAに名前と説明を付けます。
-
次の3つを指定して、SLAの期間を定義します。
- 開始: タスクを入力: レビュー
- 一時停止: タスク実行中: 更新
- 停止: プロセス終了: 承認済み
-
SLAの期間(つまり、期限)を定義します。 2つの時間ボックスの少なくとも1つに入力します。
- 日数: 1
- 時間: 00:00

-
[保存]をクリックします。

有効な開始および停止イベント
ワークフロータスクは、SLAの開始または終了パラメーターとして使用できます。
項目がここで定義されたイベントに到達すると、SLAタイマーがカウントを開始します。 次のオプションから選択します。
| 開始イベント | 説明 |
|---|---|
| 開始ノード | 作成されたノードに入るとSLAタイマーが起動します。 |
| タスクへのエントリ | SLAクロックは、ワークフローがタスクに移行したときに開始されます。 |
| タスクの終了 | SLAクロックは、ワークフローがタスクから移行したときに開始されます。 例えば、 レビュータスクを終了した時点でSLAタイマーが開始されます。 |
項目が定義されたSLA期間(期限)の前に停止イベントに到達した場合、その項目はSLAに従って期限内となります。 指定した時間内に停止イベントに到達できなかった場合、期限切れとなります。 SLAの停止イベントとして機能するタスクを定義する場合は、次のオプションから選択します。
| 停止イベント | 説明 |
|---|---|
| タスクへのエントリ | SLAクロックは、ワークフローがタスク( アップデートタスクなど)に移行すると停止します。 |
| タスクの終了 | SLAクロックは、ワークフローがタスク( レビュータスクなど)から移行すると停止します。 |
| 終了ノード | 承認されたノードに入るとSLAタイマーが停止します。 |
[一時停止]フィールドは、時間のカウントを停止する必要があるワークフローのイベントを定義します。 Single Approverワークフローの場合、項目が更新タスクにあるときにSLAタイマーを一時停止することを選択できます。 SLAは、開始ノードと終了ノードの間にある任意のタスクで一時停止でき、SLAを一時停止する必要があるときにノードを設定することによって定義します。 ワークフロー項目が指定されたノードにある間、SLAタイマーは一時停止されます 。
期間
| 単位時間 | 説明 |
|---|---|
| 日間 | 日数は整数で入力します。 36時間などの場合は、[Hours]フィールドと組み合わせて使用します。この場合は、 1日と12時間と表現します。 |
| 時間 | 時間数と分数を入力します。 [Hours]ボックスの値は23:59を超えてはいけません。 期間が1日を超える場合は、[Days]フィールドと組み合わせて使用します。 |
SLAジョブ間隔の設定
メトリクスの再計算の時間間隔は、SLAジョブ間隔と呼ばれます。 デフォルト値は1分です。 デフォルト値を変更するには、
-
アプリケーション メニュー (
) から、システム設定アプリケーションに移動し、ワークフロー メトリック エントリを開きます。 -
[SLAジョブの確認間隔]の設定値を変更し、[保存]をクリックします。
または、
-
以下の設定ファイルを作成します
com.liferay.portal.workflow.metrics.internal.configuration.WorkflowMetricsConfiguration.config -
以下のような内容を指定します。
checkSLAJobInterval="1" -
[Liferay Home]/osgi/configsに配置します。
ワークフロー統計情報データが検索エンジンから読み取られ、メトリクスが計算されます。 間隔の値を設定するときは、次の競合するパフォーマンスの懸念を考慮してください。
- メトリクスの再計算イベントの間隔が長いほど、再計算のたびに読み取られる検索ドキュメントの数が多くなります。
- メトリクスの再計算イベントの間隔が短いほど、検索エンジンへの読み取り要求の頻度が高くなります。
ワークフローメトリクスの再インデックス
Liferay DXP の 再インデックス アクションは、マッピングファイルに基づいて検索インデックスを完全に削除してから再作成します。 メトリックもデータベースに保存されるため、再インデックス時にデータが失われる危険はありません。 Liferay 7.3でワークフローメトリクスを再インデックスするには、
-
Metrics アプリケーションから、オプション メニュー (
) を開き、 設定をクリックします。 -
次に、[ワークフローのインデックス操作]画面で、[ワークフローのインデックス]エントリの[すべてインデックスを再構築]をクリックします。
このオプションは、ワークフロー統計情報アプリケーションのすべてのインデックスに作用します。 より詳細なオプションも利用できます。 複数の仮想インスタンスがある場合は、各仮想インスタンスのワークフローメトリクスのインデックスを個別に作成する必要があります。
Liferay 7.2 では、ワークフロー メトリックは検索管理パネル (コントロール パネル → 構成 → 検索) から再インデックス化されます。
検索エンジン を最初に構成するとき、およびアップグレードするたびに、ワークフロー メトリックの再インデックスが必要です。 経験則としては、Liferay DXP のメイン検索インデックスが再インデックスされるたびに、ワークフローメトリックも再インデックスする必要があります。
ワークフロープロセスの全体的なメトリクスから、ワークフロー内の単一項目の詳細まで、新しいワークフロー統計情報機能を使用して、Liferay DXPでの作業にかかる時間を把握できます。
ワークフロータスクの一括管理
メトリクス UI 内で、ワークフロー タスクを一括管理できます。 たとえば、各タスクを個別に確認することなく、1 人のユーザーに複数のタスクを割り当てることができます。 この機能を調べるには、ワークフロー プロセス内で管理する必要がある項目がいくつかあることを確認してください。 たとえば、ブログの単一承認者ワークフロー プロセスを アクティブ化 してから、いくつかのブログをワークフローに送信します。
-
Metrics アプリケーションから、ワークフロー プロセス (例: Single Approver) をクリックして、ダッシュボード ビューを開きます。
-
保留中の合計 ボックスにマウスを移動し、 アイテムを表示 をクリックして、保留中のステータスのワークフロー アイテムのテーブルを開きます。
-
ワークフローで再割り当てする項目を選択し、再割り当てボタン (
) をクリックします。
-
再割り当てするタスクの選択モーダルで、タスクを再度選択し、 次へをクリックします。
-
すべてのタスクを同じ担当者に割り当てるには、 「すべてのタスクに同じ担当者を使用する」ボックスをオンにします。をクリックして、譲受人を検索します。
各タスクの割り当て先を手動で選択するには、各項目の [新しい割り当て先] ボックスを使用して割り当て先を選択します。

-
[再割り当て]をクリックします。
同様の手順に従って、選択したワークフロー項目の期限を更新 (
) したり、ワークフロー内の別のステップに移行 (
) したりすることもできます。
