Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Instant Messaging 7 2005Q1 管理ガイド 

第 7 章
Instant Messaging アーカイブの管理

この章では、Instant Messaging アーカイブの管理方法と設定方法について説明します。

この章に含まれる節は、次のとおりです。


Instant Messaging アーカイブの概要

Instant Messaging アーカイブは、インスタントメッセージを捕捉し、それらのメッセージを Portal Server 検索データベース内にアーカイブします。これにより、エンドユーザーは、Portal Server デスクトップの検索ページからクエリを実行し、それらのアーカイブメッセージを取得できるようになります。

Instant Messaging アーカイブには、次のコンポーネントが含まれています。

アーカイブ / 取得コンポーネント: Portal Server 検索コンポーネントは「アーカイブ / 取得コンポーネント」とも呼ばれ、アーカイブインスタントメッセージの格納場所として使用されます。Instant Messaging アーカイブデータは、インデックスの設定後、Portal Server 検索データベース内に格納されます。また、それらのアーカイブデータにはカテゴリを割り当てることもできます。たとえば、アラートメッセージを Alert カテゴリ内に格納したりできます。


データを個々のカテゴリに格納すると、検索処理が単純化されるほか、アーカイブデータをすばやく取得できるようになります。


Instant Messaging アーカイブ検索 / 表示サーブレット : エンドユーザーが、特定の条件に一致するドキュメントの検索処理を実行すると、Portal Server 検索は、その条件に一致するページを取り出します。これらのページは、リモート Web ページ、Instant Messaging アーカイブデータのいずれかです。なお、Instant Messaging アーカイブデータは「Instant Messaging リソース記述子」とも呼ばれます。

エンドユーザーが、Instant Messaging リソース記述子の URL をクリックしてそのアーカイブデータを表示しようとすると、Instant Messaging アーカイブ検索 / 表示サーブレットが起動されます。Instant Messagingアーカイブ検索サーブレットは、Portal Server 検索データベースから目的の情報を取り出し、その Instant Messaging アーカイブデータを含んだテキスト形式または HTML 形式の応答を生成します。

Instant Messaging アーカイブプロバイダ : このコンポーネントは、アーカイブすべきインスタントメッセージが発生するたびに、Instant Messaging Server によって起動されます。Instant Messaging アーカイブプロバイダは、Instant Messaging Server から提供されたデータに基づいて、SOIF (Summary Object Interchange Format) に準拠したリソース記述子 (RD: Resource Descriptor) を作成します。そして、それらのリソース記述子を、Portal Server 検索 API 経由で Portal Server 検索データベースに送信します。なお、アーカイブプロバイダは、Portal Server 検索データベースへのデータ送信時のパフォーマンス低下を抑えるために、バッファレコードを使用します。

Instant Messenger アーカイブ制御 : Instant Messaging データのアーカイブは、エンドユーザーの人手を介さずに自動的に行えます。エンドユーザーがアーカイブ機能を制御できるようにするには、Instant Messenger アーカイブ制御コンポーネントを有効にする必要があります。このコンポーネントを使うと、エンドユーザーは、「すべての会議室をアーカイブ」などといった、デフォルトのアーカイブオプションを設定できます。また、それらのデフォルト値をトランザクション単位で変更することもできます。たとえば、エンドユーザーは、会議のコンテンツをアーカイブするように選択できます。

図 7-1 は、Instant Messaging アーカイブのコンポーネントを図示したものです。

図 7-1 Instant Messaging アーカイブのコンポーネント

この図は、Sun Java Systemn Instant Messaging アーカイブのコンポーネントとデータフローを示しています。


インスタントメッセージのアーカイブ

すべてのインスタントメッセージは、アーカイブ時に次のいずれかのカテゴリに分類されます。

チャット: 非公開会議室のすべてのメッセージ

会議室: 公開会議室のすべてのメッセージ

アラート: すべてのアラートメッセージが格納される

調査: すべての調査メッセージが格納される

ニュース: ニュースチャネルに投稿されたすべてのメッセージが格納される

Instant Messaging アーカイブプロバイダの機能は、次のとおりです。


アーカイブプロバイダの有効化

