|
源文出自:http://www.cnblogs.com/sunmoonfire/archive/2008/07/29/1240973.html
Feature.xml文件
在一个 Feature.xml 文件中, Feature元素定义了其本身,并指定了相关的DLL组件,文件等的位置,或是一些用于支持该Feature的属性。
Feature
ActivationDependencies
ActivationDependency
ElementManifests
ElementFile
ElementManifest
Properties
Property
Feature
定义一个可以在特定范围激活或关闭的Feature。
<Feature
ActivateOnDefault = "TRUE" | "FALSE"
AlwaysForceInstall = "TRUE" | "FALSE"
AutoActivateInCentralAdmin = "TRUE" | "FALSE"
Creator = "Text"
DefaultResourceFile = "Text"
Description = "Text"
Hidden = "TRUE" | "FALSE"
Id = "Text"
ImageUrl = "Text"
ImageUrlAltText = "Text"
ReceiverAssembly = "Text"
ReceiverClass = "Text"
RequireResources = "TRUE" | "FALSE"
Scope = "Text"
SolutionId = "Text"
Title = "Text"
Version = "Text" >
</Feature>
属性
属性 描述 ActivateOnDefault
可选 Boolean。 如果TRUE 则在安装过程中或当一个Web应用程序创建时Feature就会被激活;如果是FALSE 则不会激活。该属性默认值等于 TRUE 。 ActivateOnDefault 属性不能应用于网站集 (Site) 或网站 (Web) 范围的Feature。
一般情况下,场范围的Feature 会在安装过程中被激活,还有就是当一个新Web应用程序被创建出来时,所有安装在Web应用程序范围的 Feature都会激活。
AlwaysForceInstall
可选 Boolean。如果为TRUE 则Feature会强制安装,即使先前已经安装过。举个例子,如果设为 TRUE,任何时候用户尝试安装该Feature(那怕之前安装过),无论是通过 scanforfeatures 或是 installfeature 命令行操作来安装,都将启动安装过程。该属性默认等于 FALSE 。 AlwaysForceInstall 属性会影响所有范围的Feature。
AutoActivateInCentralAdmin
可选 Boolean。如果为TRUE 则Feature会在管理中心网站,网征集或Web应用程序中默认激活。该属性默认等于 FALSE 。 AutoActivateInCentralAdmin 属性不能应用在场范围的Feature上。
Creator
可选 Text.
DefaultResourceFile
可选 Text. 为Feature中的XML资源指定一个公共的资源文件。如果您在文件中指定了一个资源,WSS默认会在\12\TEMPLATES\FEATURES \FeatureName\Resources\Resources.<Culture>.resx中进行查找。然而,您如果想要提供一个共 享的核心资源文件供所有您应用程序的Feature使用,您可以通过DefaultResourceFile来指定一个替换的资源文件。例如,如果您设置 DefaultResourceFile="MyFile", WSS处理您的Feature时会查找 \12\Resources\MyFile.<Culture>.resx 来获取本地化资源。
Description
可选 String. 用长一些的话来描述该Feature能做什么。
Hidden
可选 Boolean. 该属性默认等于 FALSE
Id
必需Text. 包含了该Feature的唯一标识 (GUID)
ImageUrl
可选 Text. 包含了一个图片的相对地址,用于在用户界面(UI)中表示该Feature。
ImageUrlAltText
可选Text. 包含了图片的替换文字。
ReceiverAssembly
可选Text. 与 ReceiverClass共同配合,来指定GAC中某个DLL组件的强名称,用于Feature中的事件接收器。
ReceiverClass
可选Text. 与 ReceiverAssembly共同配合,指定Feature中实现事件处理的类。
RequireResources
可选Boolean。如果为 TRUE 则指定WSS通过验证Feature特定语言的标准“sentinel”资源的存在来检查Feature资源是不是具备。
该资源文件命名满足格式<Feature Directory>\Resources\Resources.<Culture Name>.resx,其中 <Culture Name> 是语言的标识。WSS支持三种格式的语言名称,与在与.NET Framework中是一样的:
XX-XXX
XXX-XX
XX-XXXX-XX
语言名的例子:
en-CA 英语– 加拿大
fr-FR 法语– 法国
ja-JP 日语- 日本
quz-BO 奇楚亚语 – 玻利维亚
uz-Latn-UZ 乌兹别克 (拉丁, 乌兹别克斯坦)
uz-Cyrl-UZ 乌兹别克 (西里尔, 乌兹别克斯坦)
Internet工程任务组 (IETF) 语言标签格式为 ll(l)-Ssss-CC, 其中:
- ll(l) 表示必需的两个字母组成的语言标识符(或三位字母,如果该语言名称在ISO的两位字母代码中不存在的话)。
- Ssss 表示一个可选的符号标识(script identifier)
- CC 表示一个可选的区域标识(region identifier)。
RequireResources 属性允许您将特定Feature的可见性与指定语言的资源存在性紧密捆绑在一起。
注意:
WSS在对Feature进行特定语言支持的验证时,不会使用由DefaultResourceFile属性所指定的文件(如果有这么一个文件,作为一个备份文件)。
如果对于特定的网站或网站集不存在某语言的文件,将会有两种方式来应对:
- 如果对应语言的资源不可用时,该Feature将被从网站或网站集激活Feature的用户界面中隐藏。 紧记,RequireResources 属性只能强迫在用户界面中不显示。如果通过stsadm.exe命令行操作或对象模型仍是可以将其激活的。
WSS不会将RequireResources的这种强制性用于一个较大的网站定义中的Feature。例如, 您提供了一个泰国版本的网站定义,将一个webtempThai.xml放在了 \12\TEMPLATE\1054\XML下,您必须同时确保其中包含的每个Feature在其文件夹中都能找到所需的资源。
- WSS通常会确保如果没有资源就不在用户界面上显示出该Feature的相关信息,但是也存在例外的情况。甚至是在您很仔细的设置了RequireResources,要求只有所有的Feature都有资源的情况下才能部署网站定义,Feature仍会显示在不具备资源的网站中。
作 为一个示例场景,假设您有一个自定义Feature带有两种语言的资源,用来提供自定义工具栏按钮和网站操作链接,并且您已经基于其中一种语言创建了一个 带根站点的网站集。接下来,在下载并安装了第三种语言的语言包之后,您基于第三种语言在原来的根站点下创建了一个新的子网站。如果RequireResources 没有设为TRUE, 该自定义Feature将尝试回退并使用回退资源(换言之,就是\Resources\Resources.resx中定义的那些,不区分语言)。如果回退资源不存在,WSS将输出空字符串。然而,如果 RequireResources 设为了 TRUE, 在没有可用资源的情况下,用户界面上该Feature的信息(比如通过CustomAction,ListTemplate,或 FeatureSiteTemplateAssociation元素定义的内容)将不显示在子网站中,这样该Feature的那些自定义链接和网站操作将 自动隐藏。
该属性的设置仅仅应用于通过用户界面的Feature激活,并不包括STSADM.EXE 命令行操作或对象模型。
Scope
必需 Text. 可以包含下列值之一:Farm (场), WebApplication (Web应用程序), Site (网站集), Web (网站).
SolutionId
可选Text.指定Featuer 所属的解决方案。
Title
可选Text. 该Feature的标题,字数限制在 255个字符内。
Version
可选Text. 为Feature指定一个符合 System.Version-形式的版本号。 最多只能有四个由小数点分割的数字,代表了版本。
子元素
ActivationDependencies, ElementManifests, Properties
备注
对于Feature文件夹和文件名,Windows SharePoint Services 仅支持低价的ASCII字符,并且不包括空格。
ActivationDependencies 元素 (Feature)
指定当前feature的激活所依赖的feature的一个清单。
备注
如果当前feature激活所依赖的Feature是隐藏和未激活的,则会自动激活。同时,该隐藏Feature会在最后一个依赖于它的Feature关闭时也被关闭。如果该Feature是可见的,则不会自动激活。一个隐藏Feature不能具有任何激活依赖。
当您将该元素包含到Feature元素中后,下面的示例代码将确保除非特定ID的Feature被激活,否则不会激活当前的Feature。
<ActivationDependencies>
<ActivationDependency
FeatureId="11111111-1111-1111-1111-111111111111" />
</ActivationDependencies>ActivationDependency Element (Feature)
代表了一个当前Feature激活依赖的Feature。
<ActivationDependency FeatureId = Guid></ActivationDependency>
属性 描述 FeatureId
必需Guid. 该依赖性所指向的Feature的ID。
备注
如果当前Feature依赖于另一个更小范围上的Feature,或者依赖与一个隐藏Feature,那么此时Windows SharePoint Services 将不支持跨范围激活依赖性。
ElementManifests 元素(Feature)
包含对用于该Feature的元素清单和元素定义文件的引用。
ElementFile 元素(Feature)
指定该Feature的一个支持文件。
<ElementFile Location = "Text"></ElementFile>
属性 描述 Location
必需Text. 指定该元素的一个支持文件的文件相对路径,例如, “controls"searcharea.xml”。
ElementManifest 元素(Feature)
指定一个包含feature元素定义的文件。
<ElementManifest Location = "Text"></ElementManifest>
属性 描述 Location
必需 Text. 指定根元素清单文件的相对路径,例如,“controls"searcharea.xml”。
Properties 元素(Feature)
包含了一个Feature属性的默认值的清单。
Property 元素(Feature)
定义一个Feature属性的默认值。
<Property Key = "Text" Value = "Text"></Property>
属性 描述 Key
必需 Text. 返回用于修改的属性的标识。
Value
必需 Text. 返回该属性的值。
示例
下面的例子展示了如何用一个Feature.xml文件来指定激活依赖性,特定的字段,和元素定义文件的相关路径。
XML
<Feature
Id="11111111-1111-1111-1111-11111111111"
Title="Location Services"
Description="This Feature contains lists and parts that let you link location data to your customer lists."
Scope="Web">
<ActivationDependencies>
<ActivationDependency
FeatureId="11111111-1111-1111-1111-111111111111" />
</ActivationDependencies>
<ElementManifests>
<ElementManifest
Location="Location\LocationPart.xml"/>
<ElementManifest
Location="CustomerLocation\CustomerLocationList.xml"/>
<ElementFile
Location="test.aspx"/>
</ElementManifests>
<Properties>
<Property
Key="Color"
Value="Blue"/>
<Property
Key="Shape"
Value="Triangle"/>
</Properties>
</Feature> |
|