次の各トピックでは、Instant Messaging ポータルアーカイブの使用について説明します。
Instant Messaging ポータルアーカイブプロバイダの機能には、次のものがあります。
サーバーを通過するすべての Instant Messaging トラフィックを捕捉します。
アーカイブデータを、Portal Server 検索内の個々のカテゴリ内に格納できます。データを個々のカテゴリに格納すると、検索処理を単純化できるほか、アーカイブデータをすばやく取得できるようになります。Portal Server デスクトップを使って検索を実行できます。
Portal Server 検索のセキュリティー機能を使ってアクセス制御リストを提供できます。アーカイブプロバイダのセキュリティー機能を使うと、ある一連の管理ユーザーに対してのみ、アーカイブデータへのアクセスを許可できます。
Portal Server 検索データベースの管理ツールを使ってデータ管理を行えます。
すべてのインスタントメッセージは、アーカイブ時に次のいずれかのカテゴリに分類されます。
チャット - 非公開会議室のすべてのメッセージ
会議室 - 公開会議室のすべてのメッセージ
アラート - すべてのアラートメッセージ。
調査 - すべての調査メッセージ。
ニュース - ニュースチャネルに投稿されたすべてのメッセージ。
Instant Messaging ポータルアーカイブには、次のコンポーネントが含まれます。
アーカイブ/取得コンポーネント - Portal Server 検索コンポーネントは「アーカイブ/取得コンポーネント」とも呼ばれ、アーカイブインスタントメッセージの格納場所として使用されます。Instant Messaging アーカイブデータにはインデックスが付けられ、Portal Server 検索データベースに格納できます。アーカイブデータにカテゴリを割り当てることもできます。たとえば、Alert カテゴリの下にアラートメッセージを格納できます。データを個々のカテゴリに格納すると、検索処理が単純化されるほか、アーカイブデータをすばやく取得できるようになります。
アーカイブ検索/表示サーブレット - エンドユーザーが、特定の条件に一致するドキュメントの検索処理を実行すると、Portal Server 検索は、その条件に一致するページを取り出します。これらのページは、リモート Web ページまたは Instant Messaging アーカイブデータ (Instant Messaging リソース記述子とも呼ぶ) です。
リモート Web ページの場合、条件に一致するページの URL が、検索結果リスト内に表示されます。エンドユーザーが検索結果リスト内の Web ページの URL をクリックすると、ブラウザは、リモート Web コンテナからそのページを取得します。
Instant Messaging リソース記述子の場合、それらのアーカイブデータは、Portal Server 検索データベース内に格納されており、Web コンテナからダウンロード可能なドキュメントとして存在しているわけではありません。
エンドユーザーが、Instant Messaging リソース記述子の URL をクリックしてそのアーカイブデータを表示しようとすると、Instant Messaging アーカイブ検索/表示サーブレットが起動されます。Instant Messaging アーカイブ検索サーブレットは、Portal Server 検索データベースから目的の情報を取り出し、その Instant Messaging アーカイブデータを含んだテキスト形式または HTML 形式の応答を生成します。
Instant Messaging アーカイブプロバイダ - このコンポーネントは、アーカイブすべきインスタントメッセージが発生するたびに、Instant Messaging サーバーによって起動されます。Instant Messaging アーカイブプロバイダは、Instant Messaging サーバーから提供されたデータに基づいて、SOIF (Summary Object Interchange Format) に準拠したリソース記述子 (RD: Resource Descriptor) を作成します。アーカイブプロバイダは、Portal Server 検索 API を使用してそれらのリソース記述子を Portal Server 検索データベースに送信し、パフォーマンス低下を抑えるために、Portal Server 検索データベースに送信されるレコードのバッファーを保持します。
図 18–1 は、Instant Messaging ポータルアーカイブのコンポーネントを図示したものです。
Instant Messaging アーカイブプロバイダまたはカスタムアーカイブプロバイダの有効化は、iim.conf 内のパラメータを変更することによって行います。
「Instant Messaging アーカイブを有効にする」での説明に従って、Instant Messaging のアーカイブを有効にしたことを確認します。
iim.conf を開きます。
iim.conf の場所、およびこのファイルに変更を加える手順については、「iim.conf ファイルの構文」を参照してください。
有効にするアーカイブプロバイダのタイプに対応した行を iim.conf に追加します。
カスタムアーカイブプロバイダを使用する場合、次の行を追加します。
iim_server.msg_archive.provider = provider-name |
Portal Server 検索ベースのアーカイブプロバイダを使用するには、provider-name を次のように置き換えます。
com.iplanet.im.server.IMPSArchive |
iim_server.msg_archive.provider パラメータの内容は、アーカイブプロバイダのコンマ区切りのリストです。たとえば、電子メールアーカイブに加えてポータルアーカイブを有効にする場合、パラメータとその値を次のように入力します。
iim_server.msg_archive.provider = com.iplanet.im.server.IMPSArchive, \ com.iplanet.im.server.EmailIMArchive |
Sun JavaTM System Portal Server 7 2006Q1 以降を実行している場合、次のパラメータの値を指定します。
iim_arch.portal.search="Portal Server Search URL" |
Portal Server Search URL は、Portal Server の検索 URL です。たとえば、次のように入力します。
iim_arch.portal.search="http://portal.siroe.com:8080/search1/search" |
iim.conf を保存して閉じます。
Instant Messaging サーバー設定を更新します。
imadmin refresh |
psconsole
に amadmin としてログインします。
手順については、Portal Server のマニュアルを参照してください。
「チャネルおよびコンテナを管理」を選択します。
検索機能をホストするポータルおよび組織を選択します。
DP XML ツリービューから IMChannel を選択します。
「searchServer」の値として、検索サーバーの URL を入力します。
たとえば、次のように入力します。
http://portal.siroe.com:8080/search1/search |
プロパティーを保存します。
iim.conf を開きます。
詳細は、「iim.conf ファイルの構文」を参照してください。
iim_server.msg_archive.provider パラメータから、値 com.iplanet.im.server.IMPSIMArchive を削除します。
iim.conf を保存して閉じます。
Instant Messaging サーバー設定を更新します。
imadmin refresh |
Instant Messaging アーカイブプロバイダは、アーカイブメッセージをリソース記述子 (RD) として、Portal Server 検索データベース内に格納します。アーカイブプロバイダが使用する Portal Server 検索スキーマのフィールドは、次のとおりです。
Title - このフィールドには、Conference カテゴリでは公開会議室の名前が、Chat カテゴリでは特定チャットセッション内の参加者の名前が、Alert カテゴリと News カテゴリではアラートメッセージの件名とニュースチャネルの名前が、それぞれ格納されます。また、Poll カテゴリでは、"Poll from Sender" が、Title フィールドに格納されます。ここで、Sender は調査の送信者の表示名です。
Keyword - Conference カテゴリと Chat カテゴリの場合、このフィールドには会議室内のすべての参加者のリストが格納されます。また、公開会議室の場合、会議室の名前も格納されます。Alert カテゴリでは、送信者と受信者の表示名が格納されます。News カテゴリでは、チャネルの名前が格納されます。Poll カテゴリでは、送信者と受信者のリストが格納されます。以上の値に加え、すべてのカテゴリで、カテゴリ別の一意の ID も格納されます。
表 18–2 は、アーカイブプロバイダの各カテゴリの一意の ID とその説明を示したものです。
表 18–2 アーカイブプロバイダカテゴリの一意 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 が含まれている場合だけです。
Description - このフィールドには、HTML の書式を含まないアーカイブメッセージが格納されます。
Full-Text - このフィールドには、HTML 形式のアーカイブメッセージが格納されます。
Classification - このフィールドには、アーカイブメッセージのカテゴリが格納されます。
iim.conf を開きます。
iim.conf の場所と、このファイルに変更を加える手順については、付録 A 「iim.conf の Instant Messaging の設定パラメータ」を参照してください。
必要に応じて、アーカイブプロバイダの設定パラメータを追加または編集します。
変更可能なパラメータの一覧については、表 A–8 を参照してください。
iim.conf を保存して閉じます。
Instant Messaging サーバーを更新します。
アーカイブメッセージをデフォルト以外のデータベースに格納するように Instant Messaging を設定するには、次の手順に従います。
iim.conf を開きます。
iim.conf の場所と、このファイルに変更を加える手順については、付録 A 「iim.conf の Instant Messaging の設定パラメータ」を参照してください。
デフォルトのアーカイブプロバイダに対して、次の行を追加します。
iim_arch.portal.search.database = database-name |
database-name は、デフォルト以外のデータベースの名前です。
iim.conf を保存して閉じます。
Portal Server 検索チャネルを変更します。
Portal Server 検索チャネルに、別のデータベース内のデータを検索するためのオプションを追加します。詳細は、『Sun Java System Portal Server Desktop Customization Guide』を参照してください。
IMProvider ディレクトリに移動します。
たとえば、次のように入力します。
cd /etc/opt/SUNWps/desktop/default_locale/IMProvider/ |
locale は、配備で使用している言語のロケールです。たとえば、default_ja や en_US などです。また、Instant Messaging のインスタンスを複数作成した場合、/default ディレクトリの名前はインスタンスごとに異なります。
IMArchiveDisplay.jsp ファイルのバックアップを作成します。
IMArchiveDisplay.jsp ファイルを開きます。
IMArchiveDisplay.jsp ファイル内のコードを検索し、次の 2 行を見つけます。
<search:setQuery query = "<%= scope %>"/> <search:setRDMType rdmType = "rd-request"/> |
前の手順で示した 2 行の間に、次のコード行を追加します。
<search:setDatabase database = "database-name"/> |
新しいコード行を追加すると、検索コードは のようになります。
<search:setQuery query = "<%= scope %>"/> <search:setDatabase database = "database-name"/> <search:setRDMType rdmType = "rd-request"/> |
database-name は、デフォルト以外のデータベースの名前です。
仮想検索サーバーを、物理サーバーのホスト名に置き換えます。
IMArchiveDisplay.jsp を保存して閉じます。
この節の説明は、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 コマンドは、検索サービスを操作する際の主要コマンドです。このコマンドは、2 種類のサブコマンドを管理者に提供します。1 つは、リソース記述子 (RD) を操作するためのサブコマンド、もう 1 つは、データベースを保守するためのサブコマンドです。rdmgr コマンドは通常、検索が有効化された Portal Server インスタンスディレクトリ内で実行されます。
https-servername ディレクトリに移動します。
cd /var/opt/SUNWps/https-servername |
servername は Portal Server の名前です。
コマンド行で次のように入力します。
run-cs-cli portal-svr-base/SUNWps/bin/rdmgr options |
portal-svr-base は、Portal Server のインストール先ディレクトリです。
rdmgr コマンドの詳細は、『Sun Java System Portal Server 管理ガイド』の「コマンド行ユーティリティー」を参照してください。
引数値 -Q を指定して rdmgr コマンドを実行すると、検索処理を詳細に記述するリソース記述子 (RD) のリストが生成されます。
たとえば、次のようになります。
テキスト testing を含むリソース記述子 (RD) を検索するには、次のように入力します。
run-cs-cli portal-svr-base/SUNWps/bin/rdmgr -Q testing |
特定のカテゴリに属するリソース記述子 (RD) を検索するには、次のコマンドを入力します。コマンドは 1 行で入力してください。
run-cs-cli portal-svr-base/SUNWps/bin/rdmgr -Q "classification=Archive:Chat:January" |
Portal Server 検索データベースからリソース記述子 (RD) を削除する例を、次に示します。
テキスト testing を含むすべてのリソース記述子 (RD) を削除するには、次のように入力します。
run-cs-cli portal-svr-base/SUNWps/bin/rdmgr -d -Q testing |
特定のカテゴリ Archive:Chat:January に属するすべてのリソース記述子 (RD) を削除するには、次のコマンドを入力します。コマンドは 1 行で入力してください。
run-cs-cli portal-svr-base/SUNWps/bin/rdmgr -d -Q "classification=Archive:Chat:January" |
アーカイブデータは、IMArchiveDisplay.jsp ファイルを使って配備されます。IMArchiveDisplay.jsp ファイルはデフォルトで、フォルダ /etc/opt/SUNWps/desktop/default/IMProvider 内にインストールされます。このファイルを編集すれば、アーカイブデータのスタイルやリソース文字列を変更できます。
たとえば、次の手順で説明するようにして、エンドユーザーが入室したときに表示されるデフォルトのシステムメッセージを置き換えることができます。
同様に、ほかのキーに対するリソース文字列やキー情報の表示スタイルも、変更可能です。
Portal Server 検索のデフォルトスキーマ内の Title と Full-Text の属性名を変更した場合、それらの変更内容を、IMArchiveDisplay.jsp ファイルにも反映する必要があります。
IMArchiveDisplay.jsp を編集します。
IMArchiveDisplay.jsp から、次のコード行を探します。
.... ht.put("has_joined_the_room","<span class='user'> {0} </span> <span class='headervalue'> has joined the room.</span>"); .... |
headervalue を目的のテキストに置き換えます。
たとえば、次のように入力します。
.... ht.put("has_joined_the_room","<span class='user'> {0} </span> <span class='headervalue'> has entered the room.</span>"); .... |
この配備シナリオ例では、関連する Instant Messaging データをまとめてアーカイブする方法を説明します。
データの種類ごとにカテゴリを作成します。たとえば、すべての Instant Messaging アーカイブデータが格納される Archive カテゴリ内に、チャットメッセージ格納用のサブカテゴリ「Chat」を作成します。また、データを日時に基づいてアーカイブするようなサブカテゴリを作成することもできます。たとえば、2002 年 12 月のチャットデータをアーカイブするには、次のようなサブカテゴリを作成します。
Archive:Chat:2002:12
im-cfg-base ディレクトリに移動します。
im-cfg-base の場所については、「Instant Messaging サーバーのディレクトリ構造」を参照してください。
iim.conf を開きます。
iim.conf の場所、およびこのファイルに変更を加える手順については、「iim.conf ファイルの構文」を参照してください。
パラメータ iim_arch.chat.categoryname に対し、次の値を追加します。
iim_arch.chat.categoryname = Archive:Chat:%Y:%M
アーカイブプロバイダは、現在の年を %Y に、現在の月を %M に、それぞれ自動的に割り当てます。これらの値は、システム日付とシステム時刻から取得されます。
次のように入力します。
rdmgr -Q "classification=Archive:Chat:2005:12" > archive.soif |
archive.soif ファイルをバックアップシステムにコピーします。