Instant Messaging のアーカイブプロバイダを有効にする
  1. config ディレクトリに移動します。たとえば、Solaris 上では次のように入力します。
  2. cd /etc/opt/SUNWiim/default/config

  3. iim.conf ファイルを開きます。
  4. たとえば、次のように入力します。

    vi iim.conf

  5. iim.conf ファイルに次の行を追加します。
  6. デフォルトのアーカイブプロバイダに対して、次の行を追加します。

    iim_server.msg_archive = true

    カスタムアーカイブプロバイダを使用する場合、次の行を追加します。

    iim_server.msg_archive.provider = provider_name

    Portal Server 検索ベースのアーカイブを使用する場合、provider_ name を次の文字列で置き換えます。

    com.iplanet.im.server.IMPSArchive

  7. ファイルを保存します。
  8. Instant Messaging Server 設定を更新します。更新するには、次のように入力します。
  9. imadmin refresh

Instant Messaging Server に備わる API と SPI を使うと、カスタムアーカイブプロバイダを記述できます。Instant Messaging API の詳細については、「Instant Messaging API」を参照してください。


アーカイブプロバイダの設定

アーカイブプロバイダは、アーカイブメッセージをリソース記述子 (RD) として、Portal Server 検索データベース内に格納します。アーカイブプロバイダが使用する Portal Server 検索スキーマのフィールドは、次のとおりです。

Title: このフィールドには、Conference カテゴリでは公開会議室の名前が、Chat カテゴリでは特定チャットセッション内の参加者の名前が、Alert カテゴリと News カテゴリではアラートメッセージの件名とニュースチャネルの名前が、それぞれ格納されます。また、Poll カテゴリでは、"Poll from Sender" が、Title フィールドに格納されます。ここで、Sender は調査の送信者の表示名です。

Keyword: Conference カテゴリと Chat カテゴリの場合、このフィールドには会議室内のすべての参加者のリストが格納されます。また、公開会議室の場合、会議室の名前も格納されます。Alert カテゴリでは、送信者と受信者の表示名が格納されます。News カテゴリでは、チャネルの名前が格納されます。Poll カテゴリでは、送信者と受信者のリストが格納されます。以上の値に加え、すべてのカテゴリで、カテゴリ別の一意の ID も格納されます。

表 7-1 は、アーカイブプロバイダの各カテゴリの一意の ID とその説明を示したものです。

表 7-1 各カテゴリの一意の ID とその説明

カテゴリ

一意の ID

Conference Chat

RoomName-StartTime

説明:

RoomName: 公開会議室または非公開会議室の名前です

StartTime: RD 作成時のタイムスタンプです

Alert

Alert-messageID

説明:

messageID: アーカイブメッセージのメッセージ ID です。このメッセージ ID が重要となるのは、RD に含まれるメッセージが 1 つだけの場合です。たとえば、News メッセージや Alert メッセージなどです。

Poll

Poll-pollID

News

TopicName-messageID

ReadACL: Conference カテゴリと News カテゴリでは、このフィールドの値は、それぞれ会議室とニュースチャネルのアクセス制御ファイルに基づいて設定されます。Chat カテゴリでは、このフィールドには参加者の DN が格納されます。Alert カテゴリでは、このフィールドには送信者の DN と受信者の DN が格納されます。Poll カテゴリでは、アーカイブによって新しいアクセス制御ファイルが提供されます。

RD に対する検索アクセス権は、この ReadACL フィールドの値によって制御されます。ドキュメントレベルのセキュリティが有効になっている場合、エンドユーザーが検索結果にアクセスできるのは、ReadACL フィールドにそのエンドユーザーの DN が含まれている場合だけです。Instant Messenger アーカイブ制御が有効になっている場合、チャットメッセージに対して ReadACL フィールドに追加されるエンドユーザー DN は、エンドユーザーの選択内容に応じて変わります。

Description: このフィールドには、HTML の書式を含まないアーカイブメッセージが格納されます。

Full-Text: このフィールドには、HTML 形式のアーカイブメッセージが格納されます。

Classification: このフィールドには、アーカイブメッセージのカテゴリが格納されます。

アーカイブプロバイダ設定パラメータ

