[转]使用Feature构建(之一):Site Columns
原文链接:http://www.cnblogs.com/zhalin/articles/1043757.html
使用Feature来进行SharePoint网站开发是一种专业并且聪明的开发方法。比如要构造Site Column,你可以在网站界面上面进行傻瓜式操作,通过Site Actions > Site Settings > Modify All Site Settings. 然后在Galleries > Site Columns, 最后点Create按扭。但是这种方法不够专业,假设如果要从开发机器部署到服务器,那么这个步骤需要在服务器上再操作一遍。很显然这个效率太低了并且也不会有人愿意这样做吧。而通过Feature,这一切都可以自动化,开发一次就一劳永逸,不需要在服务器上重新做同样的操作。
要建立一个Feature, 需要在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES 目录下面建立一个文件夹,文件夹的名字就是Feature的名字(比如叫MyFeature)。在里面建立两个XML文件,一个必须命名为Feature.xml, 另外一个自己愿意怎么取就怎么取(比如叫Columns.xml)
<!--Feature.xml-->
<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="B65EA08C-A725-4d87-B840-6EF3838B55C6"
Title="My Feature"
Description=""
Version="1.0.0.0"
Scope="Site" xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Columns.xml" />
</ElementManifests>
</Feature>
<!--Columns.xml-->
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{B966A7CE-DFC3-4003-9716-663632ACA002}"
Name="CustomField1" SourceID="http://schemas.microsoft.com/sharepoint/v3"
StaticName="CustomField1"
Group="CustomFields"
Type="Text"
DisplayName="CustomField1" />
<Field ID="{EAFC93B2-F96F-4728-BB33-19C3B4311441}"
Name="CustomField2" SourceID="http://schemas.microsoft.com/sharepoint/v3"
StaticName="CustomField2"
Group="CustomFields"
Type="Text"
DisplayName="CustomField2" />
<Field ID="{D877015F-32D3-415a-AC71-79B9FA53AA47}"
Name="CustomField3" SourceID="http://schemas.microsoft.com/sharepoint/v3"
StaticName="CustomField3"
Group="CustomFields"
Type="Text"
DisplayName="CustomField3" />
</Elements> 注意这里的ID都是GUID,可以用GUID Generator来产生。Field ID必须要用花括号"{ }"把ID包住。
Feature Scope从以下4个里面选一个:
Farm(server farm), WebApplication(web application), Site(site collection) and Web(web site)
最后打开命令行Start > Run > Cmd,运行:
stsadm -o installfeature -filename MyFeature\Feature.xml -force
stsadm -o activatefeature -filename MyFeature\Feature.xml -url http://yourserver/
iisreset
现在可以在 Galleries > Site Columns 里面看到以上的Fields了。![]()
This posting is provided "AS IS" with no warranties, and confers no rights.
浙公网安备 33010602011771号