使用 IBM Rational ClearQuest V7.1.1 的多语言支持提升全球分布式开发团队的工作效率...

何 杰, 软件工程师, IBM
 
陈 弘, 软件工程师, IBM
 

简介: 本文将向您详细介绍 UTF-8 的背景以及它带来的好处,如何在 Rational ClearQuest v7.1.1 中创建 UTF-8 数据库集合,如何利用 ClearQuest 的工具导入导出多种语言的数据库模式(Schema)、包(Package)、查询(Query)、报告(Report)、报告格式(Report Format)、表单(Form)和动态列表(Dynamic list)。本文也将谈到 ClearQuest 的基本功能在 UTF-8 环境中的使用,最后本文将给出 UTF-8 数据库集合在全球分布团队中的应用实例。

IBM Rational ClearQuest 是业界领先的变更管理软件。在 ClearQuest v7.1.1 之前的版本中,用户在同一数据库集合(dbset)中只能存储特定语言字符,在全球分布式开发(GDD)模式广为流行的今天,这使得遍布全球的客户、开发团队以及管理团队只能采用特定语言进行交流,增加了客户的沟通成本,降低了需求反馈的收集效率。为了解决这一问题 ClearQuest 在 v7.1.1 及以后的版本中引入了对 UTF-8 代码页的支持,通过创建 UTF-8 代码页的数据库集合,用户可以在同一数据库中存储多种语言的数据,解决了长期以来采用全球分布式开发模式的企业不能使用统一数据库集合跟踪变更管理记录的事实,大大增加了全球分布式协同工作的能力,提高了沟通效率,简化了 ClearQuest 数据库的管理,提升了产品竞争力。

UTF-8 简介及其在 ClearQuest 中的使用方式

UTF-8 简介

UTF-8 全称 Unicode Transformation Format-8。UTF-8 是 Unicode 的一种变长度的编码表达方式,现在已经标准化为 RFC 3629。UTF-8 以 8 位为单元对 UCS(Universal Character Set) 进行编码。为了与 ASCII 兼容(ASCII 为一个字节),UTF-8 选择了使用可变长度字节来储存 Unicode。UTF-8 是 ASCII 的一个超集。ASCII 码所包括的字符在 ASCII 码和 UTF-8 码中的编码一致。UTF-8 是可扩展标记语言文档的标准编码,任何面向字节的字符串搜索算法都可以用于 UTF-8 的数据。

为什么在 ClearQuest 中引入 UTF-8

采用 UTF-8 作为对于多语言的全面支持,可以充分的利用 ClearQuest 现有的数据代码页(Code Page)处理框架,降低开发实现的复杂度。此外,如果采用 UTF-16(Unicode Transformation Format-16) 作为数据代码页来支持多语言,需要对现有 ClearQuest 中的表进行升级(简称 Schema 升级),升级的复杂度提高。此外,由于 UTF-16 字符编码中含有 0X0000,有些语言对字符串处理时以 0X0000 作为字符串的结束符,这样如果用户希望对 UTF-16 数据集合的返回值进行处理将受到一定的限制,实现难度提高。因此 ClearQuest v7.1.1 采用 UTF-8。

UTF-8 在 ClearQuest 中的使用方式和限制条件

在创建 ClearQuest 数据集合时,65001(UTF-8)作为一种新增数据代码页,其使用方法和相关的基本操作保持和原有的数据代码页一致。目前,ClearQuest 支持 Oracle、DB2 以及 SQL Server 作为生产数据库。然而只有 Oracle 和 DB2 支持 UTF-8 数据代码页。所以 ClearQuest 的 UTF-8 数据代码页不支持 SQL Server。

ClearQuest 创建 UTF-8 数据库集合

创建 UTF-8 数据库集合的准备工作,步骤

安装 ClearQuest v7.1.1。建立数据代码页为 UTF-8 的物理数据库。Access 默认支持 UTF-8,无需额外的建库工作。在 Oracle 中建立 UTF-8 的数据库,选用 AL32UTF8 作为 National Character Set。然后根据需要创建 UTF-8 数据库的用户。在 IBM DB2 中建库,选用 UTF-8 作为 Code Set。根据需要确定创建数据库的数目。

在 ClearQuest v7.1.1 中,打开 ClearQuest 维护工具,输入 Schema Repository 数据库信息,ClearQuest 数据代码页选择 65001(UTF-8)( 如图 1 中所示 )。这里 65001(UTF-8) 作为一种单独的数据代码页供用户选择,操作上与原有的数据代码页区别不大,只是 65001 字符集中可以支持所有 Unicode 字符,原有的数据代码页只能支持某一地区的语言字符。

在创建 Sample 数据库的操作页面,因为 ClearQuest 的数据代码页是 65001(UTF-8),所以可以选择包括英语、日语和中文在内的所有数据库模式(Schema)。在生产环境中,数据库模式语言的选取可以根据项目的实际情况进行,一般主要考虑采用以往的项目采用的语言或者全球分布开发团队中大家认可的公共交流语言。

