ワークフローメトリクスの使用
サブスクリプション
この機能はElasticsearchでのみ機能します.
ワークフローメトリクス により、特定のワークフローイベントを完了するために費やされた時間についての洞察が提供されます。 これを使用するには、ワークフロープロセスのイベントに期限を設定します。 これらの期限設定は、SLA(サービスレベルアグリーメント)と呼ばれます。 定義すると、ワークフローレポートによって、SLAへの準拠が測定されます。 これは、ワークフローの参加者とワークフロー項目を送信するユーザーの間の契約のようなものです。 ワークフローレポート には、各ワークフロー項目のSLAステータス(期限内または期限切れ)を含む、SLAが設定されたすべてのプロセスのデータが表示されます。
-
SLAが設定されたワークフローの編集: SLAが定義されたワークフローを編集すると(ノードの削除、タスク名の編集など)、ワークフロー/SLAパイプラインに既にある項目のSLAが無効になる場合があります。
-
*アクティブなプロセスに対するSLAの作成または編集:*項目が既にワークフロープロセスにある場合にSLAの期間を編集したり、新しいSLAを定義すると、現在ワークフローにあるすべてのインスタンスが再計算されます。 完了したワークフローインスタンスは再計算されません。
前提条件
ワークフローメトリクス を使用するには、Elasticsearchを使用してDXPデータにインデックスを付ける必要があります。 詳細は、Elasticsearchのインストールを参照してください。
SLAの追加
SLAを追加するには
-
グローバルメニューでは、 [アプリケーション] → [ワークフロー] → [メトリクス] に移動します。
-
プロセスのタイトルをクリックします。
-
プロセスに対するSLAがない場合は、そのことを示す警告メッセージが表示されます。 警告メッセージの [Add a new SLA] リンクをクリックして、新しいSLAフォームに直接アクセスします。
または、オプション()メニューをクリックし、 [SLA Settings] を選択します。
-
SLA画面で、 追加 ボタン()をクリックします。
-
新しいSLAフォームで、SLAに名前と説明を付けます。
-
次の3つを指定して、SLAの期間を定義します。
- Start :Enters Task: Review
- Pause : On Task: Update
- Stop : Process Ends: Approved
-
SLAの期間(つまり、期限)を定義します。 2つの時間ボックスの少なくとも1つに入力します。
- Days: 1
- Hours: 00:00
-
[Save] をクリックします。
有効な開始および停止イベント
ワークフロータスクは、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でワークフローメトリクスのインデックスを再作成するには
-
メトリクスアプリケーションから、オプションメニュー()を開き、 [Settings] をクリックします。
-
次に、[ワークフローのインデックス操作]画面で、[ワークフローのインデックス]エントリの [すべてインデックスを再構築] をクリックします。
このオプションは、ワークフロー統計情報アプリケーションのすべてのインデックスに作用します。 より詳細なオプションも利用できます。 複数の仮想インスタンスがある場合は、各仮想インスタンスのワークフローメトリクスのインデックスを個別に作成する必要があります。
Liferay 7.2では、ワークフローメトリクスは検索管理パネル(コントロールパネル → 構成 → 検索)から再インデックス化されます。
検索エンジンを最初に設定する際およびアップグレードするたびに、ワークフロー統計情報のインデックス再構築が必要です。 経験則として、Liferay DXPのメインの検索インデックスが再構築されるたびに、ワークフロー統計情報のインデックス再構築が必要です。
ワークフロープロセスの全体的なメトリクスから、ワークフロー内の単一項目の詳細まで、新しいワークフロー統計情報機能を使用して、Liferay DXPでの 作業にかかる時間 を把握できます。
ワークフロータスクの一括管理
メトリックスUI内で、ワークフロータスクを一括管理することができます。 例えば、各タスクに個別に入ることなく、1人のユーザーに複数のタスクを割り当てることができます。 この機能を利用するには、ワークフロー・プロセス内で管理する必要のあるアイテムがあることを確認してください。 例えば、 active ブログのSingle Approverワークフロープロセスを実行し、いくつかのブログをワークフローに送信します。
-
Metrics アプリケーションで、ワークフロープロセス(例:Single Approver)をクリックし、ダッシュボードビューを開きます。
-
Total Pending ボックスにカーソルを合わせ、 See Items をクリックすると、Pending ステータスを持つ保留中のワークフロー項目のテーブルが表示されます。
-
ワークフローで再割り当てしたい項目を選択し、再割り当てボタン()をクリックします。
-
再割り当てするタスクの選択]モーダルで、タスクを再度選択し、 [次へ] をクリックします。
-
すべてのタスクを同じ担当者に割り当てるには、 「Use the same assignee for all tasks」ボックスをチェックします。 にチェックを入れてから、担当者を検索します。
各タスクの担当者を手動で選択する場合は、各項目の「新規担当者」ボックスを使用して担当者を選択します。
-
再割り当て]をクリックします。
同様の手順で、選択したワークフロー項目の期日を更新()したり、ワークフロー内の別のステップに移行()したりすることもできます。