CookBook

共通マスタのアカウント更新を契機に、IMBoxグループに参加させる方法(IM-LogicDesigner トリガ定義)

投稿日:2017-11-01 更新日:

このCookBookでは、共通マスタのアカウント更新を契機に、IMBoxのGroupBoxに参加させる方法を紹介します。
IM-LogicDesignerのトリガ定義を利用することで、ノンプログラミングで実現できます。

部署ごとにIMBoxグループが存在するような場合、アカウント更新をするだけでグループに参加させることが可能です。
部署異動が発生したときの業務を簡略化することができます。

完成イメージ

あらかじめ存在するアカウント test の情報が更新されたら、IM-LogicDesignerで作成したフローが動作します。


1. あらかじめ存在するアカウント test の情報を更新します。このとき、「サンプル課11」に所属するようにしてください。
2. トリガ定義によりロジックフローが自動的に実行され、 ユーザ test がIMBoxグループである「サンプル課11グループ」に参加します。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

以下がインポートされます。

  • ロジックフロー
    • im_cookbook_119886_flow
  • トリガ定義
    • im_cookbook_119886_trigger

当該サンプルは Accel Platform 2017 Summer の環境で作成しております。
2017 Summer 以前のバージョンでは動作の検証はしておりません。

アカウント更新を行うと、当該フローが動作します。
定数として設定してある boxCd は、ご利用の環境によって変更し実行してください。

IM-LogicDesigner トリガ定義とは

トリガ定義とは、特定の動作を契機として、ロジックフローを呼び出すための定義です。
例として、以下のイベントを契機とすることができます。

  • アカウントが追加されたとき
  • アカウントが削除されたとき
  • スケジュールが更新されたとき

トリガ定義について詳しくは、以下のドキュメントをご覧ください。

利用できるトリガの一覧は以下のドキュメントに記載されています。

次の章では、このトリガ定義を利用して、「アカウントが更新されたら、所属部署が利用しているIMBoxグループに参加させる」方法を紹介します。

レシピ

  1. トリガ定義の受信データを確認する
  2. ユーザをIMBoxグループに参加させるフローを作成する
  3. トリガ定義を作成する

1. トリガ定義の受信データを確認する

まずは、トリガ定義で受信できる値を確認します。

ドキュメントに記載の情報から、アカウント登録時は userCd が取得できることがわかりました。

2. ユーザをIMBoxグループに参加させるフローを作成する

userCd を元に、組織情報を取得し、「サンプル課11」に所属していたら、IMBoxグループの「サンプル課11グループ」に参加させるフローを作成します。

入出力設定

ロジックフローの入力値に userCd を指定してください。

パラメータとデータ型 説明
userCd 新規登録されたユーザのユーザコード

出力値についての設定は必要ありません。

定数設定

参加させたいIMBoxグループの boxCd を定数として設定します。
MyBoxからグループ名をクリックした際に遷移する画面のURLから、 boxCd を確認することができます。

http://localhost:8080/imart/imbox/groupbox/8ehfn9ow8ay4mg
遷移した画面が上記のようなURLだった場合は、 8ehfn9ow8ay4mgboxCd です。

定数ID 定数値 説明
boxCd 8ehfn9ow8ay4mg (環境によって異なります) 上記で確認したサンプル課11グループの boxCd
departmentCd dept_sample_11 サンプル課11の組織コード

タスクの配置

以下の順番でタスクを配置し、画像のように矢印を引いてロジックフローを作成してください。

  1. 所属組織の取得
  2. 繰り返し開始・繰り返し終了
  3. 分岐
  4. ユーザ切り替え
  5. グループボックスへ参加

「所属組織の取得」のマッピング設定

入力値の 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 プロジェクトに設定ファイルを配置することで有効化できます。

詳しくは以下のドキュメントを御覧ください。

-CookBook
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

IM-BloomMaker のアクション「変数に一覧データから選択したものを代入する」の使い方

このCookBookでは、「変数に一覧データから選択したものを代入する」アクションの使用方法について紹介します。 「変数に一覧データから選択したものを代入する」アクションは、一覧データをダイアログの画 …

no image

Docker Compose で Accel Platform 環境を構築する。

この CookBook では、Docker Compose を利用して Accel Platform 環境を構築する手順について紹介しています。 この CookBook では、以下の記事で作成した D …

no image

IMBox に投稿種別を追加する方法(Markdown)

このCookBookでは、IMBoxに投稿種別を追加する方法について紹介しています。 以下のドキュメントを参照することで、IMBox に投稿種別を追加することができます。 IMBox プログラミングガ …

IM-BloomMaker Bulma タイルの利用方法

この CookBook では、 2020 Summer でリリースした Bulma の「タイル」エレメントの利用方法について説明していきます。 「タイル」エレメントは自由にグリッドレイアウトを構築する …

no image

WebServer へのリクエスト情報から動的に BaseURL を決定する方法(IIS 編)

ここでは、WebServer(IIS)へのリクエスト情報から BaseURL を動的に決定する方法を BaseUrlProvider のサンプル実装、IIS との連携例と共に紹介します。 製品標準の設 …