若是咱們使用一個SharePoint網站來存儲部門/團隊的文檔,一般會按照咱們想要的結構,預先在網站中創建好相應的文檔庫和文件夾。好比,咱們會建立一個「技術文檔庫」,來存放技術類別的文檔,同時建立一個「業務文檔庫」存放業務類別的文檔,在「技術文檔庫」中,還可能按照編程語言的種類,創建諸如「CSharp」、「C++」、「Java」之類的文件夾,將技術文檔按照它們所屬的類別,再放置到相應的文件夾中。
可是,不管管理員將結構創建得多麼好、多麼完整,用戶極可能並不會按照文檔實際的類別,將文檔上載到正確的文檔庫和文件夾中。SharePoint 2010的內容管理器,能幫助網站管理員實現自動化的文檔路由和存儲。在用戶將文檔上載到網站以後,網站的內容管理器會按照事先設置的規則,自動將文檔移動到正確的地方。
內容管理器的規則,基本上基於兩種判斷條件:
一、文檔的內容類型。例如,屬於「技術文檔」內容類型的文件,移動到哪里哪里,而屬於「業務文檔」內容類型的文件,又是移動到哪里哪里。內容管理器規則只能處理繼承自「文檔」內容類型的內容類型,這意味着內容管理器只能管理文件類型的內容,而不能處理其餘列表項內容類型。
二、屬性的值。基於第1種判斷條件,管理員還能夠再基於文檔的屬性,設置判斷條件。好比,「技術類別」屬性的值等於「Web程序」的文檔,移動到哪里哪里。第2種判斷條件不能獨立於第1種存在。
內容管理器是一項網站級別的功能,而並不是網站集級別。因此,首先須要在網站功能管理中,啓用「內容管理器」功能:
在網站中啓用了內容管理器功能以後,網站中會多出來一個「放置庫」文檔庫。這個「放置庫」是內容管理器的核心之一,實際上,全部內容管理器規則都是應用到「放置庫」。
而後在網站管理頁面中,會多出來「內容管理器設置」和「內容管理器規則」連接:
內容管理器設置界面中,是對整個網站的內容管理器功能,進行全局的設置。
若是選擇了「將新內容提交到庫」選項,那麼不管用戶是將文檔上載到網站的什麼地方,這個文檔都會被自動移動到「放置庫」中,以對其應用規則。可是我發現Beta2中彷佛有Bug,即便管理員選中了這個選項,用戶上傳到其餘地方的文檔也不會自動移動到「放置庫」,這樣只有上載到「放置庫」中的文檔,纔會被應用規則。
若是選中了「容許規則將其餘網站指定爲目標位置」選項,那麼在規則中,就能將上載的文檔移動到其餘網站。可是其餘網站的目標位置,必須事先由管理員在「管理中心 - 通常應用程序設置 - 配置發送到鏈接」設置以後,才能使用。
自動建立子文件夾的選項很是有用,這樣能夠避免在一個文件夾中,存放太多的內容。不建議在一個文件夾中,存放超過5000個文件。
若是目標位置已經存在同名文件,那麼下面的選項將決定內容管理器如何處理這種狀況。可是若是管理員選擇了使用版本控制,但目標文檔庫又並未啓用版本控制功能,那麼內容管理器仍然是使用自動在文件名後面添加惟一字符的方式,來進行處理。
保留文檔的審覈日誌和屬性,有助於在記錄管理中對文檔進行持續管理。
「規則管理員」可讓管理員指定哪些人能夠設置內容管理器規則。若是一個用戶是網站管理員,可是並不是規則管理員,他也不能管理內容管理器規則。若是一個用戶是規則管理員,但並不是網站管理員,他仍然不能管理內容管理器規則。
接下來,就是爲內容管理器建立規則。每一個規則都有優先級,優先級高的規則會先被執行,這樣若是一個文檔符合多個規則的條件,那麼只有優先級最高的規則會被應用到文檔。
下面的截圖就是按照提交的文檔的內容類型,進行條件篩選。「替換名稱」能夠用於同時處理多個相關的內容類型(好比有父子繼承關係的內容類型)的狀況。
「基於屬性的條件」可讓管理員再基於選中的內容類型的必填屬性,來設置過濾條件。
下面是在添加了2條規則以後的情景,兩條規則實際上都是針對一種「技術文檔」內容類型,可是第1條規則還加上了額外的屬性條件過濾,來將「技術文檔」中設置的是C#與Web類別的技術文檔,單獨存放到一個專門的地方。因爲第1條規則所匹配的文檔其實是第2條規則所匹配的子集,也就是說,第2條規則覆蓋了第1條規則,因此爲了不文檔被應用第2條規則,管理員須要將第1條規則的優先級設置得比第2條規則高:
配置好了內容管理器以後,當用戶在網站中上載了文檔以後,系統會自動提示它,內容管理器已經將文檔自動轉移到了新的地方,而且會顯示出文檔所在位置的URL路徑:
有了內容管理器,用戶在上載文檔時,就再也不須要考慮到底將文檔上載到哪一個地方纔合適。文檔所在位置的選擇,被交給了內容管理器,按照管理員所設置的規則,對文檔進行自動的路由和分類。編程