Sun Java System Instant Messaging 7.2 管理指南

第 18 章 管理 Instant Messaging 的归档

本章中的以下各节说明如何配置和管理 Instant Messaging 的电子邮件、门户和自定义归档。

归档概述

您可以通过以下方式归档即时消息:

您可以配置 Instant Messaging 以同时使用一种或多种归档方法。

启用和禁用 Instant Messaging 的归档

不论您选择使用门户、电子邮件、自定义归档还是任何归档的组合,您都要以本节所述的方式启用 Instant Messaging 中的归档功能。如本节中所述的方式禁用所有归档。

Procedure启用 Instant Messaging 归档

启用 Instant Messaging 的归档后,您需要为想要使用的归档类型启用归档提供者,如以下各节所述:

  1. 打开 iim.conf

    有关信息,参见iim.conf 文件语法

  2. 添加以下行到 iim.conf(如果它尚未存在)。


    iim_server.msg_archive = true
    
  3. 保存并关闭 iim.conf

  4. 刷新服务器。


    imadmin refresh server
    

Procedure禁用 Instant Messaging 归档

此过程将禁用所有的 Instant Messaging 归档。如果只想禁用您已经配置的电子邮件归档、门户归档或自定义归档,参见以下各节之一:

  1. 打开 iim.conf

    有关信息,参见iim.conf 文件语法

  2. iim_server.msg_archive 参数设置为 false


    iim_server.msg_archive = false
    
  3. 保存并关闭 iim.conf

  4. 刷新服务器。


    imadmin refresh server
    

管理 Instant Messaging 电子邮件归档

您可以使用 Instant Messaging 来归档与最终用户和管理员有关的轮询、聊天、会议、新闻频道以及警报内容和电子邮件。您可以使用任何电子邮件客户机搜索和管理归档的内容。本节中的以下各部分说明 Instant Messaging 电子邮件归档:

Instant Messaging 服务器将缓存归档的记录,直到它们作为电子邮件发送。如果您启用了电子邮件归档,则该服务器的内存要求会增加。有关性能调节的信息,参见《Sun Java Communications Suite 5 Deployment Planning Guide》

启用和禁用 Instant Messaging 电子邮件归档提供者

您可以通过修改 iim.conf 中的参数值来启用或禁用归档提供者。

Procedure启用 Instant Messaging 电子邮件归档

开始之前

确保您已经如启用 Instant Messaging 归档中所述启用了 Instant Messaging 的归档。

  1. 打开 iim.conf

    有关更多信息,参见iim.conf 文件语法

  2. 添加以下行到 iim.conf(如果它尚未存在)。


    iim_server.msg_archive.provider = com.iplanet.im.server.EmailIMArchive
    

    iim_server.msg_archive.provider 参数包含一个逗号分隔的归档提供者列表。例如,如果除电子邮件归档之外,您还想要启用门户归档,则应输入如下参数和值:


    iim_server.msg_archive.provider = com.iplanet.im.server.IMPSArchive, \
    com.iplanet.im.server.EmailIMArchive
    
  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器配置。


    imadmin refresh
    

Procedure禁用 Instant Messaging 电子邮件归档提供者

  1. 打开 iim.conf

    参见 iim.conf 文件语法以获得更多信息。

  2. iim_server.msg_archive.provider 参数中删除 com.iplanet.im.server.EmailIMArchive 值。

  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器配置。


    imadmin refresh
    

配置电子邮件归档设置

您可以配置哪个管理员将接收到包含归档即时消息的电子邮件。您可以配置一个单独的管理员列表,以接收轮询、新闻、会议、警报或聊天会话。您还可以配置 Instant Messaging 使用扩展的 RFC 822 标题。这样可以允许邮件客户机基于标题内容过滤消息。


注 –

如果您在修改电子邮件归档的这些参数后运行 configure,则所有您输入的值将被覆盖。


表 18–1 说明您用于定义哪个管理员将接收电子邮件归档以及是否使用扩展的 RFC 822 标题和该标题内容的配置参数。

