WSS3SDK之:Feature激活的依从关系和范围
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置于了错误的境地。