Sun logo      上一页      目录      索引      下一页     

Sun ONE Instant Messaging 6.1

第 5 章
管理 Instant Messaging 归档

本章说明如何管理和配置 Sun ONE Instant Messaging 归档。

本章包含以下部分:


Instant Messaging 归档概述

Instant Messaging 归档捕获即时消息并将这些消息归档到“Portal Server ”数据库中。它使最终用户可以使用 Portal Server 桌面的“搜索”页来查询和检索这些归档的消息。

Sun ONE Instant Messaging Archive 包含下列组件:

归档和检索组件。Sun ONE“Portal Server 搜索”组件也称为“归档和检索”组件,用于存储归档的“即时消息”。Instant Messaging 归档数据将编入索引,可以分配给各个类别并存储到“Portal Server 搜索”数据库中。例如,报警消息可以存储到“报警”类别下。


备注

将数据存储在单独的类别中,有助于简化搜索操作和快速检索归档的数据。


Instant Messaging Archive 搜索或显示 Servlet。当最终用户搜索符合特定标准的文档时,“Portal Server 搜索”会获取符合此标准的页面。这些页面可能是远程网页,或者是 Instant Messaging 归档数据,也称为 Instant Messaging 资源说明符。

当最终用户单击 Instant Messaging 资源说明符的 URL 以查看归档数据时,就会调用“Instant Messaging Archive 搜索或显示 servlet”。“Instant Messaging Archive 搜索 servlet”从“Portal Server 搜索”数据库检索信息,生成包含 Instant Messaging Archive 数据的文本或 HTML 回应。

Instant Messaging归档提供者。只要“即时消息”要归档,Instant Messaging 服务器就会调用此组件。“Instant Messaging归档提供者”根据 Instant Messaging 服务器提供的数据生成与“资源说明符 (RD)”兼容的“摘要对象交换格式 (SOIF)”。它使用“Portal Server 搜索”API 发送这些“资源说明符”到“Portal Server 搜索”数据库。它还维护一个要提交给“Portal Server 搜索”数据库的记录的缓冲区,以减少性能的损耗。

Instant Messenger Archive 控制。Instant Messaging 数据可以自动归档,而无需最终用户的任何介入。要控制归档功能,最终用户必须启用“Instant Messenger Archive 控制”组件。此组件可让最终用户设置“归档所有会议”等默认的归档选项,以及根据事务更改默认值。例如,最终用户可以选择不归档会议内容。

图 5-1 说明 Sun ONE Instant Messaging Archive 组件。

图 5-1

此图所示为 Sun ONE Instant Messaging 归档组件和数据流。

Sun ONE Instant Messaging Archive 组件


归档即时消息

为便于归档,所有即时消息都分为以下类别:

聊天。私人会议室中的所有消息。

会议。公共会议室中的所有消息。

报警。此类别包含所有报警消息。

轮询。此类别包含所有轮询消息。

新闻。此类别包含所有发布在新闻频道中的消息。

以下是“Sun ONE 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 服务器配置。要进行刷新,请键入:
  9. imadmin refresh

Sun ONE Instant Messaging 服务器提供可用于编写定制的归档提供者的 API 和 SPI。有关 Instant Messaging API 的详细信息,请参阅“Instant Messaging API”


配置归档提供者

归档提供者在“Portal Server 搜索”数据库中将归档的消息存储为资源说明符 (RD)。归档提供者使用“Portal Server 搜索”方案的下列字段:

标题。此字段包含“会议”类别中公共会议室的名称、“聊天”类别中聊天会话参与者的名称、报警和新闻类别中“报警”消息的主题和“新闻频道”的名称。标题字段包含轮询类别中“来自发送者轮询”,其中发送者代表轮询发送者的显示名称。

关键字。对于会议和聊天类别,此字段包含会议室所有参与者的列表。对于公共会议室,它包含会议室的名称。对于“报警”类别,它包含发送者和收件人的显示名称。对于“新闻”类别,它包含频道的名称。对于“轮询”类别,它包含发送者和收件人的列表。对于所有类别,除了上述值以外,此字段还包含类别的唯一 ID。

表 5-1 显示归档提供者中每个类别的唯一 ID 及说明。

表 5-1  每个类别的唯一 ID 及其说明

类别

唯一 ID

会议

聊天

RoomName-StartTime

其中:

RoomName -公共或私人会议室的名称

StartTime - RD 创建的时间标记

