应用程序联动程序¶
概要¶
通过使用intra-mart提供的API,独自生成的应用程序可进行如下例所述的处理。
- 向ApplicationBox提交来自应用程序的通知消息。
- 监视应用程序信息。
- 向ApplicationBox提交来自被监视应用程序信息的消息。
示例实现¶
生成设定文件¶
若要进行应用程序联动,请在生成的应用程序中设定下述文件。设定文件例子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 消息种别识别代码 注解
- 未指定iconPath时,使用IMBox准备的默认图标图片。
- 指定iconPath时,请在Storage区域设定图片。
- 若在messageTypeCd中设定了MESSAGE_TYPE_MESSAGE,则会按照IMBox准备的消息格式在时间轴上显示消息。
- 若想要按照独自的格式在ApplicationBox中显示消息,请添加消息种别并设定所添加消息种别识别代码。
- 关于消息种别的添加,请参照消息种别添加程序。
不指定iconPath时指定了iconPath时
向ApplicationBox的提交处理¶
设定了应用程序联动,向ApplicationBox提交来自应用程序的通知消息。请在想从应用程序发行通知的时间点实现下述处理。实现例使用imbox.ApplicationBoxService#sendNoticeMessage()向IMBox提交消息。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 消息种别识别代码 注解
- 在第二参数中指定应用程序内监视的各信息的识别ID。
- 虽然上述示例中值设定了1件,但也可指定多个识别ID。
进行了上述处理时,在关根(sekine)的ApplicationBox中会显示如下的产品信息登记通知。
应用程序信息监视处理的实现¶
实现监视应用程序信息的示例。监视应用程序时,若监视的应用程序信息发生了变更,则会向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 的一览] > [监视应用程序画面]中会显示下述内容。
从被监视的应用程序向ApplicationBox的提交处理¶
实现从监视的应用程序信息向ApplicationBox提交消息的示例。在监视的应用程序信息发生变更时向ApplicationBox发送通知。请在更新应用程序信息的时间点实现下述处理。实现例使用imbox.ApplicationBoxService#sendWatchMessage()向IMBox提交消息。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 消息种别识别代码 targetId 被更新的应用程序信息ID(监视中使用的监视对象的ID) 进行了上述处理时,在监视用户的ApplicationBox中会显示如下的Accel Collaboration更新通知。