Feature激活的依從性表明在兩個Feature間存在必需關系。無論是在相同的范圍內,還是在跨不同范圍內的Feature間,您都可以表達激活依從關系。跨范圍的激活依從是指導特定范圍內的一個Feature激活時必須要求不同范圍的另一個Feature也處於激活狀態。一個典型的跨范圍激活的例子是網站Feature依從於網站集Feature。
您一般基於以下兩個目的而使用激活依從關系:
Feature群組的概念 當一個Feature被激活,另一個Feature也可以被激活。比如,當默認的“工作組協作”Feature(在\12\TEMPLATE \FEATURES\TeamCollab下)被激活,他會通過激活依賴關系來激活許多其他Feature。當您激活工作組協作Feature時,他會激 活其依從的Feature,使得特定的列表模板變得可用。當您關閉該Feature,其依從的Feature也會關閉(如果沒有其他Feature再依從 於他),這樣那些列表模板就變成不可用了。
Feature資源的保障 您可能需要一個網站集Feature來包含資源(比如一個內容類型),然後在一個網站Feature中包含其實現。您可以通過激活依從性來保證所有Feature都被激活。
激活依從規則
激活的依從必須符合一定的規則,這樣才能避免存在諸如循環依從,依從鏈等影響性能的情況。
相同范圍的規則
如果一個Feature依從於相同范圍內的另一個Feature,而第二個Feature在第一個Feature激活時是關閉狀態,WSS會將第二個Featuer激活。
如果一個Feature是關閉的,WSS會關閉相同范圍內該Feature依從的隱藏Feature(當最後一個依從該Feature的可見Feature關閉時)。
跨范圍規則
如果Feature依從於一個更小范圍上,則跨范圍激活依從將不被支持。比如,一個網站集Feature不能依從於一個網站Feature。
如果Feature依從於一個不可見的Feature,則激活依從將不支持跨范圍。換句話說,一個網站范圍的Feature不能依從於一個網站集范圍的在UI中不可見的Feature。
如果所依從的Feature是關閉的,則Feature的激活會失敗。比如,如果一個網站Feature依從於一個網站集Feature,而該網站集Feature是關閉的,則在提供該網站Feature(或包含該網站Feature的網站定義)時將失敗。
一般規則
依 從性僅對一層深度產生作用。換句話說,不支持依從鏈。WSS不支持多於一層的激活依從關系(如果最後的Feature是可見的)。也就是說一個可見的 Feature依從於第二個可見的Feature,再依次依從到第三個可見的Feature。然而,WSS支持一個可見的Feature依從於第二個可見 的Feature,再依次依從到第三個隱藏的Feature。
您可以將依從指向一個隱藏或可見的Feature,但是隱藏的Feature不能具有激活依從性。Feature元素的Hidden屬性決定了該Feature是否顯示在UI中。
當 多個Feature依從於給定的Feature時,要留心有將其中某個多個Feature之一置於錯誤環境的危險。舉個例子,假設有一個可見的網站集范圍 的Feature名為Feature B,依從於名為Feature A的一個隱藏的網站集范圍Feature。還有第三個可見的網站范圍的Feature,名為Feature C,同樣依從於FeatureA。Feature B的關閉也會關閉Feature A,這樣就將Feature C置於了錯誤的境地。