在MOSS2007時代的Document Management System中非常需要一個唯一的標識(Unique Identifier)來有效管理我們的文檔。但當時並沒有提供這樣的一個Unique Number,許多使用者或開發人員只有另想辦法來實現這個要求。當然,在以前的MOSS2007中,系統可以使用URL來定位文檔,但它主要的問題是:當你刪除或移動了某個文檔,那個文檔以前的URL就失效了,如果你是通過發送文檔的URL來分享某個文檔,那麼其它使用者想要通過你以前發送給他們的URL來擷取它就註定會失敗。
從Sharepoint2010開始,文檔的唯一標識不再是另人頭疼的問題,你可以使用Sharepoint預設的DocumentIDProvider來產生文檔ID,也可以自行開發DocumentIDProvider來滿足特定的需要。
一、對於Unique Document ID,我們需要關注以下特點與限制:
1、在SharePoint Foundation 2010 版本中不提供對Document Unique IDs的支援,此功能僅在標準版以及企業版提供
2、只有從Document Content Type或從其衍生出來的Content Type才能使用Document Unique IDs,這很好理解,本來Document Unique ID就是針對Document管理的,所以當然不能針對其它類型的Content Type了。
3、你可以設定特定格式的Unique Number
4、你可以把文檔儲存在任何位置並可以通過Unique Number來找到它。
5.在文檔的整個生命週期,Sharepoint的Records Management 和Document Management都可以通過Document ID來管理它們。
6、Document IDs 在Site Collection的範圍內是唯一的。但是通過在Unique Document IDs前面加上首碼就可以讓Document IDs在跨Sharepoint Farm的範圍上也變得唯一了。
7、當你在Sharepoint Collection內移動一個Document時,這個Document的ID也會跟隨著它而不會變化。當你拷貝一個Document時,新的Document的複本將會擁有一個它自己的新的Document ID。
8、如果你使用Document Set(文檔集)時,這個文檔集將會擁有它自己的 Unique Document ID,這個ID與包含在文檔集內的文檔的Document IDs是獨立的,各管各,它們並無關聯。
9、當你啟用Document ID feature後,系統會在Document List中新增一列(實際是新增了一列到Document Content Type上),當你再停用Document ID feature後,那些已經存在的Document IDs仍然有效,它們並不會隨著你對Document ID feature的停用而被刪除。但SharePoint系統卻不會產生新的Documnet IDs.
10、Sharepoint系統有兩個timer job與Document IDs服務相關: Document ID enable/disable timer job 和Document ID assignment timer job. 你可以在Sharepoint Central Admin中去設定和啟用兩個Job。這兩個Job預設是一天運行一次,但你可以在設定中心通過"Run Now"來即時運行它們。
二、下面我們來看看如何啟動和配置我們的Sharepoint環境使其支援Unique Document ID。
1、首先要啟動和配置Document ID Feature.
因為Document ID Feature是Site Collection層級的,所以需要到Site Collection的組態管理頁面去設定。
在你應用程式所在的Sharepoint網站,通過Site Actions-->Site Setting進入設定頁面
點選連結(Site Collection Administration下的Site Collection Features)進入啟用頁面
啟用頁面內啟用此服務
回到設定頁面,可以看到在Site Collection Administration欄下多出來一項Document ID Setting,點擊此項進入配置頁面
在配置頁面裡,可以設定Document IDs的首碼,決定是否重啟已有的Documents使用這個首碼.....
2、然後要啟動相應的Timer Jobs
如果你只是在Site Collection層級開啟Document ID Feature,你可能還並不能馬上看到系統給Document分配Document ID,這是因為Document ID Feature工作需要依賴於兩個Timer job Service( Document ID enable/disable timer job 和Document ID assignment timer job),這兩個Jobs需要到Sharepoint管理中心去啟動。
通過管理中心進入Job Definition頁面
在此頁面下點擊相應連結進入設定頁面,在此頁面下可以手工運行對應的Job
回到應用程式所在的Sharepoint網站,進入某個Doucment List,上傳文檔 ,就可以看到Document IDs Service開始工作了
有一點需要注意的是:如果你對 Document ID的首碼設定作了更改,你就需要先運行Document ID enable/disable job,再運行Document ID assignment job,注意它們的運行順序,這樣你才能看到你的修改生效。