最终用户数据库中的样本(Sample)数据的语言与所选取的 Schema 的语言保持一致,如果选择 DefectTracking_zh 作为数据库模式,那么导入中文的样本数据,如果选择 DefectTracking_ja 作为数据库模式,则导入日文的样本数据。


图 1. ClearQuest 维护工具中选择数据库代码页 65001(UTF-8)
图 1. ClearQuest 维护工具中选择数据库代码页 65001(UTF-8)

实际建库过程的初始,ClearQuest 维护工具(Maintenace Tool)将检测 ClearQuest 的数据代码页是否与物理数据库的数据代码页匹配。比如:如果用户选用 SQL Server 数据库,ClearQuest 维护工具将以错误信息告知数据库不支持 65001(UTF-8)字符。

另外,用户在 ClearQuest Designer 创建用户数据库时,Designer 不检测物理数据库数据代码页是否与之相匹配。用户必须保证物理数据库的数据代码页能够支持 ClearQuest 的数据代码页,如果用户使用非 UTF-8 的物理数据库创建数据代码页为 65001(UTF-8)数据库,用户在创建的数据库中进行增删改查操作时可能无法正常工作。

多语言记录的操作

在 ClearQuest v7.1.1 建好的 UTF-8 的数据库集合中,允许输入所有的 Unicode 字符,输入的字符不需要和操作系统的数据代码页保持一致。在 Windows 操作系统上,为了保证所有东亚语言的字符都能够正确的输入,用户需要安装亚洲语言包。


图 2. 在 ClearQuest 提交记录表单中输入多语言字符串
图 2. 在 ClearQuest 提交记录表单中输入多语言字符串

图 2 中展示了提交缺陷表单的例子,在标题和描述中输入了多语言的字符串(内容为由日语、英语、韩语、中文和阿拉伯语中的“喂”组成的字符串 - 问候语)。


图 3. 在 ClearQuest 记录显示表单中展示数据库中多语言字符串
图 3. 在 ClearQuest 记录显示表单中展示数据库中多语言字符串

图 3 中是缺陷的展示表单,ClearQuest 正确的从用户数据库读取和展示多语言数据。在 65001(UTF-8)的数据集合中,我们看到不但可以在同一数据集合中存储不同语言的记录,而且同一记录也可以包含不同的语言。这样用户使用时可以根据需要选择合适的语言,最大可能降低了沟通成本,提高团队整体工作效率。

ClearQuest 创建 UTF-8 数据库集合的限制

ClearQuest v7.1.1 支持创建全新的 UTF-8 数据库集合,不支持将现有的非 UTF-8 的数据库升级为 UTF-8 数据库。

ClearQuest 向 UTF-8 数据库集合导入包

向 UTF-8 数据集合中导入包的方法和结果

ClearQuest 提供两种方式导入包:ClearQuest Designer 的程序包工具以及 ClearQuest 命令行工具。ClearQuest Designer 提供两种安装包的方式:应用程序包(Package Wizard)和升级已安装包(Upgrade Installed Packages。又称一键式升级,One Button Upgrade)。二者的区别在于,应用程序包(Package Wizard)用于导入单个的 Package,用户一次导入一个包或对一个已安装包升级;而升级已安装包(Upgrade Installed Packages)则相当于批处理,一次性将已安装的包升级到其最高可用版本。

图 4 中演示利用程序包(Package Wizard)导入多语言包。首先,打开 ClearQuest Designer,选中数据库模式(Schema),图中以 DefectTracking 为例。在右键菜单中选择“程序包”,然后选择“应用程序包”。


图 4. ClearQuest Eclipse Designer 中应用程序包
图 4. ClearQuest Eclipse Designer 中应用程序包

因为数据集合的数据代码页为 65001(UTF-8),所以在“程序包向导”页面列出了包括英语、日语和中文在内的所有包,我们可以根据需要加载。选中要应用的包,点击“完成”按钮。


图 5. ClearQuest Eclipse Designer 中应用程序包时选择要应用的程序包
图 5. ClearQuest Eclipse Designer 中应用程序包时选择要应用的程序包

在图 5 中,选择了 Notes 5.1.3 版本进行导入,在同一的数据库集合中可以继续导入其它 20127 US-ASCII 英文包,932(Japanese(Shift-JIS)) 日文包。

图 6 演示在 UTF-8 数据库集合中升级已安装包(Upgrade Installed Packages)。首先,打开 ClearQuest Designer,选中数据库模式(Schema),图中以 DefectTracking 模式为例。在右键菜单中选择“程序包”,然后选择“升级已安装包”。


图 6. ClearQuest Eclipse Designer 中升级已安装程序包
图 6. ClearQuest Eclipse Designer 中升级已安装程序包

ClearQuest Designer 将检查升级计划,列出所有需要升级的包列表(如图 7 所示)。点击“完成”按钮将完成一键式包升级。


