このCookbookでは、IM-Workflow 2018 Springから新たに追加された 処理対象者プラグイン「ロジックフロー(ユーザ)」 の設定方法を紹介いたします。
この機能を利用すると、申請した案件の情報などに基づいてフローの参照者や処理対象者をロジックフローから設定できます。
今回のCookbookでは、申請時の担当組織に基づいて、特定のパブリックグループのユーザを参照者(案件操作権限者)に設定するための方法が確認できます。
完成イメージ
申請者の担当組織に基づいて、ロジックフローで参照者を設定するサンプルです。
任意のフロー定義の参照者に「ロジックフロー(ユーザ)」を利用することにより、特定のパブリックグループのユーザを参照者に設定できます。
完成サンプル
以下のサンプルをダウンロードしてご利用ください。
- ロジックフロー定義 / ユーザ定義(JavaScript定義) : im_logicdesigner-data_142676.zip
- LogicDesignerのインポート機能からインポートしてください。サンプルのユーザ定義(JavaScript)、ロジックフローが登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。
[IM-LogicDesigner ユーザ操作ガイド] - [インポートを行う]
サンプルに含まれる定義情報は以下の表の通りです。
種類 | 定義名 | 補足説明 |
---|---|---|
ユーザ定義(JavaScript) | 【Cookbook】ロジックフローで案件操作権限者を設定する(検索条件の作成) | 共通マスタのパブリックグループの検索条件を生成するユーザ定義です。 |
ユーザ定義(JavaScript) | 【Cookbook】ロジックフローで案件操作権限者を設定する(ワークフローパラメータの作成) | ワークフローの参照者の設定用のパラメータを生成するユーザ定義です。 |
ロジックフロー | 【Cookbook】ロジックフローで案件操作権限者を設定する | 上記のユーザ定義を参照しているロジックフローです。 |
上記のサンプルの利用条件は以下の通りです。
- intra-mart Accel Platform(Advanced) 2018 Spring(8.0.19)以降のバージョンであること
- サンプルデータのインポートが行われていること
サンプルは、intra-mart Accel Platform(Advanced) 2018 Spring(8.0.19)で動作確認を行っています。
レシピ
- ロジックフローを作成する
- ワークフローで利用可能なロジックフローに登録する
- ワークフローの参照者(案件操作権限者)に「ロジックフロー(ユーザ)」を追加する
- 実行画面で確認する
1. ロジックフローを作成する
1. 入出力設定の登録
- 入力はIM-Workflowが提供しているパラメータを利用するため、以下のドキュメントに基づいて、「処理対象者プラグインに属するリソースの入力設定」の「imwApplyAuthInfo(申請者情報)」を設定してください。
- 出力は、入力と同様に「処理対象者プラグインに属するリソースの出力設定」を設定してください。
[IM-Workflow 管理者操作ガイド] - [ロジックフローを利用する] - 設定後の入出力設定は、以下の画面のとおりです。
入力項目 | データ型 |
---|---|
imwApplyAuthInfo | object |
userCd | string |
companyCd | string |
departmentSetCd | string |
departmentCd | string |
出力項目 | データ型 |
---|---|
userCds | string[] |
2. 定数の設定
- 以下のとおりに、共通マスタの検索条件のパブリックグループセットコードを定数に定義してください。
定数ID | 定数値 |
---|---|
publicGroupSetCd | sample_public |
3. タスクの配置と接続
- 以下のとおりに、タスクを配置し、それぞれのタスク同士を接続してください。
(1) 【Cookbook】Setting matter handle user by Logic Flow (Creation of Search condition)
ワークフローから受け取った申請者情報を、次の「パブリックグループに所属するユーザの取得」タスクの入力値の形式に変換しています。
(2) Get User belonging to Public Group
共通マスタからパブリックグループに所属するユーザの情報を取得しています。
(3) 【Cookbook】Setting matter handle user by Logic Flow (Creation of Workflow parameter)
共通マスタ取得したユーザの情報をワークフローに受け渡し可能な形式に変換しています。
4. マッピングの設定
各タスクのマッピングを以下のとおりに設定してください。
(1) 【Cookbook】Setting matter handle user by Logic Flow (Creation of Search condition)
入力の imwApplyAuthInfo
、定数の publicGroupSetCd
をそれぞれ同じ名称の項目にマッピングしてください。
(2) Get User belonging to Public Group
「【Cookbook】Setting matter handle user by Logic Flow (Creation of Search condition)」の出力項目をマッピングしてください。
(3) 【Cookbook】Setting matter handle user by Logic Flow (Creation of Workflow parameter)
「Get User by Public Group」の出力項目をマッピングしてください。
(4) End
ロジックフローの出力値をワークフローの参照者や処理対象者に利用する場合、以下の図のように、String型の配列としてユーザコードを渡してください。
ここまででロジックフローが完成しましたので、保存後に次の手順に移ってください。
2. ワークフローで利用可能なロジックフローに登録する
作成したロジックフローをワークフローで利用可能にするための設定を行います。
ワークフローの「ロジックフロー管理」でリソース「案件操作権限者(参照者)」と作成したロジックフローを関連づけてください。
設定の詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [ロジックフローを利用する]
3. ワークフローの参照者(案件操作権限者)に「ロジックフロー(ユーザ)」を登録する
ワークフローのフロー定義の参照者にロジックフローを追加してください。
以下の例では、サンプルの「直線ルート[JavaEE開発モデル]」のフロー定義の参照者にロジックフローを追加しています。
設定の詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [参照者を設定する]
4. 実行画面で確認する
最後に、参照者にロジックフローを追加したワークフローで申請してください。
申請後の案件の参照者を確認すると、特定のパブリックグループのユーザが登録されていることを確認できます。
なお、ワークフローの処理権限者・確認対象者・案件操作権限者(参照者)に「ロジックフロー(ユーザ)」を利用する場合、いくつか注意事項があります。
詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [処理対象者プラグインに属するリソースの入力設定に関する注意事項]