intra-mart Accel Platform / IMBox 扩展编程指南

«  序言   ::   内容   ::   消息种别添加程序  »

应用程序联动程序

概要

通过使用intra-mart提供的API,独自生成的应用程序可进行如下例所述的处理。
  • 向ApplicationBox提交来自应用程序的通知消息。
  • 监视应用程序信息。
  • 向ApplicationBox提交来自被监视应用程序信息的消息。

示例实现

在此,通过示例对从产品管理系统向ApplicationBox发行通知的功能的实现方法进行说明。
application1

生成设定文件

若要进行应用程序联动,请在生成的应用程序中设定下述文件。
设定文件例子
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时
application7
指定了iconPath时
application8

向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中会显示如下的产品信息登记通知。
application2
application3

应用程序信息监视处理的实现

实现监视应用程序信息的示例。
监视应用程序时,若监视的应用程序信息发生了变更,则会向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 的一览] > [监视应用程序画面]中会显示下述内容。
application4
application5

从被监视的应用程序向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更新通知。
application6

注解

  • 虽然这次在发送通知消息、监视通知消息时不使用参数中的threadSummarizeCd
  • 但若指定了threadSummarizeCd,也可按threadSummarizeCd为单位以线程形式显示消息。

«  序言   ::   内容   ::   消息种别添加程序  »