表 18–1 电子邮件归档配置参数

参数 

默认值 

说明 

iim_arch.admin.email

空字符串 

逗号分隔的管理员电子邮件地址列表。 

iim_arch.alert.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档警报消息都将发送至此。此参数覆盖警报消息的 iim_arch.admin.email

iim_arch.chat.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档聊天消息都将发送至此。此参数覆盖聊天消息的 iim_arch.admin.email

iim_arch.conference.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档会议消息都将发送至此。此参数覆盖会议消息的 iim_arch.admin.email

iim_arch.poll.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档轮询消息都将发送至此。此参数覆盖轮询消息的 iim_arch.admin.email

iim_arch.news.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档新闻消息都将发送至此。此参数覆盖新闻消息的 iim_arch.admin.email

iim_arch.email.archiveheader.name

无 

扩展的 RFC 822 标题的名称。 

iim_arch.email.archiveheader.value

all 

对应于 iim_arch.email.archiveheader.name 的标题名称的值。

Procedure配置 Instant Messaging 电子邮件归档的管理员收件人和 RFC 822 标题格式

  1. 打开 iim.conf

    参见 iim.conf 文件语法以获得更多信息。

  2. 添加表 18–1 中的参数及相应值到 iim.conf

  3. 刷新服务器。


    imadmin refresh
    

电子邮件标题格式

以下各节说明包含各类归档 Instant Messaging 内容的电子邮件消息的 RFC 822 标题内容:

用于一对一聊天的 RFC 822 电子邮件归档标题字段

发件人:

聊天会话发起者。

收件人:

收件人以及 iim.conf 中配置的任何管理员。有关更多信息,参见表 18–1

抄送:

聊天会话发起者。

主题:

第一条长度超过 50 个字符的有用消息。

日期:

归档提供者创建电子邮件消息的日期。

回复至:

未使用。

X-XMPP-消息-ID

电子邮件归档提供者基于消息线程生成。

用于私人会议的 RFC 822 电子邮件归档标题字段

发件人:

聊天会话发起者。

收件人:

其他参与者以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

聊天会话发起者。

主题:

如果会议设置了主题,则使用会议主题。如果没有设置主题,则使用第一条长度超过 50 个字符的有用消息。

日期:

归档提供者电子邮件消息的创建日期。

回复至:

未使用。

X-XMPP-消息-ID

电子邮件归档提供者基于会议 ID 生成。

用于公共会议的 RFC 822 电子邮件归档标题字段

发件人:

归档数据中的第一个发件人。

收件人:

关联的邮件列表、拥有会议室明确访问权限的用户以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

未使用。

主题:

[会议名称] 主题。

日期:

归档提供者创建电子邮件消息的日期。

回复至:

未使用。

X-XMPP-消息-ID

电子邮件归档提供者基于会议 ID 生成。

用于轮询问题及回复的 RFC 822 电子邮件归档标题字段

发件人:

轮询发件人。

收件人:

轮询发件人以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

未使用。

主题:

轮询问题。

日期:

归档提供者电子邮件消息的创建日期。

回复至:

未使用。

X-XMPP-消息-ID

由电子邮件归档提供者生成。

仅用于轮询回复的 RFC 822 电子邮件归档标题字段

发件人:

轮询发件人。

收件人:

轮询收件人以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

轮询发件人。

主题:

轮询问题。

日期:

归档提供者电子邮件消息的创建日期。

回复至:

未使用。

X-XMPP-消息-ID

由电子邮件归档提供者生成。

用于警报的 RFC 822 电子邮件归档标题字段

发件人:

警报发件人。

收件人:

警报收件人以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

未使用。

主题:

警报主题。

日期:

归档提供者电子邮件消息的创建日期。

回复至:

未使用。

X-XMPP-消息-ID

由电子邮件归档提供者生成。

用于新闻频道发布的 RFC 822 电子邮件归档标题字段

发件人:

新闻频道发布的发件人。

收件人:

与新闻频道相关联的邮件列表以及 iim.conf 中配置的任何管理员。参见表 18–1 以获得更多信息。

抄送:

未使用。

主题:

新闻频道发布的主题。

日期:

归档提供者电子邮件消息的创建日期。

回复至:

未使用。

X-XMPP-消息-ID

电子邮件归档提供者基于新闻频道 ID 生成。

管理 Instant Messaging 门户归档

以下主题说明使用 Instant Messaging 门户归档:

Instant Messaging 门户归档概述

Instant Messaging 门户归档提供者的功能包括以下各项:

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

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

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

警报 - 所有警报消息。

轮询 - 所有轮询消息。

新闻 - 新闻频道中发布的所有消息。

Instant Messaging 门户归档包含以下组件:

归档和检索组件 - “Portal Server 搜索”组件,也称为“归档和检索”组件,用于存储归档的“即时消息”。Instant Messaging 归档数据被创建索引并可存储于“Portal Server 搜索”数据库中。您还可以指定归档数据的类别。例如,您可以将警报消息存储于“警报”类别中。将数据存储在单独的类别中,有助于简化搜索操作和启用快速检索归档的数据。

Instant Messaging 归档搜索或显示 Servlet - 当最终用户搜索特定的文档匹配条件时,“Portal Server 搜索”将获取匹配此条件的页面。这些页面可以是远程 Web 页面或 Instant Messaging 归档数据(也称为 Instant Messaging 资源描述符)。

Instant Messaging 归档提供者 - 归档即时消息时,Instant Messaging 服务器始终会调用此组件。“Instant Messaging 归档提供者”根据 Instant Messaging 服务器提供的数据生成与“资源描述符 (RD)”兼容的“摘要对象交换格式 (SOIF)”。“归档提供者”使用“Portal Server 搜索 API”将这些“资源描述符”发送到“Portal Server 搜索”数据库,并为要提交到“Portal Server 搜索”数据库的记录维护缓冲,以降低性能损失。

图 18–1 展示了 Instant Messaging 门户归档组件。

图 18–1 Instant Messaging 门户归档组件

本图所示为 Instant Messaging 门户归档组件和数据流。

启用和禁用门户归档提供者

您可通过修改 iim.conf 中的参数来启用 Instant Messaging 归档提供者或您自定义的归档提供者。

Procedure启用 Instant Messaging 门户归档提供者

开始之前

确保您已经如启用 Instant Messaging 归档中所述启用了 Instant Messaging 的归档。

  1. 打开 iim.conf

    有关查找和修改 iim.conf 的说明,参见iim.conf 文件语法

  2. 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
    
  3. 如果您运行的是 Sun JavaTM System Portal Server 7 2006Q1 或更高版本,请提供以下参数的值:


    iim_arch.portal.search="Portal Server 搜索 URL"

    其中,Portal Server 搜索 URL 是 Portal Server 的“搜索 URL”。例如:


    iim_arch.portal.search="http://portal.siroe.com:8080/search1/search"
  4. 保存并关闭 iim.conf

  5. 刷新 Instant Messaging 服务器配置。


    imadmin refresh
    
  6. 以 amadmin 身份登录到 psconsole

    有关说明,请参阅 Portal Server 文档。

  7. 选择“管理频道和容器”。

  8. 选择托管搜索功能的门户和组织。

  9. 从 DP XML 树视图中选择“IMChannel”。

  10. 输入搜索服务器 URL 作为“searchServer”的值。

    例如:


    http://portal.siroe.com:8080/search1/search
    
  11. 保存属性。

Procedure禁用门户归档提供者

  1. 打开 iim.conf

    有关更多信息,参见iim.conf 文件语法

  2. iim_server.msg_archive.provider 参数中删除 com.iplanet.im.server.IMPSIMArchive 值。

  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器配置。


    imadmin refresh
    

配置 Instant Messaging 门户归档提供者