表 7-2 は、iim.conf ファイルに追加可能なアーカイブプロバイダ設定パラメータの一覧とその説明です。

表 7-2 iim.conf に設定可能なアーカイブプロバイダのパラメータ 

パラメータ

デフォルト値

説明

iim_arch.title.attr

Title

このパラメータには、Portal Server 検索のデフォルトスキーマの Title と同等のフィールドの名前を指定します。

iim_arch.keyword.attr

Keyword

このパラメータには、Portal Server 検索のデフォルトスキーマの Keyword と同等のフィールドの名前を指定します。

iim_arch.readacl.attr

ReadACL

このパラメータには、Portal Server 検索のデフォルトスキーマの ReadACL と同等のフィールドの名前を指定します。

iim_arch.description.attr

説明

このパラメータには、Portal Server 検索のデフォルトスキーマの Description と同等のフィールドの名前を指定します。

iim_arch.fulltext.attr

Full-Text

このパラメータには、Portal Server 検索のデフォルトスキーマの Full-Text と同等のフィールドの名前を指定します。

iim_arch.category.attr

Category

このパラメータには、Portal Server 検索のデフォルトスキーマの Category と同等のフィールドの名前を指定します。

iim_arch.readacl.admin

なし

このパラメータには管理者の DN を指定します。値を複数指定する場合、値を ";" で区切る必要があります。

iim_arch.readacl.adminonly

false

このパラメータには、truefalse のいずれかを指定します。

true: パラメータ iim_arch.readacl.admin に指定された管理者 DN のみが、ReadACL フィールドに追加され、ReadACL フィールドのデフォルト動作は無効になります。

false: パラメータ iim_arch.readacl.admin に指定された管理者 DN が ReadACL フィールドに追加されるほか、そのフィールドのデフォルト動作も実行されます。

iim_arch.categories

all

このパラメータには、アーカイブ可能なメッセージタイプのリストを指定します。

指定可能な値は次のとおりです。

poll

alert

chat

conference

news

複数の値も指定可能です。値はコンマ (",") で区切ります。

iim_arch.categoryname

なし

カテゴリ名が割り当てられていないカテゴリが存在した場合、このパラメータの値がそのカテゴリの名前として使用されます。

iim_arch.alert.categoryname

なし

このパラメータには、アラートアーカイブメッセージが格納されるカテゴリの名前を指定します。

注: アラートメッセージ専用のカテゴリは、必ずしも必要ではありません。

iim_arch.poll.categoryname

なし

このパラメータには、調査アーカイブメッセージが格納されるカテゴリの名前を指定します。

注: 調査メッセージ専用のカテゴリは、必ずしも必要ではありません。

iim_arch.conference.categoryname

なし

このパラメータには、会議アーカイブメッセージが格納されるカテゴリの名前を指定します。

注: 会議メッセージ専用のカテゴリは、必ずしも必要ではありません。

iim_arch.chat.categoryname

なし

このパラメータには、チャットアーカイブメッセージが格納されるカテゴリの名前を指定します。

注: チャットメッセージ専用のカテゴリは、必ずしも必要ではありません。

iim_arch.news.categoryname

なし

このパラメータには、ニュースアーカイブメッセージが格納されるカテゴリの名前を指定します。

注: ニュースメッセージ専用のカテゴリは、必ずしも必要ではありません。

iim_arch.conference.quiettime

5

このパラメータには、1 つの会議室 (公開または非公開) における連続した 2 つのメッセージ間の最大沈黙時間を指定します。沈黙したまま指定した時間が経過すると、現在の RD は期限切れとなり、メッセージアーカイブ用の新しい RD が作成されます。この値の単位は「分」です。

iim_arch.poll.maxwaittime

15

このパラメータには、調査データをサーバー内にバッファリングする最大時間を指定します。この値の単位は「分」です。

iim_arch.ignoreexplicitdeny

true

このパラメータには、truefalse のいずれかを指定します。

true: Poll カテゴリと Conference カテゴリで、明示的な拒否アクセスを持つデータはアーカイブされません。これらのメッセージがアーカイブされない場合、その情報が xmppd.log ファイル内に記録されます。

