以前 Sun Java System Messaging Server 使用个人通讯录 (Personal Address Book, PAB) 来存储用户的联系人,而且只有部署在 Messaging Server 上的基于 Web 的客户端才可以访问 PAB。Communications Express 的 Messaging Server 使用 Addressbook Server 而不是 PAB 来存储用户的联系人详细信息。因此,使用现有 Messaging Server 安装来访问 Communications Express 的用户必须将 PAB 数据迁移到 Address Book Server。
本章包含以下部分:
迁移工具将用户的 Messenger Express 通讯录数据迁移到 Addressbook Server(Communications Express 的一个组件)。
将位于 Messenger Express 的 LDAP PAB 树中的数据迁移到 Addressbook Server 的 LDAP PAB 树。下面的示例以图解方式说明了迁移过程。
域 siroe.com 中的 User1 在 PAB 中有一个需要迁移的条目(如 Entry1),该条目位于 PAB 树中的 ou=User1 之下,如图 7-2 中显示的绿色部分。
在迁移后,新创建的 Addressbook Server 条目会添加到 Addressbook Server 树的 o=siroe.com 下,如图 7-3 中显示的红色部分 piEntryID=Entry 1。
在用户第一次登录时,迁移实用程序会将 Messenger Express PAB 中的所有数据迁移到 Communication Express 的通讯录中。但是,在将数据迁移到通讯录之后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 的通讯录中。反之亦然。
可以通过两种方式进行数据迁移:
当现有 Messenger Express 用户登录到 Communication Express 时,将会发生动态迁移。在迁移完成后,用户会收到一封电子邮件。
在动态迁移过程中:
应用程序检查是否已在 uwcuath.properties 文件中启用迁移,然后继续执行迁移过程。
接下来,登录逻辑将用 mepabmigration 值比较 nswmextendedprefs 属性,以确定先前是否已迁移了用户数据。
在 PAB 迁移完成后,Addressbook Server 会将登录用户条目中的 nswmextendedprefs 的 mepabmigration 设置为 1,表示已完成迁移过程。
在将 PAB 数据成功迁移到 Address Book Server 之后,用户会收到一封邮件。
要接收邮件,必须定义后续配置步骤中提到的参数。
在批量迁移过程中,迁移是在服务器层进行的,并不需要最终用户的交互作用。管理员执行 runMigrate.sh 批处理脚本来迁移给定域中的邮件用户 PAB 数据。对于多个域中的邮件用户,管理员必须为每个域调用 runMigrate.sh 脚本,以将用户 PAB 数据从给定 inetDomainBaseDN 迁移到 Address Book Server。
您需要配置 Communications Express 以启用迁移。
请注意,迁移所需的配置参数必须由管理员手动提供。
表 7-1 列出了迁移实用程序所依赖的配置文件。
表 7–1 配置文件及其用途
文件名 |
描述 |
---|---|
migrate.properties |
包含将数据从 PAB 迁移到 Address Book Server 所需的参数。有关这些参数的信息,请参阅后续配置步骤。 |
uwcauth.properties |
由迁移实用程序引用,以确定是否需要迁移。 迁移工具检查 pab_mig_required 的值。如果该值为 true,则进行动态迁移 |
uwcconfig.properties |
管理员可以提供日志级别并启用日志,以用于错误诊断。默认情况下将禁用此参数。 |
runMigrate.sh (仅适用于批量迁移) |
脚本使用以下三个参数来设置所需变量并调用 java 程序 MigratePab。 # migrate.properties 文件的绝对路径。将默认路径设置为:../WEB-INF/config/migrate.properties # uwcauth.properties 和其他配置文件所在 config 目录的绝对路径。将默认路径设置为:../WEBINF/config # 用户的 inetDomainBaseDN 需要适当编辑此文件以提供必需的路径和参数。 |
xlate-pabperson.xml(后续配置步骤) xlate-pabgroup.xml(后续配置步骤) |
迁移实用程序在内部使用 Communications Express 的通讯录 API,以便从 Messenger Express 的 PAB 装入数据。 必须使用 xlate 文件,才能将 PAB 的 LDAP 属性映射到 Addressbook Server 的通讯录属性。 |
将基于用户的邮件主机检索在表 7-2 中列出的 PAB 配置条目并建立与 PAB Server 的连接。
表 7–2 migrate.properties 中可配置的 PAB 迁移参数
参数 |
默认值 |
描述 |
---|---|---|
hostname.pabldappoolmin |
4 |
指定要为 PAB LDAP 创建的 LDAP 用户连接的最小数目。 |
hostname.pabldappoolmax |
20 |
指定要为 PAB LDAP 创建的 LDAP 用户连接的最大数目。 |
hostname.pabldappooltimeout |
50 |
指定 LDAP 连接超时前的秒数。 |
hostname.alwaysuse defaulthost |
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–3 联系人的字段映射
PAB |
通讯录 |
---|---|
cn |
DisplayName |
sn |
sn |
givenName |
givenName |
telephonenumber |
piPhone1Type:办公 piPhone1: |
homephone |
iPhone2Type:主页 piPhone2; |
寻呼机 |
piPhone4Type:寻呼机 piPhone4: |
mobile |
piPhone3Type:mobile piPhone3: |
facsimiletelephonenumber |
piPhone5Type:fax piPhone5: |
|
piEmail2Type:主页 piEmail1: |
mailalternateaddress |
piEmail2Type:办公 piEmail2: |
postoffice+street |
homePostalAddress |
l |
homecity |
st |
homeState |
邮政编码 |
homePostalCode |
co |
homeCountry |
labeleduri |
piWebsite1 |
description |
description |
memberofpab |
memberOfPIBook |
memberofpabgroup |
memberOfOIGroup |
表 7–4 组的字段映射
PAB |
通讯录 |
---|---|
cn |
displayName |
description |
description |
要接收邮件,必须定义表 7-5 中提到的参数。
表 7–5 PAB 迁移电子邮件参数
参数 |
默认值 |
描述 |
---|---|---|
emailReqd |
True |
允许在成功迁移 PAB 数据后发送邮件。 可接受的值为 "True" 和 "False"。 |
smtphost |
本地邮件主机 例如:budgie.siroe.com |
指定 SMTP 中继主机名。 |
smtpport |
25 |
指定 SMTP 中继端口。 |
mailsubject |
PAB 迁移状态 |
指定邮件的主题。 |
from |
admin@hostname |
指定发件人的姓名。 |
建议管理员为所有用户发送一封电子邮件,通知他们在第一次登录过程中将触发 PAB 数据迁移,因此,他们在初始会话期间将不会看到通讯录数据。如果用户在两到三天后还无法看到数据,他们应该与管理员取得联系。
用户 LDAP 条目中的属性 psRoot 是符合 Addressbook Server 的 URL,它定义了用于存储和检索用户个人通讯录条目的 LDAP 位置。psRoot 属性允许管理员置备用户,以便将所有用户的 PAB 数据分布在多个目录位置中。
对于现有的 Web 邮件用户,如果启用了 PAB 迁移,则使用现有的 pabURI 属性构建 psRoot 属性,并在 uwc-deploy-dir/WEB-INF/config/migrate.properties 中定义一个映射表。
migrate.properties 文件中的查找表包含以下格式的 pabhost 和 pabport 条目:
pabhost.pabport.abhostport = abldaphost:abldapport
其中,pabhost.pabport 指源目录实例,abldaphost 和 abldaport 指需要向其迁移 PAB 数据的目标目录实例。
因此,如果要将 pab 数据从在 pab.example.com:389 上运行的目录迁移到在 abs.example.com:389 上运行的通讯录目录,则 migrate.properties 文件中的条目应显示为:
pab.example.com.389.abhostport = abs.example.com:389
可以在 migrate.properties 文件中找到所有需要的查找结果。如果某个用户的 pabURI 属性使用 pabhost 和 pabport,则使用默认 psRoot 模式构建的 psRoot 将具有以下格式:
ldap://abldaphost:abldapport/piPStoreOwner=%U,o=%D,o=PiServerDb
如果没有为 pabURI 值定义查找,也就是说,在映射表中未提供与 pabURI 匹配的条目,则 pabhost 和 pabport 值将用作 abldaphost 和 abport 的默认值。这意味着,如果没有映射表,则 Messaging Server 中的 PAB 条目将按照通讯录模式迁移到同一目录实例中的其他根目录。在此方案中,[目标] 目录实例与 [源] 目录实例相同。
修补程序的安装程序未定义查找表。您需要在安装修补程序后定义查找表,然后重新启动 Web 服务器。
请确保在该域的 personalstore.properties 所指向的 db_config.properties 文件中定义了 abldaphost:abldapport Directory Server 实例。
可以从以下位置来执行迁移:
指向默认单个 PAB 主机的单个 Messenger Express 实例。
指向多个 PAB 主机的单个 Messenger Express 实例。
指向多个 PAB 主机并设置默认 PAB 主机的单个 Messenger Express 实例。
指向单个 PAB 主机的多个 Messenger Express 实例。
指向多个 PAB 主机的多个 Messenger Express 实例。