Sun Java System Instant Messaging 6 2004Q2 管理ガイド |
第 5 章
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) に準拠したリソース記述子 (Resource Descriptor、RD) を作成します。そして、それらのリソース記述子を、Portal Server 検索 API 経由で Portal Server 検索データベースに送信します。なお、アーカイブプロバイダは、Portal Server 検索データベースへのデータ送信時のパフォーマンス低下を抑えるために、バッファレコードを使用します。
Instant Messenger アーカイブ制御 : Instant Messaging データのアーカイブは、エンドユーザーの人手を介さずに自動的に行えます。エンドユーザーがアーカイブ機能を制御できるようにするには、Instant Messenger アーカイブ制御コンポーネントを有効にする必要があります。このコンポーネントを使うと、エンドユーザーは、「すべてのチャットをアーカイブ」などといった、デフォルトのアーカイブオプションを設定できます。また、それらのデフォルト値をトランザクション単位で変更することもできます。たとえば、エンドユーザーは、会議のコンテンツをアーカイブするように選択できます。
図 5-1 は、Instant Messaging アーカイブのコンポーネントを図示したものです。
図 5-1 Instant Messaging アーカイブのコンポーネント
インスタントメッセージのアーカイブすべてのインスタントメッセージは、アーカイブ時に次のいずれかのカテゴリに分類されます。
チャット : 非公開会議室のすべてのメッセージ
会議室 : 公開会議室のすべてのメッセージ
アラート : すべてのアラートメッセージが格納される
調査 : すべての調査メッセージが格納される
ニュース: ニュースチャネルに投稿されたすべてのメッセージが格納される
Instant Messaging アーカイブプロバイダの機能は、次のとおりです。
- サーバーを通過するすべての Instant Messaging トラフィックを捕捉します。
- アーカイブデータを、Portal Server 検索内の個々のカテゴリ内に格納できます。
- データを個々のカテゴリに格納すると、検索処理を単純化できるほか、アーカイブデータをすばやく取得できるようになります。
- Portal Server デスクトップを使って検索を実行できます。
- Portal Server 検索のセキュリティ機能を使ってアクセス制御リストを提供できます。アーカイブプロバイダのセキュリティ機能を使うと、ある一連の管理ユーザーに対してのみ、アーカイブデータへのアクセスを許可できます。
- Portal Server 検索データベースの管理ツールを使ってデータ管理を行えます。
アーカイブプロバイダの有効化Instant Messaging のアーカイブプロバイダを有効にするには、次の手順を実行します。
- config ディレクトリに移動します。たとえば、Solaris 上では次のように入力します。
cd /etc/opt/SUNWiim/default/config
- iim.conf ファイルを開きます。
たとえば、次のように入力します。
vi iim.conf
- iim.conf ファイルに次の行を追加します。
デフォルトのアーカイブプロバイダに対して、次の行を追加します。
iim_server.msg_archive = true
カスタムアーカイブプロバイダを使用する場合、次の行を追加します。
iim_server.msg_archive.provider = provider_name
Portal Server 検索ベースのアーカイブを使用する場合、provider_ name を次の文字列で置き換えます。
com.iplanet.im.server.IMPSArchive
- ファイルを保存します。
- Instant Messaging Server 設定を更新します。更新するには、次のように入力します。
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 も格納されます。
表 5-1 は、アーカイブプロバイダの各カテゴリの一意の ID とその説明を示したものです。
ReadACL : Conference カテゴリと News カテゴリでは、このフィールドの値は、それぞれ会議室とニュースチャネルのアクセス制御ファイルに基づいて設定されます。Chat カテゴリでは、このフィールドには参加者の DN が格納されます。Alert カテゴリでは、このフィールドには送信者の DN と受信者の DN が格納されます。Poll カテゴリでは、アーカイブによって新しいアクセス制御ファイルが提供されます。
RD に対する検索アクセス権は、この ReadACL フィールドの値によって制御されます。ドキュメントレベルのセキュリティが有効になっている場合、エンドユーザーが検索結果にアクセスできるのは、ReadACL フィールドにそのエンドユーザーの DN が含まれている場合だけです。Instant Messenger アーカイブ制御が有効になっている場合、チャットメッセージに対して ReadACL フィールドに追加されるエンドユーザー DN は、エンドユーザーの選択内容に応じて変わります。
Description : このフィールドには、HTML の書式を含まないアーカイブメッセージが格納されます。
Full-Text : このフィールドには、HTML 形式のアーカイブメッセージが格納されます。
Classification : このフィールドには、アーカイブメッセージのカテゴリが格納されます。
アーカイブプロバイダ設定パラメータ
表 5-2 は、 iim.conf ファイルに追加可能なアーカイブプロバイダ設定パラメータの一覧とその説明です。
デフォルト以外のデータベースへのアーカイブメッセージの格納
Sun Java System Instant Messaging アーカイブメッセージをデフォルト以外の Portal Server 検索データベース内に格納するには、次の手順に従います。
Portal Server 検索チャネルに、別のデータベース内のデータを検索するためのオプションを追加します。詳細については、『Sun Java System Portal Server Desktop Customization Guide』を参照してください。
- IMArchiveDisplay.jsp ファイルを変更します。
- 次のディレクトリに移動します。
/etc/opt/SUNWps/desktop/default/IMProvider/
- IMArchiveDisplay.jsp ファイルのバックアップを作成します。
- 任意のエディタを使って IMArchiveDisplay.jsp ファイルを編集します。たとえば、次のように入力します。
vi IMArchiveDisplay.jsp
- IMArchiveDisplay.jsp ファイル内のコードを検索し、次の 2 行を見つけます。
コード例 5-1 IMArchiveDisplay.jsp ファイル内の検索コード (編集前)
<search:setQuery query = "<%= scope %>"/>
<search:setRDMType rdmType = "rd-request"/>
- コード例 5-1 に示した 2 行の間に、次のコード行を追加します。
<search:setDatabase database = "database-name"/>
新しいコード行を追加すると、検索コードはコード例 5-2 のようになります。
コード例 5-2 IMArchiveDisplay.jsp ファイル内の検索コード (編集後)
<search:setQuery query = "<%= scope %>"/>
<search:setDatabase database = "database-name"/>
<search:setRDMType rdmType = "rd-request"/>
ここで、database-name は、デフォルト以外のデータベースの名前です。
Portal Server 検索データベース内のアーカイブデータの管理
Instant Messaging データは、Portal Server 検索データベース内にリソース記述子 (RD) としてアーカイブされます。Portal Server 検索データベース内の個々のエントリは、リソース記述子 (RD) と呼ばれます。各 RD は、ある単一のリソースに関する一連の情報を含んでいます。各 RD のフィールドは、Portal Server 検索データベースのスキーマによって決定されます。
アーカイブデータを管理するには、これらの Portal Server 検索データベース内の RD を管理する必要があります。ここでは、Portal Server 検索データベースの保守作業のうち、頻繁に実行されるもののいくつかを説明します。
Portal Server 検索データベースにおけるデータ管理の詳細については、『Portal Server 6.2 管理者ガイド』を参照してください。
rdmgr コマンド
rdmgr コマンドは、検索サービスを操作する際の主要コマンドです。このコマンドは、2 種類のサブコマンドを管理者に提供します。1 つは、リソース記述子 (RD) を操作するためのサブコマンド、もう 1 つは、データベースを保守するためのサブコマンドです。rdmgr コマンドは通常、検索が有効化された Portal Server インスタンスディレクトリ内で実行されます。
rdmgr コマンドを起動するには、次の手順を実行します。
rdmgr コマンドの詳細については、『Portal Server 6.2 管理者ガイド』の「コマンド行ユーティリティ」を参照してください。
リソース記述子 (RD) の検索
引数値 -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) を削除するには、次のように入力します。
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 アーカイブ制御機能を有効にするには、次の手順を実行します。
html アプレットページおよび pluginLaunch.jsp ファイルの変更
Java Plug-in を使って Instant Messenger を起動する場合、Instant Messenger の Instant Messenger アーカイブ制御機能を有効にするには、次の手順を実行します。
アーカイブデータの表示の変更アーカイブデータは、IMArchiveDisplay.jsp ファイルを使って配備されます。IMArchiveDisplay.jsp ファイルはデフォルトで、フォルダ /etc/opt/SUNWps/desktop/default/IMProvider 内にインストールされます。このファイルを編集すれば、アーカイブデータのスタイルやリソース文字列を変更できます。
たとえば、エンドユーザーの入室時に表示されるデフォルトのシステムメッセージ「joe has joined the room」を「joe has entered the room」で置き換えるには、次の手順を実行します。
同様に、ほかのキーに対するリソース文字列やキー情報の表示スタイルも、変更可能です。
Portal Server 検索のデフォルトスキーマ内の Title と Full-Text の属性名が変更された場合、それらの変更内容を、IMArchiveDisplay.jsp ファイルにも反映する必要があります。
アーカイブプロバイダの配備シナリオ例この配備シナリオ例では、関連する Instant Messaging データをまとめてアーカイブする方法を説明します。
関連する Instant Messaging データをまとめてアーカイブするには、次の手順を実行します。
データの種類ごとにカテゴリを作成します。たとえば、すべての Instant Messaging アーカイブデータが格納される Archive カテゴリ内に、チャットメッセージ格納用のサブカテゴリ Chat を作成します。また、データを日時に基づいてアーカイブするようなサブカテゴリを作成することもできます。たとえば、2002 年 12 月のチャットデータをアーカイブするには、次のようなサブカテゴリを作成します。
Archive:Chat:2002:12
すべてのチャットデータを日時に基づいてアーカイブするには、次の手順を実行します。
- config ディレクトリに移動します。たとえば、Solaris 上では次のように入力します。
cd /etc/opt/SUNWiim/default/config
- iim.conf ファイルを編集します。たとえば、次のように入力します。
vi iim.conf
- パラメータ iim_arch.chat.categoryname に対し、次の値を追加します。
iim_arch.chat.categoryname = Archive:Chat:%Y:%M
アーカイブプロバイダは、現在の年を %Y に、現在の月を %M に、それぞれ自動的に割り当てます。これらの値は、システム日付とシステム時刻から取得されます。
サブカテゴリ 2002 年 12 月に対するチャットデータをアーカイブおよびバックアップするには、次のように入力します。
Portal Server 検索データベースから 2002 年 12 月分のアーカイブチャットデータを削除するには、次のように入力します。
rdmgr -d "classification=Archive:Chat:2002:12"