使用 IBM Rational ClearQuest V7.1.1 的多語言支援提升全球分散式開發團隊的工作效率

myattitude發表於2010-08-03
何 傑, 軟體工程師, 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章