图 7. ClearQuest Eclipse Designer 中升级已安装程序包时的升级计划
图 7. ClearQuest Eclipse Designer 中升级已安装程序包时的升级计划

ClearQuest 提供了强大的命令行工具来支持从命令行导入包,使得资深的 ClearQuest 管理员可以使用命令来代替用户界面上的操作,包的导入可以批量进行,也为自动化提供了有力支持。可使用如下命令工具来导入包。

导入单个包的命令:packageutil enableschema( 如图 8 所示 )


图 8. ClearQuest 中利用 packageutil 升级包
图 8. ClearQuest 中利用 packageutil 升级包

升级已安装包的命令:packageutil upgradeallpackages or upgradeschemapackages( 如图 9 所示 )


图 9. ClearQuest 中利用 packageutil 升级已安装包
图 9. ClearQuest 中利用 packageutil 升级已安装包

向 UTF-8 数据库集合导入包的规则

使用应用程序包(Package Wizard)在 UTF-8 数据库集合中导入包的规则

1)支持在同一个数据库模式(Schema)上导入英文,日文,中文包(如图 10 所示)。


图 10. ClearQuest Eclipse Designer 中列出已应用程序包
图 10. ClearQuest Eclipse Designer 中列出已应用程序包

2)英文包可以升级到它的英文或日文或中文的高可用版本(例如可以将 Notes 1.0 升级到 2.0 版本或 4.0.2 版本或者升级到 5.0.3 版本)。图 11 中演示了将 Notes 包 5.1 成功升级到中文版本 5.1.3.


图 11. ClearQuest Eclipse Designer 中成功升级英文 Notes 包时信息
图 11. ClearQuest Eclipse Designer 中成功升级英文 Notes 包时信息

3) 日文包只能升级到它的日文高可用版本,不能升级到英文或中文版本。图 12 展示了 ClearQuest 将会忽略这种升级并给出友好的提示信息。


图 12. ClearQuest Eclipse Designer 中将日文包升级到英文包时报错
图 12. ClearQuest Eclipse Designer 中将日文包升级到英文包时报错

4)中文包只能升级到它的中文高可用版本,不能升级到英文或日文版本。图 13 展示了 ClearQuest 将会忽略这种升级并给出友好的提示信息。


图 13. ClearQuest Eclipse Designer 中将中文包升级到英文包时报错
图 13. ClearQuest Eclipse Designer 中将中文包升级到英文包时报错

使用升级已安装包(Upgrade Installed Packages)向 UTF-8 数据集合导入包的规则:

1)在同一个数据库模式(Schema)上,在已安装的包中存在英文和日文包时,所有的包都将升级为最高可用版本的日文包。也就是说英文包将被升级为日文包。图 14 中演示了一个升级计划,Notes 3.0 将被升级为高版本的日文包 5.1.2,Resolution 1.0.2 升级为日文高版本 1.2.2。


图 14. ClearQuest Eclipse Designer 升级已安装包时的升级计划
图 14. ClearQuest Eclipse Designer 升级已安装包时的升级计划

2)如果在同一个数据库模式(Schema)上,在已安装的包中存在英文和中文的包时,所有的包都将升级为最高可用版本的中文包。也就是说英文包将被升级为中文包。图 15 中演示了一个升级计划,Notes 2.0 将被升级为高版本的中文包 5.1.3,Resolution 1.1.3 升级为同语言的中文高版本 1.2.3。


图 15. ClearQuest Eclipse Designer 升级已安装包时的升级计划
图 15. ClearQuest Eclipse Designer 升级已安装包时的升级计划

3)如果在同一个数据库模式(Schema)上,在已安装的包中出现中文和日文包并存的情况时,ClearQuest v7.1.1 不支持此种情况下的一键式升级,如果需要对某个包进行升级,可以使用应用程序包(Package Wizard)来完成。图 16 中给出了中文和日文包并存情况下升级,ClearQuest 给出的报错信息。


图 16. ClearQuest Eclipse Designer 中升级已安包时的错误
图 16. ClearQuest Eclipse Designer 中升级已安包时的错误

用命令行工具向 UTF-8 数据库集合中导入包的规则

用命令行工具导入包的规则和在用户界面上用程序包工具导入时相同,请参照上面的描述,这里不再赘述。

利用 ClearQuest 向 UTF-8 数据库集合导入历史数据

代码页头(code page header)以及 cpheader.pl 工具

从 ClearQuest v7.1.1 开始,引入了代码页头的概念,当数据库集合的数据代码页为 65001(UTF-8) 时,在导出工作区域项目(查询,图表,报告,报告格式)和用传统 ClearQuest Designer 导出表单(Form)文件,导出的文件前加上代码页头。该文件头包含导出文件的 ClearQuest 数据库的代码页信息,该文件头的使用确保了导出的文件能被正确的导入到代码页为 65001(UTF-8) 的 ClearQuest 数据库集合中。在 ClearQuest v7.1.1 之前的版本中,这些导出的工作区域项目和 Form. 文件不包含代码页头。