报警

Alert-messageID

其中:

messageID - 要归档的消息的消息 Id。消息 Id 在 RD 仅包含一则消息时非常重要。例如“新闻”消息和“报警”消息。

轮询

Poll-pollID

新闻

TopicName-messageID

ReadACL。对于“会议”和“新闻”类别,此字段的值取自各自会议室和新闻频道的访问控制文件。对于“聊天”类别,此字段包含参与者的 DN。对于“报警”类别,此字段包含发送者的 DN 和收件人的 DN。对于“轮询”类别,归档者将会提供新的访问控制文件。

搜索 RD 会受到 ReadACL 字段中的值控制。如果启用了文档级安全性,最终用户仅在 ReadACL 字段具有最终用户的 DN 时才能访问搜索结果。如果为聊天消息启用了 Instant Messenger Archive 控制,则添加到 ReadACL 字段的最终用户 DN 取决于最终用户的选择。

说明。此字段包含未 HTML 格式化的归档消息。

全部文本。此字段包含已经 HTML 格式化的归档消息。

分类。此字段包含归档消息的类别。

归档提供者配置参数

表 5-2 列出并说明可以添加到 iim.conf 文件的归档提供者配置参数:

表 5-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

Description

此参数包含字段的名称,该字段等同于“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

此参数包含会议室(公共和私人)内两则连续消息之间的最长静默时间,这段时间过后归档消息的 RD 过期并且新 RD 被创建。值以分钟为单位。

iim_arch.poll.maxwaittime

15

此参数包含轮询数据在服务器中缓冲的最长时间。值以分钟为单位。

iim_arch.ignoreexplicitdeny

true

此参数包含 truefalse

true - 对于轮询和会议类别,明确拒绝访问的数据将不会归档。每次不归档这些消息时,此信息就会记录到 server.log 文件中。

false - 对于轮询和会议类别,明确拒绝访问的数据将不会归档,并且该消息会添加到“Portal Server 搜索”数据库中。

备注:如果不明确拒绝访问会议室或新闻频道,则默认访问等级为 READ、WRITE 或 MANAGE。有些最终用户也可能会被授予 NONE 访问权限。

iim_arch.portal.search

此参数的值应为“Portal Server 搜索”servlet 的 URL。例如:http://www.example.com/portal/search

如果此参数不存在,则归档提供者会根据系统中的 AMConfig.properties 文件确定“Portal Server 搜索”URL 的值。

iim_arch.portal.admindn

此参数的值应为管理员用户的 dn。例如:uid=amadmin,ou=People,o=internet

仅在“入口搜索服务器”中启用“文档级安全性”时才需要此参数。

iim_arch.portal.adminpassword

此参数的值应为 iim_arch.portal.admindn 参数所指定的管理员用户的密码。

仅在“入口搜索服务器”中启用“文档级安全性”时才需要此参数。

iim_arch.portal.search.database

此参数的值应为 Sun ONE Instant Messaging 服务器用来存储归档消息的数据库的名称。如果没有定义此参数,则所有消息都会存储在 Sun ONE Portal Server 搜索的默认数据库中。

iim_arch.portal.deployuri

 

/portal

此参数包含 Portal Server 的部署 URI。

iim_arch.portal.channelname

 

IMChannel

 

此参数包含“Instant Messaging 频道”的名称。

将 Sun ONE Instant Messaging 归档消息存储在非默认数据库中

要将 Sun ONE Instant Messaging 归档消息存储在非默认“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 搜索频道

更改 Portal Server 搜索频道,以添加在其它数据库中搜索数据的选项。有关详细信息,请参阅 Sun ONE Portal Server Desktop Customization Guide

  1. 修改 IMArchiveDisplay.jsp 文件:
    1. 切换到下列目录:
    2. /etc/opt/SUNWps/desktop/default/IMProvider/

    3. 创建 IMArchiveDisplay.jsp 文件的备份。
    4. 用选择的编辑器编辑 IMArchiveDisplay.jsp 文件。例如,您可以键入:
    5. vi IMArchiveDisplay.jsp

    6. 搜索 IMArchiveDisplay.jsp 文件,找到下列两行代码:
    7. 代码示例 5-1  编辑之前搜索 IMArchiveDisplay.jsp 文件中的代码

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

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

    8. 代码示例 5-1 所示的两行代码之间,添加下列代码行:
    9. <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 搜索数据库中的归档数据