“Instant Messaging 归档提供者”将归档的消息存储为“Portal Server 搜索”数据库中的资源描述符 (RD)。归档提供者使用“Portal Server 搜索”模式的以下字段:

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

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

表 18–2 显示归档提供者中每个类别的唯一 ID 及说明。

表 18–2 归档提供者类别的唯一 ID 和说明

类别 

唯一 ID 

会议 

聊天 

RoomName-StartTime

其中: 

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

StartTime - RD 的创建时间戳

警报 

Alert-messageID

其中: 

messageID - 要归档的消息的消息 ID。当 RD 只包含一条消息时,消息 ID 有重要级别。例如“新闻”消息和“警报”消息。

轮询 

Poll-pollID

新闻 

TopicName-messageID

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

对 RD 的搜索访问由 ReadACL 字段中的值控制。如果启用了文档级安全,则最终用户仅当 ReadACL 字段中有最终用户的 DN 时才能访问搜索结果。

说明 - 此字段包含不带 HTML 格式的归档消息。

全文本 - 此字段包含 HTML 格式的归档消息。

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

Procedure配置归档提供者

  1. 打开 iim.conf

    有关查找和修改 iim.conf 的说明,参见附录 A,iim.conf 中的 Instant Messaging 配置参数

  2. 根据需要添加或编辑归档提供者配置参数。

    有关您可以修改的参数的列表,参见表 A–8

  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器。

Procedure将归档消息存储在非默认数据库中

使用此过程可配置 Instant Messaging 在非默认的数据库中存储归档消息。

  1. 打开 iim.conf

    有关查找和修改 iim.conf 的说明,参见附录 A,iim.conf 中的 Instant Messaging 配置参数

  2. 对于默认的归档提供者,请添加:


    iim_arch.portal.search.database = database-name
    

    其中,database-name 是非默认数据库的名称。

  3. 保存并关闭 iim.conf

  4. 修改 Portal Server 搜索频道。

    更改 Portal Server 搜索频道以添加在其他数据库中搜索数据的选项。有关更多信息,参见 Sun Java System Portal Server 桌面自定义指南

  5. 转至 IMProvider 目录。

    例如:


    cd /etc/opt/SUNWps/desktop/default_locale/IMProvider/
    

    其中,locale 是您的部署中使用的语言环境。例如,default_jaen_US。另外,如果创建多个 Instant Messaging 实例,/default 目录的名称会因实例不同而各异。

  6. 创建 IMArchiveDisplay.jsp 文件的备份。

  7. 打开 IMArchiveDisplay.jsp 文件。

  8. 搜索 IMArchiveDisplay.jsp 文件,找到以下两行代码:


    <search:setQuery query = "<%= scope %>"/>
     <search:setRDMType rdmType = "rd-request"/>
  9. 在上一步骤中所示的两行代码之间,添加下列代码行:


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

    添加新代码行之后,该代码段应如下所示:


    <search:setQuery query = "<%= scope %>"/>
     <search:setDatabase database = "database-name"/>
    <search:setRDMType rdmType = "rd-request"/>
                            

    其中,database-name 是非默认数据库的名称。

  10. 以实际的服务器主机名替换虚拟的搜索服务器。

  11. 保存并关闭 IMArchiveDisplay.jsp

管理 Portal Server 搜索数据库中的归档数据


注 –

这些说明是特定于 Solaris 的。


Instant Messaging 数据以资源描述符 (RD) 的形式归档于“Portal Server 搜索”数据库中。“Portal Server 搜索”数据库中的单个条目称为资源描述符 (RD)。一个 RD 是特定的一组关于单个资源的信息。每个 RD 的字段由“Portal Server 搜索”数据库模式确定。

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

有关管理“Portal Server 搜索”数据库中数据的更多信息,参见 Sun Java System Portal Server 管理指南

rdmgr 命令

rdmgr 命令是用于处理“搜索”服务的主要命令。它为管理员提供两种子命令:一种用于处理资源描述符 (RD),而另一种用于数据库维护。rdmgr 命令通常在具有搜索功能的 Portal Server 实例目录中运行。

