拡張機能・管理¶
項目
拡張機能¶
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 制限なし 256 表示名 company 制限なし 256 会社 department 制限なし 1024 部門 title 制限なし 256 役職 tel 半角数字記号※記号は「-(ハイフン)」256 電話
部署名の表現変更(ImMailDepartmentPlugin)¶
M-Mail(メールサービス部分)の部門にあたる情報を intra-mart Accel Platform の会社・組織テーブルから情報を取得して、階層構造を指定することができます。department タグ内の属性、もしくは init-param タグを利用した設定を行うことが可能です。詳細は API リストを参照してください。
- <プラグイン属性一覧>
属性名 説明 値 separator 上位組織と下位組織の文字列間に含めるセパレータを指定します。 文字列 depth 取得する組織の階層数を指定します。 数値 reverse depth属性を最下層から指定します。 true/false company 結果に会社名を含めるかどうかを選択します。 true/false - <プラグイン定義の設定例(init-param 指定)>
<?xml version="1.0" encoding="UTF-8"?> <plugin> <extension point="jp.co.intra_mart.product.im_mail.account.attribute"> <!-- 属性値プラグイン設定例 --> <attribute_plugin id="example" name="example" version="7.1" enable="false"> <!-- パラメータ要素による設定例 --> <department class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailDepartmentPlugin"> <init-param param-name="separator" param-value=" / " /> <init-param param-name="depth" param-value="3" /> <init-param param-name="reverse" param-value="true" /> <init-param param-name="company" param-value="true" /> </department> </attribute_plugin> </extension> </plugin>- <プラグイン定義の設定例(属性指定)>
<?xml version="1.0" encoding="UTF-8"?> <plugin> <extension point="jp.co.intra_mart.product.im_mail.account.attribute"> <!-- 属性値プラグイン設定例 --> <attribute_plugin id="example" name="example" version="7.1" enable="false"> <!--属性名による設定例 --> <department class="jp.co.intra_mart.product.im_mail.plugin.attribute.ImMailDepartmentPlugin" separator=" - " depth="3" reverse="false" company="false" /> </attribute_plugin> </extension> </plugin>
固定属性値(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 では、グループ名一覧のファイルを SystemStorage 配下に保存しています。このファイルは、IM-Mail 管理画面において個人設定を登録した際、そのグループがファイル内に存在しない場合に追記しています。このファイルに対しては書き込みのみで、削除を行いません。このファイルはグループ名の一覧とオートコンプリート機能を実現するために利用しており、それ以外の用途はありません。肥大化、不要な名称を削除する場合は、直接ファイルより削除してください。
配置場所 %SYSTEM_STORAGE_PATH%/im_mail/groupname %SYSTEM_STORAGE_PATH% : SystemStorage として使用するディレクトリ