3. アプリケーション連携プログラム¶
独自に作成したアプリケーションを、intra-martが提供するAPIを利用することで、次に挙げる例のような処理ができます。
- アプリケーションからの通知メッセージをApplicationBoxに投稿する。
- アプリケーション情報をウォッチする。
- ウォッチされたアプリケーション情報からメッセージをApplicationBoxに投稿する。
3.1. サンプル実装¶
ここではサンプルとして、製品管理システムからApplicationBoxへの通知を行う機能の実装方法について説明します。作成する資材は以下となります。
3.1.1. 設定ファイルの作成¶
アプリケーション連携を行うために、作成したアプリケーションに以下のファイルを設定してください。設定ファイル例src/main/conf/imbox-application-config/seihin.xml
1 2 3 4 5 6 7 8 9 10 11 12 <?xml version="1.0" encoding="UTF-8"?> <tns:imbox-application-config xmlns:tns="http://www.intra-mart.jp/imbox/imbox-application-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intra-mart.jp/imbox/imbox-application-config ../../schema/imbox-application-config.xsd "> <tns:application applicationCd="seihin" applicationName="CAPTION.IMBOX.SEIHIN" iconPath="application/appli.png" messageTypeCd="MESSAGE_TYPE_MESSAGE" /> </tns:imbox-application-config><tns:application> タグでは以下の属性について設定を行います。
属性 内容 applicationCd アプリケーションの識別ID applicationName アプリケーション表示名のプロパティID iconPath アプリケーション表示画像のパス messageTypeCd メッセージ種別識別CD コラム
- iconPath が未指定の場合は、 IMBox で用意しているデフォルトのアイコン画像が適用されます。
- iconPath を指定する場合、Storage領域に画像を設定してください。
- messageTypeCd に MESSAGE_TYPE_MESSAGE を設定した場合は、 IMBox で用意しているメッセージ形式でタイムラインに表示されます。
- 独自の形式でApplicationBoxに表示を行いたい場合はメッセージ種別を追加し、追加したメッセージ種別識別CDを設定してください。
- メッセージ種別の追加については メッセージ種別追加プログラム を参照してください。
iconPathを指定しない場合iconPathを指定した場合
3.1.2. ApplicationBoxへの投稿処理の作成¶
アプリケーション連携を設定した、アプリケーションからの通知メッセージをApplicationBoxに投稿する。アプリケーションから通知をしたいタイミングで、以下の処理を実装してください。実装例IMBox にメッセージを投稿するために、 imbox.ApplicationBoxService#sendNoticeMessage() を利用します。src/main/jssp/src/kintai/register.js
1 2 3 4 5 6 7 8 9 10 function send(){ var applicationBoxService = new imbox.ApplicationBoxService(); var message = { applicationCd : 'seihin', sendUserCd : 'aoyagi', messageText : '製品情報が登録されました。', messageTypeCd : 'MESSAGE_TYPE_MESSAGE', }; applicationBoxService.sendNoticeMessage(message, ['sekine']); }通知メッセージ情報として、以下のパラメータを設定しています。
パラメータ 内容 applicationCd アプリケーションの識別ID sendUserCd 送信ユーザコード messageText 表示するメッセージ messageTypeCd メッセージ種別識別CD コラム
- 第二引数には、アプリケーション内のウォッチ行う各情報毎の識別IDを指定します。
- 上記サンプルでは1件だけ設定していますが、複数の識別IDを指定することができます。
上記の処理が行われた場合、関根さん(sekine)のApplicationBoxに製品情報の登録通知が以下のように表示されます。
3.1.3. アプリケーション情報のウォッチ処理の作成¶
アプリケーション情報をウォッチする実装のサンプルです。アプリケーションのウォッチを行った場合、ウォッチを行ったアプリケーション情報に変更があった際にApplicationBoxへ通知されます。ウォッチを行いたいアプリケーション情報に対して、以下の処理を実装してください。実装例アプリケーションをウォッチするために、 imbox.ApplicationOperations#watch() を利用します。src/main/jssp/src/kintai/watch.js
1 2 3 4 5 6 7 8 9 10 function watch(){ var applicationOperations = new imbox.ApplicationOperations(); var applicationCd = 'seihin'; var entry4Targets = []; entry4Targets.push({ targetId : 'iac', targetName : 'Accel Collaboration' }); applicationOperations.watch(applicationCd,entry4Targets); }ウォッチ情報として、以下のパラメータを設定しています。
パラメータ 内容 applicationCd アプリケーションの識別ID targetId ウォッチ対象のID targetName ウォッチ対象の名称 コラム
- 第二引数には、アプリケーション内のウォッチを行う各情報毎の識別IDを指定します。
- 上記サンプルでは1件だけ設定していますが、複数の識別IDを指定することができます。
- ウォッチを解除する場合は imbox.ApplicationOperations#unwatch() を利用してください。
上記の処理が行われた場合、[ IMBox の一覧] > [ウォッチアプリケーション画面] に以下のように表示されます。
3.1.4. ApplicationBoxへのメッセージ投稿処理の作成¶
ウォッチしたアプリケーション情報から、メッセージをApplicationBoxに投稿する実装のサンプルです。ウォッチを実装したアプリケーション情報に変更があった際にApplicationBoxに通知します。アプリケーション情報の更新タイミングで、以下の処理を実装してください。実装例IMBox にメッセージを投稿するために、 imbox.ApplicationBoxService#sendWatchMessage() を利用します。src/main/jssp/src/kintai/update.js
1 2 3 4 5 6 7 8 9 10 11 function sendWatcher(){ var applicationBoxService = new imbox.ApplicationBoxService(); var targetId = 'iac'; var message = { applicationCd : 'seihin', sendUserCd : 'aoyagi', messageText : 'Accel Collaborationの情報が更新されました。', messageTypeCd : 'MESSAGE_TYPE_MESSAGE', }; applicationBoxService.sendWatchMessage(message, [targetId]); }ウォッチ通知メッセージ情報として、以下を設定しています。
パラメータ 内容 applicationCd アプリケーションの識別ID sendUserCd 送信ユーザコード messageText 表示するメッセージ messageTypeCd メッセージ種別識別CD targetId 更新されるアプリケーション情報のID(ウォッチで使用するウォッチ対象のID) 上記の処理が行われた場合、ウォッチを行ったユーザのApplicationBoxにAccel Collaborationの更新通知が以下のように表示されます。