如果从 ClearQuest v7.1.1 之前的数据库集合中导出查询,图表,报告,报告格式,表单以及动态链表,导入 ClearQuest v7.1.1 建立的 UTF-8 数据库集合中,需要利用 cpheader.pl 加上数据代码页头。反之,需要把拥有代码页头的数据文件导入到 ClearQuest v7.1.1 之前的数据库集合中,需要利用 cpheader.pl 去除数据代码页头。

使用 cpheader.pl 命令可以迁移工作区域项目和用传统 ClearQuest Designer 导出的表单文件到代码页为 UTF-8 的数据库集合。UTF-8 支持几乎各种代码页字符,因此可以导入各种代码页数据到 UTF-8 的数据库集合。

需要注意的是 :ClearQuest Eclipse Designer 将表单导出成 XML 格式,它包含代码页的信息。因此不要对从 ClearQuest Eclipse Designer 导出的表单文件使用 cpheader 命令。

cpheader 的语法为:

cqperl cpheader.pl -a [ file-path | [ directory-path { regular-expression } ] ] code-page
cqperl cpheader.pl -s [ file-path | [ directory-path { regular-expression } ] ] 

举例说明:

1)添加西欧 1252 代码页头到文件 c:/all_defects.qry:

cqperl cpheader.pl -a c:/all_defects.qry 1252

2)添加简体中文 936 代码页头到文件夹 c:/queries 及其子目录下匹配正则表达式 .cfg$ 的所有文件:

cqperl cpheader.pl -a c:/queries .cfg$ 936

3)删除文件 c:/alldefect.qry 代码页头:

cqperl cpheader.pl -s c:/alldefect.qry

4)删除文件夹 c:/qrydir 及其子目录下所有文件的代码页头 :

cqperl cpheader.pl -s c:/qrydir

向 UTF-8 数据库集合导入查询、报告和报告格式

通过 ClearQuest 客户端和 bkt_tool 工具,我们可以向 UTF-8 数据库集合导入各种代码页查询、图表、报告和报告格式。从非 UTF-8 代码页的 ClearQuest 数据库集合中导出的查询、报告和报告格式,需要先使用 cpheader.pl 命令工具给查询、报告和报告格式文件加上正确的代码页头,才可以导入 UTF-8 数据库集合。

1)ClearQuest 有三种客户端:Windows 客户端、基于 Eclipse 客户端和 Web 浏览器客户端。其中基于 Eclipse 的客户端不支持导入报告和报告格式,Web 浏览器客户端不支持导入。这里主要介绍在 Windows 客户端中向 UTF-8 数据库集合导入查询、报告和报告格式。

登录 UTF-8 数据库集合,打开 Windows 客户端,选中要导入的文件夹,右键菜单选择“导入查询”,然后选择要导入的查询、报告和报告格式文件(如图 17 中所示),即可将查询、报告和报告格式导入 UTF-8 数据库中(需要确保在需要导入的查询、报告和报告格式文件前加上正确的代码页头)。


图 17. ClearQuest 客户端中导入查询
图 17. ClearQuest 客户端中导入查询

2)使用 bkt_tool 命令工具向 UTF-8 数据库集合中导入查询、报告和报告格式。

Bkt_tool 命令工具支持将工作区域中的项目(查询、报告和报告格式)导出到一个文件夹或一个文件中,下面举例说明。

例一:

a) 从一个 932 代码页的数据库集合中导出所有工作区域项目(查询、报告和报告格式)到文件夹 c:\temp\bkt_932

bkt_tool -export -us admin -password "" -db SAMPL -dbs connection_932 c:\temp\bkt_932

b) 用 cpheader.pl 命令给 bkt_932 文件夹上除 CONFIG.DAT 文件外的所有文件加上 932 代码页头

cqperl cpheader.pl -a c:\temp\bkt_932 ^BKT 932

c) 导入到 UTF-8 数据库集合中

bkt_tool.exe -import -us admin -Password "" -db SAMPL -dbs en_utf8 c:\temp\bkt_932

例二:

a) 从一个 936 代码页的数据库集合中导出所有工作区域项目(查询、报告和报告格式)到文件 c:\temp\936.buckets

bkt_tool.exe -export -us admin -password “” -db SAMPL -dbs connection_936 
    -ST c:\temp\936.buckets

b) 用 cpheader.pl 命令给 936.buckets 文件加上 936 代码页头

cqperl cpheader.pl -a c:\temp\936.buckets 936

c) 导入到 UTF-8 数据库集合中

bkt_tool.exe -import -us admin -password "" -db SAMPL -dbs en_utf8 c:\temp\936.buckets

向 UTF-8 数据库集合中导入表单