false: Poll カテゴリと Conference カテゴリで、明示的な拒否アクセスを持つデータがアーカイブされ、そのメッセージが Portal Server 検索データベースに追加されます。

注: 特定の会議室またはニュースチャネルへのアクセスを明示的に拒否しなかった場合、デフォルトのアクセス権は、読み取り、書き込み、管理のいずれかになります。また、特定のエンドユーザーのアクセス権をなしにすることも可能です。

iim_arch.portal.search

なし

このパラメータの値には、Portal Server 検索サーブレットの URL を指定します。たとえば、次のように入力します。http://www.example.com/portal/search

このパラメータが存在しない場合、アーカイブプロバイダは、システム上に存在する AMConfig.properties ファイルに基づいて、Portal Server 検索 URL の値を決定します。

iim_arch.portal.admindn

なし

このパラメータの値には、管理ユーザーの DN を指定します。たとえば、次のように入力します。uid=amadmin,ou=People,o=internet

Portal Server 検索のドキュメントレベルのセキュリティがオンになっている場合、このパラメータを指定する必要があります。

iim_arch.portal.adminpassword

なし

このパラメータの値には、iim_arch.portal.admindn パラメータで指定された管理ユーザーのパスワードを指定します。

Portal Server 検索のドキュメントレベルのセキュリティがオンになっている場合、このパラメータを指定する必要があります。

iim_arch.portal.search.database

なし

このパラメータの値には、Instant Messaging Server によってアーカイブメッセージが格納されるデータベースの名前を指定します。このパラメータを指定しなかった場合、Sun Java System Portal Server 検索のデフォルトのデータベース内に、すべてのメッセージが格納されます。

デフォルト以外の Portal Server 検索データベースへのアーカイブメッセージの格納

デフォルト以外のデータベースにアーカイブメッセージを格納する
  1. iim.conf ファイルを変更します。
    1. config ディレクトリに移動します。たとえば、Solaris 上では次のように入力します。
    2. cd /etc/opt/SUNWiim/default/config

    3. 任意のエディタを使って iim.conf ファイルを開きます。
    4. たとえば、次のように入力します。

      vi iim.conf

    5. デフォルトのアーカイブプロバイダに対して、次の行を追加します。
    6. iim_arch.portal.search.database = database-name

      ここで、database-name は、デフォルト以外のデータベースの名前です。

    7. ファイルを保存します。
  2. Portal Server 検索チャネルを変更します。
  3. Portal Server 検索チャネルに、別のデータベース内のデータを検索するためのオプションを追加します。詳細については、『Sun Java System Portal Server Desktop Customization Guide』を参照してください。

  4. IMArchiveDisplay.jsp ファイルを変更します。
    1. 次のディレクトリに移動します。
    2. /etc/opt/SUNWps/desktop/default_ja/IMProvider/

    3. IMArchiveDisplay.jsp ファイルのバックアップを作成します。
    4. 任意のエディタを使って IMArchiveDisplay.jsp ファイルを編集します。たとえば、次のように入力します。
    5. vi IMArchiveDisplay.jsp

    6. IMArchiveDisplay.jsp ファイル内のコードを検索し、次の 2 行を見つけます。
    7. コード例 7-1 IMArchiveDisplay.jsp ファイル内の検索コード (編集前)

      <search:setQuery query = "<%= scope %>"/>

      <search:setRDMType rdmType = "rd-request"/>

    8. コード例 7-1 に示した 2 行の間に、次のコード行を追加します。
    9. <search:setDatabase database = "database-name"/>

      新しいコード行を追加すると、検索コードはコード例 7-2 のようになります。

      コード例 7-2 IMArchiveDisplay.jsp ファイル内の検索コード (編集後)

      <search:setQuery query = "<%= scope %>"/>

      <search:setDatabase database = "database-name"/>

      <search:setRDMType rdmType = "rd-request"/>

      ここで、database-name は、デフォルト以外のデータベースの名前です。


Portal Server 検索データベース内のアーカイブデータの管理


この節の説明は、Solaris にのみ適用されます。


