Feature定制和使用

     Feature的概述
    Window SharePoint Service 3.0的Features可以看作是一些开启或者关闭的插件,每个插件中包含一些数据或者操作,这样就可以将网站定制简化为若干插件的组合。比如说,可以通过管理界面激活或者关闭一些Feature来实现修改网站模板的效果。
    Features可用于确定自定义代码运行的语义环境;可以提供安装和卸载,激活或者关闭方式的插件模式;可以存放一些需要的属性;可以存放一些可以安全运行的代码。Features实际上提供了一种用于分发部署的SharePoint解决方案的框架。
     Features的基本概念
    1.Features文件结构
    在安装目录下, C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES该路径下每一个文件夹对应着一个Feature,每个文件夹中都有一个Feature.xml文件,这个文件定义了此Feature的基本属性,并指明了被包含近来的资源文件。被此Feature所使用的其它文件可同样一起包含在这个字文件夹中,比如aspx,html,xsn,resx,dll文件,等。
    2.Features的使用范围的层次
    站点级,站点集级,Web应用程序级(即虚拟服务器级),服务器场级。
    站点(集)级的Features包括可以应用到站点集或一个单独站点特性,比如列表模板,相关文件,内容类型;Web应用程序级Features可以包含虚拟服务器程序集以及服务器管理链接;服务器场级的Features基本上都是默认激活的。
    3.Features的依赖关系
    Features是可以定义依赖关系的,因此有的Features的激活必须以其它Features的激活为前提。同级的Features是可以建立依赖关系的,而对于不同级的,则要求由固定的方向。比如说,一个站点级的可以依赖于一个站点集级的Feature,但是反过来则是不可以的。
    Feature.xml的文件结构
    Feature.xml文件定义了一个Feature文件的属性以及其相关的程序集,文件,依赖关系,等等。
    各个节点的定义如下:
    "Feature":包括ID,Title,DefaultResourceFile,Description等属性,为整个文件的根元素;
    "ActivationDependency":包括FeatureID,Title,Description,Url等,用于定义依赖关系;
    "ElementManifest":包括Location属性,用于定义根元素说明文件的相对路径;
    "ElementFile":包括Location属性,用于定义根元素文件的相对路径。
    Features实战
    
首先,在C:"Program Files"Common Files"Microsoft Shared"web server   extensions"12"TEMPLATE"FEATURES" 路径下,创建一个名为”CustomFeature” 的目录,在这个目录下创建Feature.xml 文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="EC27054B-9259-4bb2-94CF-29AD6EF7FD5D"
          Title="Light Up"
          Description="This example shows how you can light up various areas in WSS3.0"
          Version="1.0.0.0"
          Scope="Site"
          xmlns="http://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location=" LightUp.xml" />
    </ElementManifests>
</Feature>

其中IdGuid编码,使用D:"Program Files"Microsoft Visual Studio 8"Common7"Tools路径下的guidgen.exe命令,或者从vs2005中直接获取。

其次,创建LightUp.xml文件。这个例子,为文档库增加自定义动作链接,这些链接会指向统一的页面,而这个页面可以显示执行它的动作。

<?xml version="1.0" encoding="utf-8"?>
<Elements
    xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
        Id="CustomFeature.DocLibNewToolBar"
         RegistrationType="List" 
         RegistrationId="101"
         GroupId="NewMenu"
         Rights="ManagePermissions"
        Location="Microsoft.SharePoint.StandardMenu"
        Title="MY DOCLIB NEW MENU TOOLBAR BUTTON"
        Sequence="1000" >
         <UrlAction Url="/_layouts/CutomFeatureHello.aspx?NewMenu"/>
    </CustomAction>
     <CustomAction
        Id="CustomFeature.DocLibUploadToolbar"
         RegistrationType="List" 
         RegistrationId="101"
         GroupId="UploadMenu"
         Rights="ManagePermissions"
        Location="Microsoft.SharePoint.StandardMenu"
        Title="MY DOCLIB UPLOAD MENU TOOLBAR BUTTON"
        Sequence="1000" >
         <UrlAction Url="/_layouts/CutomFeatureHello.aspx?UploadMenu"/>
    </CustomAction>
 <CustomAction
        Id="CustomFeature.DocLibActionsToolBar"
         RegistrationType="List" 
         RegistrationId="101"
         GroupId="ActionsMenu"
         Rights="ManagePermissions"
        Location="Microsoft.SharePoint.StandardMenu"
        Title="MY DOCLIB Actions MENU TOOLBAR BUTTON"
        Sequence="1000" >
         <UrlAction Url="/_layouts/CutomFeatureHello.aspx?ActionsMenu"/>
    </CustomAction>
 <CustomAction
        Id="CustomFeature.SiteActionsToolBar"
         GroupId="SiteActions"
        Location="Microsoft.SharePoint.StandardMenu"
        Title="MY SITE ACTIONS BUTTON"
        Sequence="1000" >
         <UrlAction Url="/_layouts/CutomFeatureHello.aspx?SiteActions"/>
    </CustomAction>
 <CustomAction
        Id="CustomFeature.SiteSettings"
         GroupId="Customization"
        Location="Microsoft.SharePoint.SiteSettings"
        Title="MY SITE SETTINGS LINK"
        Sequence="1000" >
         <UrlAction Url="/_layouts/CutomFeatureHello.aspx?Customization"/>
    </CustomAction>
</Elements>

再次,在C:"Program Files"Common Files"Microsoft Shared"web server extensions"12"TEMPLATE"LAYOUTS路径下创建CutomFeatureHello.aspx,其内容为:

<%@ Page Language="C#" Inherits="System.Web.UI.Page" %>
<%
    string ClientQuery = Page.ClientQueryString;
if(ClientQuery == "NewMenu")

    {

        Response.Write("New Menu");

    }

    else if(ClientQuery == "UploadMenu")

    {

        Response.Write("UploadMenu");

    }

    else if(ClientQuery == "ActionsMenu")

    {

        Response.Write("ActionsMenu");

    }

    else if(ClientQuery == "SettingMenu")

    {

        Response.Write("SettingMenu");

    }

    else if(ClientQuery == "SiteActions")

    {

        Response.Write("SiteActions");

    }

    else if(ClientQuery == "Customization")

    {

        Response.Write("Customization");

    }

 %>       

最后一步,安装并激活Feature

Stsadm o installfeature filename CustomFeature"Feature.xml

Stsadm o activatefeature filename CustomFeature"Feature.xml url

http://gswuxy:9001/         

iisreset

效果如下:

转载于:https://www.cnblogs.com/administrators/archive/2007/10/30/942005.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值