IM-Mail for Accel Platform 仕様書 第3版 2015-08-01

拡張機能・管理

拡張機能

IM-Mail は設定やプラグインを利用して、機能を拡張できるようになっています。
プラグインを追加する場合には、拡張ポイントに応じた内容でプラグインクラスを実装し、対象の拡張ポイントへ Plugin するための設定ファイルを記述します。
拡張ポイントとプラグインの関係は、PluginManager によって管理されます。
PluginManager は、同じ拡張ポイントへの拡張に競合などがあった際は、優先度の高いプラグインを自動的に選択します。
Plugin Manager の詳細については、API リストの PluginManager についての項を参照してください。

プラグイン 拡張ポイント

IM-Mail で提供する拡張ポイントは、以下の通りです。
<提供プラグイン一覧>
名称 拡張ポイント 説明
アカウントリスナプラグイン jp.co.intra_mart.product.im_mail.account.listener 同期アカウント情報のデータストアへの操作時に任意の処理を実行します。
同期リスナプラグイン jp.co.intra_mart.product.im_mail.sync. listener 同期アカウント情報の IM-Mail(メールサービス部分)への同期時に任意の処理を実行します。
アカウント属性値プラグイン jp.co.intra_mart.product.im_mail.account.attribute IM-Mail(メールサービス部分)へ同期されるアカウント情報に任意の値を設定します。

アカウントリスナ

アカウント情報を操作(登録、更新、削除)する時に、それぞれの事前・事後処理として、任意の処理を実行させるためのプラグインです。
デフォルトで検証クラス(ImMailAccountValidator)、履歴登録クラス(ImMailHistoryAddListener)が設定されています。
詳細は API リストを参照してください。
<プラグイン定義の設定例>
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <extension point="jp.co.intra_mart.product.im_mail.account.listener">
    <my_account_listener id="myListener" name=" myListener " groups="default">
      <listener class=" jp.co.intra_mart.product.im_mail.plugin.exampke.MyAccountListenerPlugin "/>
    </my_account_listener>
  </extension>
</plugin>

同期リスナ

アカウント情報を IM-Mail(メールサービス部分)へ同期(登録、更新、削除)する時に、事前・事後処理として、任意の処理を実行するためのプラグインです。
デフォルトで同期検証クラス(ImMailSyncValidator)、アカウント履歴同期クラス(ImMailHistorySyncListener)が設定されています。
詳細は API ドキュメントを参照してください。
<プラグイン定義の設定例>
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <extension point=" jp.co.intra_mart.product.im_mail.sync.listener">
    <my_sync_listener id="myListener" name="myListener" groups="default">
      <listener class=" jp.co.intra_mart.product.im_mail.plugin.exampke.MySyncListenerPlugin "/>
    </my_sync_listener>
  </extension>
</plugin>

アカウント属性値

同期されるアカウントの属性に、任意の値を設定するためのプラグインです。
属性を指定して任意の値を設定するための、拡張ポイントを提供しています。
デフォルトで属性値を部署名の表現を変更する ImMailDepartmentPlugin、 固定値を属性値として設定する ImMailFixationPlugin が用意されています。(※初期状態では無効になっています。)
プラグインで設定可能なアカウント属性は、以下の通りです。
<アカウント属性一覧>
ノード 文字種 桁長 IM-Mail(サービス部分)のアカウント属性
password
半角英数字記号
記号は、
_-.=~
最初の文字は半角英数字
ポリシーに従う パスワード
familyName 制限なし 40 名前(姓)
firstName 制限なし 40 名前(名)
displayName 制限なし 255 表示名
company 制限なし 255 会社
title 制限なし 255 役職
tel
半角数字記号
※記号は「-(ハイフン)」
32 電話

固定属性値(ImMailFixationPlugin

M-Mail(メールサービス部分)のアカウント属性値に固定値を指定することができます。
詳細は API リストを参照してください。
<プラグイン定義の設定例>
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <!-- アカウント同期属性値プラグイン -->
  <extension point="jp.co.intra_mart.product.im_mail.account.attribute">
    <attribute_plugin id="fixation" name="fixation" version="8.0" enable="true">
      <!-- パスワード -->
      <password class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="password" />
      <!-- 名前(姓) -->
      <familyName class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="IM-Mailユーザ" />
      <!-- 名前(名) -->
      <firstName class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="" />
      <!-- 表示名 -->
      <displayName class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="試験用IM-Mailアカウント" />
      <!-- 電話 -->
      <tel class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="000-0000" />
      <!-- 会社 -->
      <company class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="試験用会社" />
      <!-- 部門 -->
      <department class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="試験用部門" />
      <!-- 役職 -->
      <title class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailFixationPlugin" value="試験用役職" />
    </attribute_plugin>
  </extension>
</plugin>

管理

グループ名一覧ファイル

IM-Mail では、グループ名一覧のファイルを PublicStorage 配下に保存しています。
このファイルは、IM-Mail 管理画面において個人設定を登録した際、そのグループがファイル内に存在しない場合に追記しています。
このファイルに対しては書き込みのみで、削除を行いません。このファイルはグループ名の一覧とオートコンプリート機能を実現するために利用しており、それ以外の用途はありません。肥大化、不要な名称を削除する場合は、直接ファイルより削除してください。
配置場所
%PUBLIC_STORAGE_PATH%/products/im_mail/groupname

%PUBLIC_STORAGE_PATH% : PublicStorage として使用するディレクトリ