このCookBookでは、共通マスタのアカウント更新を契機に、IMBoxのGroupBoxに参加させる方法を紹介します。
IM-LogicDesignerのトリガ定義を利用することで、ノンプログラミングで実現できます。
部署ごとにIMBoxグループが存在するような場合、アカウント更新をするだけでグループに参加させることが可能です。
部署異動が発生したときの業務を簡略化することができます。
完成イメージ
あらかじめ存在するアカウント test
の情報が更新されたら、IM-LogicDesignerで作成したフローが動作します。
1. あらかじめ存在するアカウント test
の情報を更新します。このとき、「サンプル課11」に所属するようにしてください。
2. トリガ定義によりロジックフローが自動的に実行され、 ユーザ test
がIMBoxグループである「サンプル課11グループ」に参加します。
完成サンプル
以下の完成サンプルをダウンロードしてご活用ください。
- IM-LogicDesigner インポート: im_cookbook_110553_logicdesigner
以下がインポートされます。
- ロジックフロー
- im_cookbook_119886_flow
- トリガ定義
- im_cookbook_119886_trigger
当該サンプルは Accel Platform 2017 Summer の環境で作成しております。
2017 Summer 以前のバージョンでは動作の検証はしておりません。
アカウント更新を行うと、当該フローが動作します。
定数として設定してある boxCd
は、ご利用の環境によって変更し実行してください。
IM-LogicDesigner トリガ定義とは
トリガ定義とは、特定の動作を契機として、ロジックフローを呼び出すための定義です。
例として、以下のイベントを契機とすることができます。
- アカウントが追加されたとき
- アカウントが削除されたとき
- スケジュールが更新されたとき
トリガ定義について詳しくは、以下のドキュメントをご覧ください。
利用できるトリガの一覧は以下のドキュメントに記載されています。
- [IM-LogicDesigner仕様書] - [トリガ一覧]
次の章では、このトリガ定義を利用して、「アカウントが更新されたら、所属部署が利用しているIMBoxグループに参加させる」方法を紹介します。
レシピ
- トリガ定義の受信データを確認する
- ユーザをIMBoxグループに参加させるフローを作成する
- トリガ定義を作成する
1. トリガ定義の受信データを確認する
まずは、トリガ定義で受信できる値を確認します。
- [IM-LogicDesigner仕様書] - [アカウントの追加]
ドキュメントに記載の情報から、アカウント登録時は userCd
が取得できることがわかりました。
2. ユーザをIMBoxグループに参加させるフローを作成する
userCd
を元に、組織情報を取得し、「サンプル課11」に所属していたら、IMBoxグループの「サンプル課11グループ」に参加させるフローを作成します。
入出力設定
ロジックフローの入力値に userCd
を指定してください。
パラメータとデータ型 | 説明 |
---|---|
userCd |
新規登録されたユーザのユーザコード |
出力値についての設定は必要ありません。
定数設定
参加させたいIMBoxグループの boxCd
を定数として設定します。
MyBoxからグループ名をクリックした際に遷移する画面のURLから、 boxCd
を確認することができます。
http://localhost:8080/imart/imbox/groupbox/8ehfn9ow8ay4mg
遷移した画面が上記のようなURLだった場合は、 8ehfn9ow8ay4mg
が boxCd
です。
定数ID | 定数値 | 説明 |
---|---|---|
boxCd |
8ehfn9ow8ay4mg (環境によって異なります) |
上記で確認したサンプル課11グループの boxCd |
departmentCd |
dept_sample_11 |
サンプル課11の組織コード |
タスクの配置
以下の順番でタスクを配置し、画像のように矢印を引いてロジックフローを作成してください。
- 所属組織の取得
- 繰り返し開始・繰り返し終了
- 分岐
- ユーザ切り替え
- グループボックスへ参加
「所属組織の取得」のマッピング設定
入力値の userCd
を、「所属組織の取得」にマッピングします。
入力(始点) | 出力(終点) |
---|---|
input - userCd |
im_immGetDepartmentByUser1 - userCd |
「繰り返し開始」の設定
「所属組織の取得」では、ユーザが所属している組織を配列形式で取得できます。
取得した配列を、繰り返し対象にします。
im_immGetDepartmentByUser1
の配下にある departments
を繰り返し対象に設定してください。
「分岐」の条件式
繰り返し対象に指定している要素の departmentCd
が、定数で設定したサンプル課11の組織コードと一致しているかを判定します。
${ im_startLoop1.item.departmentCd == $const.departmentCd}
これで、ユーザが複数の組織に所属していても、「サンプル課11」に所属しているかどうかを判定できます。
「ユーザ切り替え」のマッピング設定
「グループボックスへ参加」のタスクは、ログイン中のユーザをグループボックスに参加させるタスクです。
そのため、アカウント情報が更新されたユーザに切り替えます。
入力(始点) | 出力(終点) |
---|---|
input - userCd |
im_userSwitcher1 |
「グループボックスへ参加」のマッピング設定
ユーザを、IMBoxの「サンプル課11グループ」に参加させましょう。
定数で定義したサンプル課11グループの boxCd
を、「グループボックスに参加」に渡します。
入力(始点) | 出力(終点) |
---|---|
constant - boxCd |
im_joinGroup1 - boxXd |
3. トリガ定義を作成する
最後に、トリガ定義の設定を行います。
「トリガ定義一覧」画面に遷移し、「新規作成」をクリックしてください。
トリガ定義編集画面に遷移します。
トリガ定義編集画面では、以下を設定してください。
項目 | 設定する値・項目 |
---|---|
発生条件 | アカウントの更新 |
対象フロー | im_cookbook_119886_flow (作成したロジックフロー) |
バージョン番号 | 最新バージョンを利用する |
マッピング設定では、以下のように設定してください。
入力(始点) | 出力(終点) |
---|---|
Create Account - userCd |
フロー名 - userCd |
これで、アカウント作成時に作成したフローが実行されます。
おわりに
このCookBookでは、アカウント更新を契機としてIMBoxのグループに参加する方法をご紹介しました。
同様の方法で、Accel Clollaborationのワークスペースに参加させることもできます。
また、アカウント削除を契機としたトリガを利用することで、外部システムのアカウントをREST API経由でロックするといった利用方法も考えられます。
IM-LogicDesignerを使って、部署異動などに伴うアカウント更新時の業務を簡略化しませんか?
ぜひ、ご利用をご検討ください。
補足
iAP 2018 Spring のリリースを受け、追記いたします。
以下 3 つのような機能強化が追加されました。
例えば、組織所属作成のトリガ定義を利用し、組織に応じた IMBox グループへの参加をユーザ新規作成時にも実現できます。
ユーザが大量にインポートされる際にもトリガが動作してしまうことを鑑みデフォルトでは有効になっていないのですが、 juggling プロジェクトに設定ファイルを配置することで有効化できます。
詳しくは以下のドキュメントを御覧ください。