可以在 ClearQuest Designer 中导入导出表单(Form)。ClearQuest 提供两种 Designer:基于 Eclipse 的 Designer 和基于 Microsoft MFC 的传统 Designer。 Eclipse Designer 将表单导出成 XML 格式,其包含代码页的信息。因此不要对从 Eclipse Designer 导出的表单文件使用 cpheader.pl 命令。对于从传统 ClearQuest Designer 中导出的表单文件,在导入 UTF-8 数据库集合之前,需要使用 cpheader.pl 命令工具加上正确的代码页头。

向数据库集合中导入表单很简单,以传统 ClearQuest Designer 为例。首先打开 Designer,登录 UTF-8 数据库集合,检出要导入表单的数据库模式。在工作区中,展开记录类型或记录类型(无状态),右键点击 Forms 文件夹,菜单中选择 Import Form( 如图 18 所示 )。在 Import Form. 对话框中选择表单文件,点击保存。


图 18. ClearQuest 传统 Designer 中导入表单
图 18. ClearQuest 传统 Designer 中导入表单

向 UTF-8 数据库集合中导入数据库模式 Schema

使用 cqload 命令来导入导出数据库模式(Schema)。导入导出遵循的原则:从非 UTF-8 代码页创建的 ClearQuest 数据库中导出数据库模式,可以导入到一个用 UTF-8 代码页创建的数据库中;反之,不支持从一个用 UTF-8 代码页创建的数据库中导出数据库模式,导入到一个用非 UTF-8 代码页创建的 ClearQuest 数据库中。

有两种 cqload 命令参数用来导入导出数据库模式。

1) cqload exportschema/ cqload importschema 这个命令用来导入导出全部版本的数据库模式。举例说明:

从一个用简体中文代码页 936 创建的 ClearQuest 数据库中导出 DefectTracking_zh 数据库模式

cqload.exe exportschema -dbset dt_zh admin "" DefectTracking_zh "c:\dt_zh.txt"

导入到一个用 UTF-8 代码页创建的 ClearQuest 数据库中

cqload.exe importschema -dbset en_utf8 admin "" "c:\dt_zh.txt" -codepage 936

2) cqload exportintegration/ cqload importintegration 这个命令用来导入导出部分版本的数据库模式。举例说明:

从一个用简体中文代码页 936 创建的 ClearQuest 数据库中导出 DefectTracking_zh 版本 2

cqload exportintegration -dbset db2936 admin "" DefectTracking_zh 2 2 "" 
    c:\defecttracking_zh_936_2_2.script.

导入到一个用 UTF-8 代码页创建的 ClearQuest 数据库中

cqload importintegration -dbset db265001 admin "" 
   defecttracking_zh "" "" "" c:\defecttracking_zh_936_2_2.script. "" -codepage 936

ClearQuest 向 UTF-8 数据库集合中导入动态链表

我们使用 importutil 导入导出动态链表。如果从一个用非 UTF-8 代码页创建的 ClearQuest 数据库中导出动态链表,导入到一个用 UTF-8 代码页创建的数据库中时,需要先使用 cpheader.pl 工具添加代码页头,然后再导入,否则导入将失败。反之,从一个用 UTF-8 代码页创建的数据库中导出动态链表,然后导入到一个用非 UTF-8 代码页创建的数据库中时,如果导出的动态链表中的字符在导入的非 UTF-8 代码页支持的字符集合内,导入会成功,否则如果超出了非 UTF-8 代码页支持的字符集,导入就会失败。下面给两个导入导出动态链表的例子:

importutil exportlist –dbset utf8 admin “” list1 c:\list1.txt
importutil importlist –dbset utf8 admin “” list2 c:\list2.txt

ClearQuest v7.1.1 与其他产品在 Unicode 环境中的集成

ClearQuest 为了更好发挥自身在软件配置管理领域的作用,其实现与很多相关产品的集成,比如 Rational ClearCase、Rational Team Concert、Rational Quality Manager、Rational Project Composer 和 MS Project 等等。下面介绍在 Unicode 的环境中,ClearQuest 与这些相关产品的集成。

根据被集成产品对于 Unicode 的支持,我们把集成分为以下两类:

ClearQuest 与支持 Unicode 产品的集成,比如 ClearQuest 与 MS Project 的集成。在 Unicode 环境中,这类集成通常可以继续正常工作。多语言数据在 ClearQuest 和另一产品间传递时不受影响。

ClearQuest 与不支持 Unicode 产品的集成,比如 ClearQuest 与 Rational ClearCase 的 UCM 集成。Rational ClearCase 不支持 Unicode,其只能够处理与操作系统的数据代码页相匹配的字符数据。ClearQuest 如果采用 UTF-8 作为数据代码页,在与此类产品集成时情况如下:

1. 除非业务必须,在与不支持 Unicode 的产品集成时,不建议 ClearQuest 采用 UTF-8 作为数据代码页。

