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

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

関連記事

配置可能なエレメントを簡単に判断する方法

このCookBookでは、配置可能なエレメントを簡単に判断する方法について紹介しています。 BloomMakerのエレメントには配置するのに制限があるものがあります。例えば、「フォーム部品(Bulma …

BloomMakerでワークフローの一括承認画面を作成する

このCookBookでは、BloomMakerで、ワークフローの一括承認画面を作成してみました。 本稿で紹介のサンプルのように、BloomMakerを利用することで、ちょっとした要件に応じた画面が簡単 …

no image

Milkode のご紹介

この CookBook では、Milkode について紹介しています。 intra-mart 開発本部ではソースコード検索エンジンとして Milkode を利用しています。 導入 導入は Instal …

no image

グリッドテーブルのイメージからワークフローの案件内容を表示するには

このCookbookでは、グリッドテーブルの「イメージ」から申請済みの案件の詳細画面を呼び出す方法を紹介します。 この方法を利用すると別の案件を参照しながら新しく申請を行うことができます。 BISで作 …

no image

スクリプト開発モデルで作成した1つのページソースを複数の画面で利用する

このCookBookでは、任意のスクリプト開発モデルプログラムをコールして部分ページソース挿入を行う方法を紹介します。 部分ページソース挿入は<imart type=”include”>タ …