在經過了漫長的等待之後,這個工具終於出現,SPS2003 在 2003 年底已經釋出,有許多的 Portal 已經使用它作為基礎平台,如果是一個新的 Portal,那完全不會有 Migrate 的問題,但是如果你的 Portal 是從 SPS2001 改版到 SPS2003,你一定跟我一樣,在這一個 Migration Tool 還沒有出現之前一直在想像它可以提供甚麼樣的神奇方式,讓你輕鬆轉換你的舊資料。

等待的時間永遠是漫長的,尤其是專案經理每次開會都會問到,這個工具甚麼時候會出現,可以想見顧問崔佛 (微軟 MCS) 如果不是照三餐,也是每隔一兩天便會去 Check 一下公司的產品網頁,看看這個工具是不是已經釋出,還是又 Delay 了,大家都在等待中漸漸的失去耐心。

終於,等待還是有代價的,2004/2/13 這天,這套工具已經在微軟的 Download Center 出現 (位址在: http://www.microsoft.com/downloads/details.aspx?FamilyId=FEEA83B4-7F46-4040-BCE2-5341E5C1B107&displaylang=en),我們迫不急待的想要試一試它的功能,看看它是不是如我們想像,當然,我們所想像它的功能,跟它事實上的功能還是有一些差距,但是它的確讓我們省了不少自行製作 Migration Tool 的時間。

SPS Migration Tools (全名是: Microsoft Office SharePoint Portal Server 2003 Document Library Migration Tools) 其實提供了兩個簡單的工具,

1] SPOUT.EXE
  將 SPS2001 Document Library 轉為 XML Index/Files 格式。
2] SPIN.EXE
  將 XML Index/Files 格式的轉出資料,倒入 SPS2003 的 Document Library 中。

當然它的功能不僅如此,因為許多人在實作 SPS2001 Portal 時,會利用一些自行定義的 Metadata,在處理資料方面,我們會希望這些資訊轉到 SPS2003 時還會存在,另外一個重點是: 許多 SPS2001 中的文件,其 Owner 是由 Active Directory 進行管理,然而我們如果自行設計 Migration Tool,這些文件的 Owner 值,也許會變成本機的 Administrator (視執行 Migration Tool 使用者而定)。

測試的結果令人滿意,所有的 Custom Metadata 都能被正確的轉換,除了某些欄位使用了 SPS2001 的 List (dictionary) 會變成 “#;Value1#;Value2#;Value3#;Value4#;” 這樣的格式,但這個問題是可以在轉換後另外寫小程式去克服的。

在轉換後還碰到一個小問題,就是某些 Metadata 對應的欄位名稱在 SPS2003 實作時並未使用相同的欄位名,不過這個問題可以在 SPOUT 之後,手動的編輯所產生出來的 XML INDEX 檔案,然後再利用 SPIN 倒入資料的方式來解決。

最後的問題: 目前仍然還是有些小問題,在 SPS2001 的 Metadata 中如果欄位名稱有空白字元,在 SPS2003 中會置換為 _x0020 之類的分隔,但是 SPOUT/SPIN 並未對此進行轉換,當我們手動的編輯 XML INDEX 後,發現這個方法並不能 Work,會造成 Search Application 指定欄位時發生無效欄位。

Anyway… 如果你在 SPS2001 沒有使用到自定的 Metadata,你應該可以很順利的使用這一個 Migration Tool 進行轉換。

Good Luck!

後記:資料轉入以後,記得要讓 SharePoint 作一次 Full Index 的 Update 動作,否則可能會出現文件數量不符合的情況。

最後修改日期: 2004-03-28