Sun Java System Communications Express 6.3 管理指南

第 7 章 将个人通讯录数据迁移到 Address Book Server

以前在 Sun Java System Messaging Server 中使用个人通讯录 (Personal Address Book, PAB) 存储用户的联系人,而且只有部署在 Messaging Server 上的基于 Web 的客户端才能访问 PAB。Communications Express 的 Messaging Server 使用 Address Book Server 而不是 PAB 来存储用户的联系人详细信息。因此,使用现有 Messaging Server 安装来访问 Communications Express 的用户必须将 PAB 数据迁移到 Address Book Server。

迁移部署方案

    可以从以下位置来执行迁移:

  1. 指向默认单个 PAB 主机的单个 Messenger Express 实例。

  2. 指向多个 PAB 主机的单个 Messenger Express 实例。

  3. 指向多个 PAB 主机并设置默认 PAB 主机的单个 Messenger Express 实例。

  4. 指向单个 PAB 主机的多个 Messenger Express 实例。

  5. 指向多个 PAB 主机的多个 Messenger Express 实例。

迁移方案

可以通过两种方式进行数据迁移:

动态迁移

现有 Messenger Express 用户登录到 Communications Express 时,会发生动态迁移。在迁移完成后,用户会收到一封电子邮件。

    在动态迁移过程中:

  1. 应用程序通过检查 pab_mig_required 参数来查看是否在 uwcuath.properties 文件中启用了迁移。

    如果 pab_mig_required 参数设置为 true,则启动迁移过程。

  2. 接着登录逻辑对用户 LDAP 条目中的 nswmextendedprefs 属性进行比较。它会检查 mepabmigration 参数的值来确定先前是否迁移了用户数据。

  3. 完成 PAB 迁移后,Address Book Server 会将已登录用户条目中的 nswmextendedprefsmepabmigration 属性设置为 1,表示已完成迁移过程。

  4. 在将 PAB 数据成功迁移到 Address Book Server 之后,用户会收到一封邮件。

要接收邮件,必须在 migrate.properties 文件中设置参数。

表 7–1 PAB 迁移电子邮件参数

参数 

默认值 

描述 

emailReqd

True 

允许在成功迁移 PAB 数据后发送邮件。 

可接受的值为 "True" 和 "False"。 

smtphost

本地邮件主机 

例如:budgie.siroe.com

指定 SMTP 中继主机名。 

smtpport

25 

指定 SMTP 中继端口。 

mailsubject

PAB 迁移状态 

指定邮件的主题。 

from

admin@hostname

指定发件人的姓名。 


提示 –

建议管理员向所有用户发送一封电子邮件,通知他们在第一次登录过程中将触发 PAB 数据迁移,因此,他们在初始会话期间将不会看到通讯录数据。如果用户在两三天后还无法看到数据,就应该与管理员联系。


批量迁移

批量迁移过程是在服务器级进行的,不需要最终用户执行交互操作。管理员执行 runMigrate.sh 批处理脚本来迁移给定域中的邮件用户 PAB 数据。对于多个域中的邮件用户,管理员必须针对每个域调用 runMigrate.sh 脚本,以将用户 PAB 数据从给定 inetDomainBaseDN 迁移到 Address Book Server。

执行批量迁移

应在 runMigrate.sh 脚本中设置以下参数。此脚本位于 uwc-deployed-path/WEB-INF/classes 目录中。

执行批量迁移脚本。


# ./runMigrate.sh

如果批量迁移失败,会在命令行提示符下显示异常。

迁移单个用户和一组用户

管理员可以使用迁移脚本迁移所有用户、单个用户或一组用户。如果运行批量迁移脚本时不带任何选项,则迁移整组用户。要迁移单个用户,可以指定用户的用户 ID。要迁移一组用户,应该使用文本文件提供用户列表。runMigrate.sh 命令语法如下:

./runMigrate.sh{ [-u < [uid] |  [-f <uids-file]} [-h]

其中:

数据迁移过程

Communications Express 使用迁移脚本将用户的 Messenger Express 通讯录数据迁移到属于 Communications Express 一部分的 Address Book Server。

图 7–1 数据迁移过程概述

数据迁移

Messenger Express 的 LDAP PAB 树中的数据迁移到 Address Book Server 的 LDAP PAB 树中。下面的示例以图解方式说明了迁移过程。

siroe.com 中的 User1 在 PAB 中有一个需要迁移的条目(如 Entry1),该条目位于 PAB 树的 ou=User1 下,如图 7–2 中所示。

图 7–2 Entry1 在 PAB 树中的位置

PAB 树结构

迁移后,新建的 Address Book Server 条目会添加到 Address Book Server 树的 o=siroe.com, piEntryID=Entry 1 下,如图 7–3 中所示。

图 7–3 Entry 1 在 Address Book Server 树中的位置

Address Book Server 树


注 –

用户首次登录时,迁移实用程序会将 Messenger Express 的 PAB 中所有数据迁移到 Communications Express 的通讯录中。但是,在将数据迁移到通讯录之后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 的通讯录中。反之亦然。


后续配置步骤

需要配置 Communications Express 来启用迁移。


注 –

迁移所需的配置参数必须由管理员手动提供。


下表列出了迁移脚本依赖的配置文件。

表 7–2 配置文件及其用途

文件名 

描述 

migrate.properties

包含将数据从 PAB 迁移到 Address Book Server 所需的参数。 

uwcauth.properties

迁移实用程序参考该文件来确定是否需要迁移。 

迁移工具会检查 pab_mig_required 值。如果该值为 true,将会进行动态迁移。

uwcconfig.properties

管理员可以提供日志级别并启用日志,以用于错误诊断。默认情况下,日志级别参数 log.level 处于禁用状态,设置为 0

runMigrate.sh

(仅适用于批量迁移) 

此脚本用于执行批量迁移。它通过以下三个参数设置所需变量及调用 Java 程序 MigratePab

# migrate.properties 文件的绝对路径。将默认路径设置为:../WEB-INF/config/migrate.properties

# uwcauth.properties 和其他配置文件所在配置目录的绝对路径。将默认路径设置为:../WEBINF/config

# 用户的 inetDomainBaseDN

需要适当编辑此文件以提供必需的路径和参数。 

xlate-pabperson.xml ()

xlate-pabgroup.xml ()

迁移实用程序在内部使用 Communications Express 的通讯录 API,从 Messenger Express 的 PAB 装入数据。  

将 PAB 的 LDAP 属性映射到 Address Book Server 的通讯录属性必须使用 xlate 文件。这些文件位于 uwc-deloyed-path/WEB-INF/config/ /ldapstore/migrate 中。

系统根据用户的邮件主机检索下表中列出的 PAB 配置条目以及建立与 PAB Server 的连接。

表 7–3 migrate.properties 中可配置的 PAB 迁移参数

参数 

默认值 

描述 

hostname.pabldappoolmin

指定要为 PAB LDAP 创建的最小 LDAP 用户连接数 

hostname.pabldappoolmax

20 

指定要为 PAB LDAP 创建的最大 LDAP 用户连接数 

hostname.pabldappooltimeout

50 

指定 LDAP 连接超时前的秒数 

hostname.alwaysusedefaulthost

指定是使用 PAB URI 中提到的用户 PAB 主机,还是使用所维护的列表中的第一个全限定 PAB 主机名。 

如果设置为 1,则使用第一个全限定 PAB 主机来检索 PAB 条目

delete_pabentry

允许在成功迁移后删除 PAB 条目和 PABURI 

maxthreads

10 

指定迁移线程数 

mailhost.pabhosts

将邮件主机名分配给 PAB 条目所在 PAB 主机的列表。 

指定 PAB 主机列表 

mailhost.pabports

 

指定 PAB 主机的端口号 

mailhost.pabbinddns

 

指定 PAB 的绑定 DN 

mailhost.pabpasswds

 

指定绑定到 PAB 的用户的密码 

<pabhost.pabport>.abhostport=< abldaphost>:<abldapport>

 

指定 migrate.properties 文件的查找表中可用的 pabhostpabport 条目。

在此参数中,<pabhost.pabport> 指源目录实例,<abldaphost><abldaport> 指要向其迁移 PAB 数据的目标目录实例。

表 7–4 联系人的字段映射

PAB 

通讯录 

cn

DisplayName

sn

sn

givenName

givenName

telephonenumber

piPhone1Type:work

piPhone1:

homephone

piPhone2Type:home

piPhone2:

pager

piPhone4Type:pager

piPhone4:

mobile

piPhone3Type:mobile

piPhone3:

facsimiletelephonenumber

piPhone5Type:fax

piPhone5:

mail

piEmail1Type:work

piEmail1:

   

postoffice+street

homePostalAddress

l

homecity

st

homeState

postalcode

homePostalCode

co

homeCountry

labeleduri

piWebsite1

description

description

   

memberofpabgroup

memberOfOIGroup

dateOfBirth

dateOfBirth


注意 – 注意 –

由于 Messenger Express 中存在限制,如果以非 MM/DD/YY 格式指定了出生日期,则迁移此属性时可能会出现错误。但是,可以在迁移后编辑此属性,并将其设置为正确的日期。有关如何设置此属性的说明,请参阅联机帮助。


表 7–5 组的字段映射

PAB 

通讯录 

cn

displayName

description

description