Instant Messaging データは、Portal Server 検索データベース内にリソース記述子 (RD) としてアーカイブされます。Portal Server 検索データベース内の個々のエントリは、リソース記述子 (RD) と呼ばれます。各 RD は、ある単一のリソースに関する一連の情報を含んでいます。各 RD のフィールドは、Portal Server 検索データベースのスキーマによって決定されます。

アーカイブデータを管理するには、これらの Portal Server 検索データベース内の RD を管理する必要があります。ここでは、Portal Server 検索データベースの保守作業のうち、頻繁に実行されるもののいくつかを説明します。

Portal Server 検索データベースにおけるデータ管理の詳細については、『Sun Java System Portal Server 管理ガイド』を参照してください。

rdmgr コマンド

rdmgr コマンドは、検索サービスを操作する際の主要コマンドです。このコマンドは、2 種類のサブコマンドを管理者に提供します。1 つは、リソース記述子 (RD) を操作するためのサブコマンド、もう 1 つは、データベースを保守するためのサブコマンドです。rdmgr コマンドは通常、検索が有効化された Portal Server インスタンスディレクトリ内で実行されます。

rdmgr コマンドを起動する
  1. 次のディレクトリに移動します。
  2. cd /var/opt/SUNWps/https-servername/

  3. コマンド行で次のように入力します。
  4. run-cs-cli portal-server-install-dir/SUNWps/bin/rdmgr args

    ここで、portal-server-install-dir は、Portal Server のインストール先ディレクトリです。

rdmgr コマンドの詳細については、『Sun Java System Portal Server 管理ガイド』の「コマンド行ユーティリティ」の項を参照してください。

リソース記述子の検索

引数値 -Q を指定して rdmgr コマンドを実行すると、検索処理を詳細に記述するリソース記述子 (RD) のリストが生成されます。

たとえば、次のように入力します。

リソース記述子の削除

Portal Server 検索データベースからリソース記述子 (RD) を削除する例を、次に示します。

テキスト testing を含むすべてのリソース記述子 (RD) を削除するには、次のように入力します。

run-cs-cli portal-server-install-dir/SUNWps/bin/rdmgr -d -Q testing

特定のカテゴリ Archive:Chat:January に属するすべてのリソース記述子 (RD) を削除するには、次のように入力します。

run-cs-cli portal-server-install-dir/SUNWps/bin/rdmgr -d -Q "classification=Archive:Chat:January"


Instant Messenger アーカイブ制御の有効化

Instant Messenger アーカイブ制御コンポーネントを使うと、エンドユーザーは、アーカイブインスタントメッセージを制御できます。このコンポーネントを使うと、エンドユーザーは、Portal Server 検索データベース内に格納されたアーカイブインスタントメッセージを検索できます。それには、Instant Messenger のメインウィンドウ内の「アーカイブ」ボタンをクリックします。また、エンドユーザーは、Instant Messenger の「アーカイブ」タブを使って、「すべての会議室をアーカイブ」などのデフォルトのアーカイブオプションを設定することもできます。Instant Messenger アーカイブ制御の機能は、Instant Messenger の 2 つのオプションモジュールによって提供されています。

Instant Messenger アーカイブ制御コンポーネントを有効にするには、アプレット記述子ファイル内の archive_control アプレットパラメータを設定します。

Instant Messaging LDAP 配備の変更すべきアプレット記述子ファイルは、次のとおりです。

JNLP ファイルおよび jnlpLaunch.jsp ファイルの変更

Java Web Start を使って Instant Messenger を起動する場合、Instant Messenger の Instant Messenger アーカイブ制御機能を有効にするには、次の手順を実行します。

  1. Instant Messenger のドキュメントルートディレクトリに移動し、im.jnlp ファイルと imssl.jnlp ファイルを見つけます。
  2. pluginLaunch.jsp ファイルは、次の場所にあります。

    /etc/opt/SUNWps/desktop/default/IMProvider

  3. html、jsp のいずれかのファイルを開き、次の行を追加または編集します。
  4. <argument>archive_control=true</argument>

html アプレットページおよび pluginLaunch.jsp ファイルの変更