2. 部分不支持 Unicode 的产品能够检测到代码页不匹配数据,并能够给出提示,比如在 ClearQuest 和 ClearCase 的 UCM 集成环境,ClearCase 创建 Activity,选择 ClearQuest 中记录的 headline 作为 Activity 的 Title,操作系统的数据代码页是 1252 (MS windows Latin1),我们从 ClearQuest 中选取一条 Headline 为韩语的记录,ClearCase 抛出图 19 中的错误,提示从 ClearQuest 端传送过来的字符串代码页与当前的代码页不匹配。


图 19. ClearCase、ClearQuest UCM 集成时抛出的错误
图 19. ClearCase、ClearQuest UCM 集成时抛出的错误

3. 部分支持 Unicode 的产品不能检测数据代码页不匹配的数据。如果 ClearQuest 采用 UTF-8 作为数据代码页,那么在集成时,工作流程上要加以限制,或者基于被集成的产品开发相应的模块自动检测提示,否则一旦用户误操作,那么将会导致数据损坏。

ClearQuest 其它基本功能在 UTF-8 环境中的使用

ClearQuest 其它基本功能在 UTF-8 环境中的使用和其它非 UTF-8 环境中一样。下面只列出在 UTF-8 环境中功能增强的地方。

1.用户管理(User Admin)

UTF-8 代码页的引入使得在用户管理中可以支持多语言字符的用户名,组名。支持从非 UTF-8 数据库集合中导出用户和组信息,导入 UTF-8 数据库集合中。用户必须使用 65001 (UTF-8) 格式和 UTF-16 格式导出用户名或组信息,方可正确导入到 UTF-8 数据库集合。使用 session 代码页(例如 932 Japanese Shift-JIS)格式导出的用户和组信息不能被正确导入到 UTF-8 数据库集合中。

2. ClearQuest 客户端

ClearQuest 客户端在 UTF-8 环境中的操作与在非 UTF-8 环境中一样,区别在于在 UTF-8 环境中可以支持多语言字符的数据,比如查询、报告和报告格式的名字,文件夹的名字,记录中的字符串字段的内容等等。

3. Email Reader

在 UTF-8 环境中,Email Reader 也同样支持多语言,我们可以通过 Email Reader 提交包含多语言字符的新记录,也可以通过 Email Reader 修改已有的记录。

4. ClearQuest Multisite

在 UTF-8 环境中,我们需要确保每个站点均使用 UTF-8 作为 ClearQuest 的数据代码页,其它的操作与非 UTF-8 时的情况一样。

5. 导入导出工具(Import/Export Tool)

ClearQuest Eclipse 客户端中的导入导出工具用于在不同的 ClearQuest 数据库集合中迁移数据。ClearQuest 支持 UTF-8 数据库集合和非 UTF-8 数据库集合之间的相互数据迁移。从非 UTF-8 数据库集合向 UTF-8 数据库集合迁移数据时,在导出数据时必须选择 UTF-8 或者 UTF-16 代码页,如果用 session 代码页(例如 936 (Simplified Chinese (GBK))),数据迁移将会失败。从 UTF-8 数据库集合向非 UTF-8 数据库集合迁移数据时,需要确保迁移的数据字符与非 UTF-8 数据库集合的代码页匹配,否则导入失败。

UTF-8 数据库集合在全球分布开发团队中的应用实例

某美国跨国公司,业务发展顺利,其分公司由原来的一家(日本分公司)拓展为目前的两家,新增了中国分公司。一直以来,该公司使用 ClearQuest 作为其产品的缺陷跟踪系统,此前只有英语和日语的客户,系统采用 932(Japanese(Shift-JIS)) 数据代码页。中国分公司建立之初,公司的销售和服务面临很大的压力。一方面,因为中国的客户大都使用简体中文的操作系统,在实际使用 ClearQuest 的过程中不可避免有输入 936 字符集字符的场合。虽然从 ClearQuest V7.0 开始,Rational ClearQuest 处理以 Unicode 编码的数据,且其应用程序使用 Rational ClearQuest 数据代码页编写数据库,即使 Rational ClearQuest 数据代码页与本地字符集不匹配,Rational ClearQuest 应用程序现在也可以读 / 写方式与 Rational ClearQuest 数据库连接,但是如果输入的字符数据代码页与 ClearQuest 的数据代码页不匹配,ClearQuest 会弹出错误对话框给予提示。现在输入 936 的字符,ClearQuest 的字符集代码页却为 932,所以中国的客户经常碰到此类的错误,他们向公司的销售反应,如果这样的问题不能解决,不会对公司的产品进行采购。另一方面,即使部分中国客户愿意做出妥协,在流程上控制以采用 ASCII 进行记录的创建和更新,但是客户的英语水平良莠不齐,客户为了清晰的表述问题,将额外花费更多的时间,同时模糊的语言表达导致客服人员的沟通成本上升,对客户提出的问题反映速度下降。公司采用 ClearQuest v7.1.1 后(拓扑图如图 20 所示),上述问题都可以迎刃而解。在 ClearQuest v7.1.1 中,建立 UTF-8 数据集合,那么位于全球各地的客户可以使用各自习惯的语言进行记录的输入,有需要公司则可以组织专人进行记录的翻译。客户的满意度提高,加速公司内部对于问题的分析和解决。