备注

这些说明是针对 Solaris 的,因为只有 Solaris 才支持 Sun ONE Portal Server。


Instant Messaging 数据在“Portal Server 搜索”数据库中以“资源说明符 (RD)”的形式归档。“Portal Server 搜索”数据库中的个别条目称为资源说明符 (RD)。RD 是有关单个资源的特定信息集。各个 RD 的字段取决于“Portal Server 搜索”数据库方案。

要管理归档的数据,您必须管理“Portal Server 搜索”数据库中的“资源说明符 (RD)”。本节说明一些对“Portal Server 搜索”数据库经常执行的维护任务。

有关管理“Portal Server 搜索”数据库中数据的详细信息,请参阅 Sun ONE Portal Server 管理员指南

rdmgr 命令

rdmgr 命令是用于处理“搜索”服务的主要命令。它为管理员提供两种子命令:一种用于处理资源说明符 (RD);另一种用于数据库维护。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 ONE Portal Server 管理员指南中的“命令行实用程序”。

搜索资源说明符 (RD)

运行参数值为 -Qrdmgr 命令将会生成调整搜索操作的 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 Archive 控制

Instant Messenger Archive 控制组件可让最终用户控制归档的即时消息。最终用户单击 Instant Messenger 主窗口中的“归档”按钮,即可搜索存储在“Portal Server 搜索”数据库中的归档即时消息。它还可让最终用户设置默认的归档选项,例如 Instant Messenger 的“归档”标签中的“归档所有会议”。Instant Messenger Archive 控制功能由两个可选的 Instant Messenger 模块提供。

在 applet 说明符文件中设置 archive_control applet 参数即可启用 Instant Messenger Archive 控制组件。

Instant Messaging LDAP 部署中需要更改的 applet 说明符文件如下:

对 JNLP 文件和 jnlpLaunch.jsp 文件所做的更改:

如果使用 Java Web Start 启动 Instant Messenger,请执行下列步骤在 Instant Messenger 中启用 Instant Messenger Archive 控制功能。

  1. 转到 Instant Messenger 文档根目录查找 im.jnlpimssl.jnlp 文件
  2. jnlpLaunch.jsp 文件可在以下位置找到:

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

  3. 编辑 jnlp or jsp 文件,然后添加或编辑下列行:
  4. <argument>archive_control=true</argument>

对 html applet 页和 pluginLaunch.jsp 文件所做的更改:

如果使用 Java Plug-in 启动 Instant Messenger,请执行下列步骤在 Instant Messenger 中启用 Instant Messenger Archive 控制功能。

  1. 转到 messenger 文档根目录查找 im.jnlpimssl.jnlp 文件
  2. jnlpLaunch.jsp 文件可在以下位置找到:

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

  3. 编辑 jnlp or jsp 文件,然后添加或编辑下列行:

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

    <EMBED archive_control=true;/>


  4. 备注

    如果 iim_server.msg_archive.auto 的值在Instant Messaging服务器的 iim.conf 文件中设置为 true,则不应启用 Instant Messenger 归档控制,因为最终用户的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 中的代码示例 5-4 替换代码示例 5-3 中的代码行:
  4. 代码示例 5-3  修改默认系统消息。

     

    ....

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

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

    ....

     

    代码示例 5-4  替换默认系统消息之后。

     

    ....

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

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

    ....

     

同样,其它按键的资源字符串和按键信息的显示样式也可以修改。

如果在“Portal Server 搜索”的默认方案中修改了“标题”和“全部文本”的属性名称,这些更改也应该反映在 IMArchiveDisplay.jsp 文件中。


归档提供者的部署方案样例

此部署方案样例说明如何统一归档相关的 Instant Messaging 数据。

统一归档相关的 Instant Messaging 数据:

为每种类型的数据创建单独的类别。例如,在存储了全部归档 Instant Messaging 数据的“归档”类别中,创建子类别“聊天”来存储聊天消息。也可以创建根据时间归档数据的子类别。例如,要归档 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. rdmgr -Q "classification=Archive:Chat:2002:12" > archive.soif
  2. .soif 文件存储到您的备份系统。

要从“Portal Server 搜索”数据库中删除归档的 2002 年 12 月聊天数据,请键入:

rdmgr -d "classification=Archive:Chat:2002:12"



上一页      目录      索引      下一页     


版权所有 2003 Sun Microsystems, Inc. 保留所有权利。