Java プラグインを使って Instant Messenger を起動する場合、Instant Messenger の Instant Messenger アーカイブ制御機能を有効にするには、次の手順を実行します。

  1. メッセンジャのドキュメントルートディレクトリに移動し、im.html ファイルと imssl.html ファイルを見つけます。
  2. pluginLaunch.jsp ファイルは、次の場所にあります。

    /etc/opt/SUNWps/desktop/default/IMProvider

  3. html、jsp のいずれかのファイルを開き、次の行を追加または編集します。

    <PARAM NAME="archive_control" VALUE="true" />

    <EMBED archive_control=true;/>


  4. Instant Messaging Server の iim.conf ファイル内で iim_server.msg_archive.auto の値が true に設定されている場合は、Instant Messenger アーカイブ制御を有効にしないでください。エンドユーザーのメッセンジャ設定が、すべて無視されるからです。



アーカイブデータの表示の変更

アーカイブデータは、IMArchiveDisplay.jsp ファイルを使って配備されます。IMArchiveDisplay.jsp ファイルはデフォルトで、フォルダ /etc/opt/SUNWps/desktop/default/IMProvider 内にインストールされます。このファイルを編集すれば、アーカイブデータのスタイルやリソース文字列を変更できます。

たとえば、エンドユーザーの入室時に表示されるデフォルトのシステムメッセージ「joe has joined the room」を「joe has entered the room」で置き換えるには、次の手順を実行します。

  1. 任意のエディタを使って IMArchiveDisplay.jsp ファイルを編集します。たとえば、次のように入力します。
  2. vi IMArchiveDisplay.jsp

  3. ファイル IMArchiveDisplay.jsp 内のコード例 7-3 のコード行をコード例 7-4 のもので置き換えます。
  4. コード例 7-3 デフォルトのシステムメッセージの変更

    ....

    ht.put("has_joined_the_room","<span class='user'> {0} </span>

    <span class='headervalue'> has joined the room.</span>");

    ....

    コード例 7-4 デフォルトのシステムメッセージを置換したあと

    ....

    ht.put("has_joined_the_room","<span class='user'> {0} </span>

    <span class='headervalue'> has entered the room.</span>");

    ....

同様に、ほかのキーに対するリソース文字列やキー情報の表示スタイルも、変更可能です。

Portal Server 検索のデフォルトスキーマ内の Title と Full-Text の属性名が変更された場合、それらの変更内容を、IMArchiveDisplay.jsp ファイルにも反映する必要があります。


アーカイブプロバイダの配備シナリオ例

この配備シナリオ例では、関連する Instant Messaging データをまとめてアーカイブする方法を説明します。

関連する Instant Messaging データをまとめてアーカイブする

データの種類ごとにカテゴリを作成します。たとえば、すべての Instant Messaging アーカイブデータが格納される Archive カテゴリ内に、チャットメッセージ格納用のサブカテゴリ Chat を作成します。また、データを日時に基づいてアーカイブするようなサブカテゴリを作成することもできます。たとえば、2002 年 12 月のチャットデータをアーカイブするには、次のようなサブカテゴリを作成します。

Archive:Chat:2002:12

すべてのチャットデータを日時に基づいてアーカイブする
  1. config ディレクトリに移動します。たとえば、Solaris 上では次のように入力します。
  2. cd /etc/opt/SUNWiim/default/config

  3. iim.conf ファイルを編集します。たとえば、次のように入力します。
  4. vi iim.conf

  5. パラメータ iim_arch.chat.categoryname に対し、次の値を追加します。
  6. iim_arch.chat.categoryname = Archive:Chat:%Y:%M

    アーカイブプロバイダは、現在の年を %Y に、現在の月を %M に、それぞれ自動的に割り当てます。これらの値は、システム日付とシステム時刻から取得されます。

サブカテゴリ 2002 年 12 月に対するチャットデータをアーカイブおよびバックアップする
  1. 次のように入力します。
  2. rdmgr -Q "classification=Archive:Chat:2002:12" > archive.soif

  3. .soif ファイルをバックアップシステムに格納します。
Portal Server 検索データベースから 2002 年 12 月分のアーカイブチャットデータを削除する


前へ      目次      索引      次へ     


Part No: 819-1487.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.