图 20. ClearQuest Multisite 应用实例拓扑图
图 20. ClearQuest Multisite 应用实例拓扑图 

小结

ClearQuest v7.1.1 中引入了对于 UTF-8 的支持,用户在新的环境中工作时,主要操作和在本地数据代码页环境中类似。通过使用 UTF-8 作为 ClearQuest 的数据代码页,ClearQuest 的用户可以根据各自情况和实际需求选择字符集提交记录,使得企业能够更为友好及时的响应用户提出的需求和问题。同时,ClearQuest 提供了相应的工具帮助 ClearQuest 的管理人员导出历史数据库集合中的查询、图表、报告、报告格式、表单以及动态链表,导入到 UTF-8 的数据库集合,加速 Unicode 工作环境的建立和维护。综上所述, ClearQuest v7.1.1 中对于 UTF-8 的支持,能够有效提高企业全球分布团队的工作效率,提升企业的竞争实力,更好的服务客户。

原文链接:http://www.ibm.com/developerworks/cn/rational/r-cn-rcqv7unicode/index.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780914/viewspace-670100/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14780914/viewspace-670100/

PACKAGE LT_Playback_100000VU rational 7.5 51E6DD992302 \ COMPONENTS="LTvu:7.1:100000 LT_100000VT:8.0:10000" PACKAGE RSPS_TLA_500VU rational 1.5 F36CDEAC264E \ COMPONENTS="PerformanceStudioSuite:1.0:10000 \ LTmaster:7.1:10000 LTgui:7.1:5500 LTvu:7.1:5500 \ LTjolt:7.1:10000 LTtux:7.1:10000 LTsql:7.1:10000 \ LThttp:7.1:10000 LTsap:7.1:10000 LTcorba:7.1:10000 \ LTdcom:7.1:10000" PACKAGE LT_All_VU_Protocols rational 7.5 F82D3FAA0615 \ COMPONENTS=LT_All_Protocols:7.1:10000 PACKAGE LoadTest_Base rational 7.5 652CC8FB1271 \ COMPONENTS="LoadTestSuite:7.5:1 LTmaster:7.1:10000 \ LTgui:7.1:10000 LTvu:7.1:5550 LThttp:7.1:10000" PACKAGE TMvtpool rational 8.0 3881689030FD \ COMPONENTS=TMvirtualtester:8.0:5500 INCREMENT RequisitePro rational 4.0 06-jan-2020 uncounted \ BA0A38B7239E HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=146 INCREMENT RationalSuiteEnterprise rational 4.0 06-jan-2020 uncounted \ C93A81890161 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=76 INCREMENT Robot rational 7.1 06-jan-2020 uncounted 76ABCAF51BB6 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="Rational Startup \ License" ck=134 INCREMENT LT_Playback_100000VU rational 7.5 06-jan-2020 uncounted \ 28D086A1F873 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=90 INCREMENT LT_All_VU_Protocols rational 7.5 06-jan-2020 uncounted \ AD87056FFA1A HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=110 INCREMENT LoadTest_Base rational 7.5 06-jan-2020 uncounted \ E9F6AA3DD21C HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=175 INCREMENT TMvtpool rational 8.0 06-jan-2020 uncounted 7CB3BF1A82D4 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="Rational Startup \ License" ck=169 INCREMENT rose_windows_datamodeler rational 6.0 06-jan-2020 uncounted \ 9B6FB3990403 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=100 INCREMENT rose_j_windows rational 6.0 06-jan-2020 uncounted \ 78294CFB428B HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=48 INCREMENT rose_enterprise_windows rational 6.0 06-jan-2020 uncounted \ 31678567D95F HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=155 INCREMENT rose_modeler_windows rational 6.0 06-jan-2020 uncounted \ AC2794946BA5 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=126 INCREMENT rose_cpp_windows rational 6.0 06-jan-2020 uncounted \ D0D35BCFA41D HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=123 INCREMENT rose_vb_windows rational 6.0 06-jan-2020 uncounted \ 5314E2E98DB3 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=94 INCREMENT RoseRealTime rational 6.1 06-jan-2020 uncounted \ 6679AD7D1E1B HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=137 INCREMENT RoseRealTimeStudio rational 6.1 06-jan-2020 uncounted \ D5151A714D42 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=62 INCREMENT TestManager rational 7.1 06-jan-2020 uncounted 6384C07DCED0 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=172 INCREMENT soda_word rational 3.5 06-jan-2020 uncounted 7C8B36ED55E5 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=99 INCREMENT ClearQuest rational 1.1 06-jan-2020 uncounted 058EEFBE94A0 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=107 INCREMENT TestFactory rational 7.1 06-jan-2020 uncounted 146C066991C1 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=104 INCREMENT LogViewer rational 7.1 06-jan-2020 uncounted 6793858AA163 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=104 INCREMENT VisualPureCoverage rational 6.0 06-jan-2020 uncounted \ 7035145EBC30 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=19 INCREMENT PurifyNT rational 6.0 06-jan-2020 uncounted 416E31D471BA \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=149 INCREMENT VisualQuantify rational 6.0 06-jan-2020 uncounted \ A6D02FA24CE7 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=129 INCREMENT ClearQuest_TeamTest rational 1.1 06-jan-2020 uncounted \ 87734F711AAB HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=183 INCREMENT ClearCase_LT rational 1.0 06-jan-2020 uncounted \ E00C9EC5554A HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=138 INCREMENT RationalProcessWorkbench rational 1.0 06-jan-2020 uncounted \ 9560F9A5EB76 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=128 INCREMENT ProjectConsole rational 1.0 06-jan-2020 uncounted \ BF8A8C9124B2 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=131 INCREMENT xde_tester rational 1.5 06-jan-2020 uncounted EC1D6E76F26E \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=102 INCREMENT xde_modeler rational 1.5 06-jan-2020 uncounted 4F1E37EA7C5F \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=172 INCREMENT xde_pronet rational 1.5 06-jan-2020 uncounted 169A34BC9BB7 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=93 INCREMENT xde_projava rational 1.5 06-jan-2020 uncounted EA0E78D6CCA0 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=167 INCREMENT rose_ada_windows rational 6.0 06-jan-2020 uncounted \ 194E5D63FDD3 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=144 INCREMENT Robot_PS rational 7.1 06-jan-2020 uncounted 7B2D58A396FB \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=118 INCREMENT SoDA_Frame rational 3.0 06-jan-2020 uncounted 06780D8FFC2A \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=162 INCREMENT LT_Playback_50VU rational 3.0 06-jan-2020 uncounted \ 32C768903CE0 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=73 INCREMENT LT_Playback_100VU rational 3.0 06-jan-2020 uncounted \ F2D366CF8B43 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=137 INCREMENT LT_Playback_250VU rational 3.0 06-jan-2020 uncounted \ 00D4F6DEF293 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=156 INCREMENT LT_Playback_500VU rational 3.0 06-jan-2020 uncounted \ 6F34FAC3736B HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=95 INCREMENT LT_Playback_1000VU rational 3.0 06-jan-2020 uncounted \ 48CB5F9DE29B HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=177 INCREMENT LT_Playback_2500VU rational 3.0 06-jan-2020 uncounted \ 1C1FDCE8313B HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=157 INCREMENT LT_Playback_5000VU rational 3.0 06-jan-2020 uncounted \ D45E43597237 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=91 INCREMENT LT_Playback_10000VU rational 3.0 06-jan-2020 uncounted \ 64CDD5CB201A HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=140 INCREMENT LT_Playback_20000VU rational 3.0 06-jan-2020 uncounted \ 7D8FFC26BA87 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=228 INCREMENT LT_Playback_50000VU rational 3.0 06-jan-2020 uncounted \ 367E19BF3876 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=141 INCREMENT LT_Playback_100000VU rational 3.0 06-jan-2020 uncounted \ 5C1B2FB38740 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=137 INCREMENT ClearQuestMultiSite rational 1.0 06-jan-2020 uncounted \ 63767AAF4945 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=141 INCREMENT TestRealTime rational 1.0 06-jan-2020 uncounted \ 0EF423DAF634 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=163 INCREMENT TestRealTimeVT5 rational 1.0 06-jan-2020 uncounted \ 008637DD9DA6 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=167 INCREMENT TestRealTimeVT25 rational 1.0 06-jan-2020 uncounted \ 46AFE69697C3 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=119 INCREMENT TestRealTimeVT100 rational 1.0 06-jan-2020 uncounted \ 47B0421EC057 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=145 INCREMENT TestRealTimeVT100Plus rational 1.0 06-jan-2020 uncounted \ 60D03F5E24CC HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=126 INCREMENT xde_proplus rational 1.5 06-jan-2020 uncounted 6647DDE2E265 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=123 INCREMENT Rose98_Unix rational 6.0 06-jan-2020 uncounted 71E0D1586BD9 \ HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The Force Team - \ 2007" ck=174 INCREMENT xde_modelernet rational 1.5 06-jan-2020 uncounted \ 8024020E717E HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=42 INCREMENT xde_data_modeler rational 1.5 06-jan-2020 uncounted \ CA7AEBE5CC41 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=201 INCREMENT xde_data_modeler_net rational 1.5 06-jan-2020 uncounted \ FF07C41571BC HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=103 INCREMENT xde_proplusjava rational 1.5 06-jan-2020 uncounted \ 377F30CBB9A4 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=104 INCREMENT xde_proplusnet rational 1.5 06-jan-2020 uncounted \ B5E6326C4744 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=105
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值