以前在 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。
可以从以下位置来执行迁移:
指向默认单个 PAB 主机的单个 Messenger Express 实例。
指向多个 PAB 主机的单个 Messenger Express 实例。
指向多个 PAB 主机并设置默认 PAB 主机的单个 Messenger Express 实例。
指向单个 PAB 主机的多个 Messenger Express 实例。
指向多个 PAB 主机的多个 Messenger Express 实例。
可以通过两种方式进行数据迁移:
现有 Messenger Express 用户登录到 Communications Express 时,会发生动态迁移。在迁移完成后,用户会收到一封电子邮件。
在动态迁移过程中:
应用程序通过检查 pab_mig_required 参数来查看是否在 uwcuath.properties 文件中启用了迁移。
如果 pab_mig_required 参数设置为 true,则启动迁移过程。
接着登录逻辑对用户 LDAP 条目中的 nswmextendedprefs 属性进行比较。它会检查 mepabmigration 参数的值来确定先前是否迁移了用户数据。
完成 PAB 迁移后,Address Book Server 会将已登录用户条目中的 nswmextendedprefs、mepabmigration 属性设置为 1,表示已完成迁移过程。
在将 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 目录中。
BASE_DIR:将此参数设置为 Communications Express 安装的 uwc-deployed-path。
JAVA_HOME:将此参数设置为 Java 的安装目录。
o=siroe.com, o=isp:将 siroe.com 和 isp 的值替换为已配置域的 inetDomainBaseDN。
执行批量迁移脚本。
# ./runMigrate.sh |
如果批量迁移失败,会在命令行提示符下显示异常。
管理员可以使用迁移脚本迁移所有用户、单个用户或一组用户。如果运行批量迁移脚本时不带任何选项,则迁移整组用户。要迁移单个用户,可以指定用户的用户 ID。要迁移一组用户,应该使用文本文件提供用户列表。runMigrate.sh 命令语法如下:
./runMigrate.sh{ [-u < [uid] | [-f <uids-file]} [-h]
其中:
-u 选项指示 runMigrate 脚本要迁移单个用户。—u 选项后面应接要迁移的用户的用户 ID。例如:
./runMigrate.sh -u user1
-f 选项指示 runMigrate 脚本要迁移已在文件中指定的一组用户。—f 选项后面应接文件的名称,其中要求该文件包含要迁移的选定用户组的用户 ID。例如:
./runMigrate.sh -f usersToMigrate.txt
usersToMigrate.txt 文件中,每行一个用户 ID。例如:
user1 user2 user3 ... .... 等等
Communications Express 使用迁移脚本将用户的 Messenger Express 通讯录数据迁移到属于 Communications Express 一部分的 Address Book Server。
Messenger Express 的 LDAP PAB 树中的数据迁移到 Address Book Server 的 LDAP PAB 树中。下面的示例以图解方式说明了迁移过程。
域 siroe.com 中的 User1 在 PAB 中有一个需要迁移的条目(如 Entry1),该条目位于 PAB 树的 ou=User1 下,如图 7–2 中所示。
迁移后,新建的 Address Book Server 条目会添加到 Address Book Server 树的 o=siroe.com, piEntryID=Entry 1 下,如图 7–3 中所示。
用户首次登录时,迁移实用程序会将 Messenger Express 的 PAB 中所有数据迁移到 Communications Express 的通讯录中。但是,在将数据迁移到通讯录之后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 的通讯录中。反之亦然。
需要配置 Communications Express 来启用迁移。
迁移所需的配置参数必须由管理员手动提供。
下表列出了迁移脚本依赖的配置文件。
表 7–2 配置文件及其用途
系统根据用户的邮件主机检索下表中列出的 PAB 配置条目以及建立与 PAB Server 的连接。
表 7–3 migrate.properties 中可配置的 PAB 迁移参数
参数 |
默认值 |
描述 |
---|---|---|
hostname.pabldappoolmin |
4 |
指定要为 PAB LDAP 创建的最小 LDAP 用户连接数 |
hostname.pabldappoolmax |
20 |
指定要为 PAB LDAP 创建的最大 LDAP 用户连接数 |
hostname.pabldappooltimeout |
50 |
指定 LDAP 连接超时前的秒数 |
hostname.alwaysusedefaulthost |
1 |
指定是使用 PAB URI 中提到的用户 PAB 主机,还是使用所维护的列表中的第一个全限定 PAB 主机名。 如果设置为 1,则使用第一个全限定 PAB 主机来检索 PAB 条目 |
delete_pabentry |
0 |
允许在成功迁移后删除 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 文件的查找表中可用的 pabhost 和 pabport 条目。 在此参数中,<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: |
|
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 |