Procedure调用 rdmgr 命令

  1. 转至 https-servername 目录。


    cd /var/opt/SUNWps/https-servername
    

    其中,servername 是 Portal Server 的名称

  2. 在命令行键入命令:


    run-cs-cli portal-svr-base/SUNWps/bin/rdmgr options
    

    其中,portal-svr-base 是 Portal Server 的安装目录。

    有关 rdmgr 命令的更多信息,参见 Sun Java System Portal Server 管理指南中的“命令行实用程序”。

搜索资源描述符

运行带有参数值 -Qrdmgr 命令会生成用于完善搜索操作的资源描述符 (RD) 列表。

例如:

删除资源描述符

以下是从“Portal Server 搜索”数据库删除资源描述符 (RD) 的示例:

要删除所有包含文本 testing 的资源描述符 (RD),键入:


run-cs-cli portal-svr-base/SUNWps/bin/rdmgr -d -Q testing

要删除所有来自类别 Archive:Chat:January 的资源描述符 (RD),键入以下命令。将该命令作为一行输入:


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 搜索”的默认模式中更改了“标题”和“全部文本”的属性名称,这些更改也应该反映在 IMArchiveDisplay.jsp 文件中。

Procedure修改默认系统消息

  1. 编辑 IMArchiveDisplay.jsp

  2. IMArchiveDisplay.jsp 中搜索以下代码行:


    ....
    ht.put("has_joined_the_room","<span class='user'> {0} </span>
    <span class='headervalue'> has joined the room.</span>");
    ....
  3. 以所需的文本替换 headervalue

    例如:


    ....
    ht.put("has_joined_the_room","<span class='user'> {0} </span>
    <span class='headervalue'> has entered the room.</span>");
    ....

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

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


示例 18–1 统一归档相关的 Instant Messaging 数据

为每种类型的数据创建单独的类别。例如,在存储了全部归档的 Instant Messaging 数据的“归档”类别中,创建名为“聊天”的子类别来存储聊天消息。也可以创建根据时间归档数据的子类别。例如,要归档 2002 年 12 月的聊天数据,子类别将为:

Archive:Chat:2002:12


Procedure基于时间归档所有 Instant Messaging 聊天数据

  1. 转至 im-cfg-base 目录。

    有关查找 im-cfg-base 的信息,参见Instant Messaging 服务器目录结构

  2. 打开 iim.conf

    有关查找和修改 iim.conf 的说明,参见iim.conf 文件语法

  3. iim_arch.chat.categoryname 添加以下值:

    iim_arch.chat.categoryname = Archive:Chat:%Y:%M

    归档提供者自动为 %Y 分配当前的年份,并为 %M 分配当前的月份。这些值取自系统日期和时间。

Procedure归档和备份 2005 年 12 月的 Instant Messaging 聊天数据到子类别

  1. 键入以下命令:


    rdmgr -Q "classification=Archive:Chat:2005:12" > archive.soif
    
  2. archive.soif 文件复制到您的备份系统。

Procedure从 Portal Server 搜索数据库删除 2005 年 12 月的 Instant Messaging 聊天数据

    在命令行键入以下命令:


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

使用自定义的归档提供者

除了门户和电子邮件归档以外,您可以选择使用自定义的归档提供者。

Procedure启用自定义的归档提供者

开始之前

确保您已经如启用 Instant Messaging 归档中所述启用了 Instant Messaging 的归档。

  1. 打开 iim.conf

    参见 iim.conf 文件语法以获得有关查找和修改 iim.conf 的说明。

  2. 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
    
  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器配置。


    imadmin refresh
    

Procedure禁用自定义的归档提供者

  1. 打开 iim.conf

    有关更多信息,参见iim.conf 文件语法

  2. iim_server.msg_archive.provider 参数中仅删除自定义归档提供者的值。

  3. 保存并关闭 iim.conf

  4. 刷新 Instant Messaging 服务器配置。


    imadmin refresh