SharePoint中的Feature(一)

1. Feature概述

FeatureSharePoint中的一个重要概念,最近几天都在看,一开始比较糊涂,这个Feature到底是什么东东?按照SharePoint SDK做了几个例子后,渐渐的有些了解,在接下来的文章中,我将结合例子把我对Feature的了解写下来。

       关于Feature的好处,在SDK中说了一大堆,通过使用Feature,可以大大简化我们更改或添加SharePoint一些功能的工作量,比如在某个工具条上添加一个按钮,在一个菜单中添加一个菜单项,替换一个现有的Control,创建一些事件处理程序,创建一个客户化的List定义等等。这些Feature管理起来也比较方便。

       那么一个Feature由哪几部分组成呢?Feature是由一个Feature文件(Feature.xml)和一些描述单个Element的文件组成。Feature放置在下面的目录中:

%SystemDrive%/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES

可以看到在上面的目录下有很多子文件夹,每个子文件夹下都有一个Feature.xml文件。你也可以在这里创建自己的文件夹,来创建Feature。在Feature.xml文件中,使用<Feture>标签来标记Feature以及范围等属性,使用< ElementManifests >指定了程序集、文件。

我们可以查看下面的图示来帮助理解这些文件的关系。Feature Element文件根据类型的不同,具有不同的格式。详细可以查看SDK

 

后面以两个简单的例子介绍如何创建Feature

2. 创建Feature——Custom Action

如果你想在Windows SharePoint Services的工具条上添加一个按钮,或者是想在List工具条以及List Item的菜单中添加一个菜单项,又或者是想在Site Actions下拉菜单中添加一项,你就可以通过创建Feature来实现这些功能。

要想定义一个客户化的菜单动作,你必须设定菜单所在的位置。这个位置可以通过SharePointID来指定。举例来说,要在Site Setting页面中添加一个客户化动作,可以将Location属性设置为Microsoft.SharePoint.SiteSettings,然后通过GroupId设置一个特定的区域,如Galleries表示该页Galleries。关于其他的Location以及GroupId信息可以查看SDKHow to: Add Actions to the User Interface)。

步骤

Step 1: %SystemDrive%/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES目录下创建一个文件夹,如UserInterfaceLightUp

Step 2: 在文件夹UserInterfaceLightUp下,建立一个Feature.xml文件,将以下信息拷贝到文件中。

<?xml version="1.0" encoding="utf-8" ?>
      
      
<Feature Id="GUID" 
      
      
    Title="Light Up"
      
      
    Description="This example shows how you can light up various areas inside Windows SharePoint Services."
      
      
    Version="1.0.0.0"
      
      
    Scope="Site"
      
      
    xmlns="http://schemas.microsoft.com/sharepoint/">
      
      
  <ElementManifests>
      
      
    <ElementManifest Location="Lightup.xml" />
      
      
  </ElementManifests>
      
      
</Feature>
      
      

Step 3: 创建一个GUID,在刚才创建的Feature.xml文件中,将这个创建的GUID作为Feature Id。创建GUID可以使用guidgen.exeLocal_Drive:/Program Files/Microsoft Visual Studio 8/Common7/Tools)。比较简单的方式是在Start——All Programs下找到Vistual Studio2005,打开Vistual Studio Tools下的Visual Studio 2005 Command Prompt,然后输入guidgen.exe,回车。

Step 4: 在文件夹UserInterfaceLightUp下再创建一个 Lightup.xml文件来定义动作。该例子中,将每个动作的链接指向了同一个网页,并传递一个值来判断是操作的哪个动作。

<?xml version="1.0" encoding="utf-8" ?>
      
      
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      
      
<!-- Document Library Toolbar Upload Menu Dropdown -->
      
      
  <CustomAction Id="UserInterfaceLightUp.DocLibUploadToolbar"
      
      
    RegistrationType="List"
      
      
    RegistrationId="101"
      
      
    GroupId="UploadMenu"
      
      
    Rights="ManagePermissions"
      
      
    Location="Microsoft.SharePoint.StandardMenu"
      
      
    Sequence="1000"
      
      
    Title="MY DOCLIB UPLOAD MENU TOOLBAR BUTTON">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?UploadMenu"/>
      
      
  </CustomAction>
      
      
<!-- Site Actions Dropdown -->
      
      
  <CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar"
      
      
    GroupId="SiteActions"
      
      
    Location="Microsoft.SharePoint.StandardMenu"
      
      
    Sequence="1000"
      
      
    Title="MY SITE ACTIONS BUTTON">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?SiteActions"/>
      
      
  </CustomAction>
      
      
<!-- Per Item Dropdown (ECB)-->
      
      
  <CustomAction 
      
      
    Id="UserInterfaceLightUp.ECBItemToolbar"
      
      
    RegistrationType="List"
      
      
    RegistrationId="101"
      
      
    Type="ECBItem" 
      
      
    Location="EditControlBlock"
      
      
    Sequence="106"
      
      
    Title="MY ECB ITEM">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?ECBItem"/>
      
      
  </CustomAction>
      
      
<!-- Display Form Toolbar -->
      
      
  <CustomAction 
      
      
    Id="UserInterfaceLightUp.DisplayFormToolbar"
      
      
    RegistrationType="List"
      
      
    RegistrationId="101"
      
      
    Location="DisplayFormToolbar"
      
      
    Sequence="106"
      
      
    Title="MY DISPLAY FORM TOOLBAR">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?DisplayFormToolbar"/>
      
      
  </CustomAction>
      
      
<!-- Edit Form Toolbar -->
      
      
  <CustomAction 
      
      
    Id="UserInterfaceLightUp.EditFormToolbar"
      
      
    RegistrationType="List"
      
      
    RegistrationId="101"
      
      
    Location="EditFormToolbar"
      
      
    Sequence="106"
      
      
    Title="MY EDIT FORM TOOLBAR">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?EditFormToolbar"/>
      
      
  </CustomAction>
      
      
<!-- Site Settings -->
      
      
  <CustomAction 
      
      
    Id="UserInterfaceLightUp.SiteSettings"
      
      
    GroupId="Customization"
      
      
    Location="Microsoft.SharePoint.SiteSettings"
      
      
    Sequence="106"
      
      
    Title="MY SITE SETTINGS LINK">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?Customization"/>
      
      
  </CustomAction>
      
      
<!-- Content Type Settings -->
      
      
  <CustomAction 
      
      
    Id="UserInterfaceLightUp.ContentTypeSettings"
      
      
    GroupId="General"
      
      
    Location="Microsoft.SharePoint.ContentTypeSettings"
      
      
    Sequence="106"
      
      
    Title="MY CONTENT TYPE SETTINGS LINK">
      
      
    <UrlAction Url="/_layouts/LightupHello.aspx?General"/>
      
      
  </CustomAction>
      
      
</Elements>
      
      

 

    Step 5: /TEMPLATE/LAYOUTS目录下,添加一个LightupHello.aspx文件,内容此处不写了,总之它的目的是当点击前一步中创建的菜单或按钮时,会链接到该页。
       
       
    Step 6:运行Command Prompt(打开Run对话框,输入cmd,按回车),输入cd %SystemDrive%/ Program Files/Common Files/Microsoft Shared/web server extensions/12/BIN,其中SystemDriveSharePoint所在的系统盘,如c:。定位到上面的目录后,输入
       
       
stsadm -o installfeature -filename UserInterfaceLightUp/feature.xml
它的作用是安装Feature
       
       
然后输入
       
       
stsadm -o activatefeature -filename UserInterfaceLightUp/feature.xml -url http://Server/Site/Subsite
      
      
最后重设IIS使它生效,输入
       
       
Iisreset
      
      
    Step 7:点击Site Actions查看新的菜单项;点击Site Actions下拉菜单中的SiteSetting,看Look and Feel部分;导航到一个document library,打开Upload菜单看新的添加项;查看document libraryItem的菜单项;点击document libraryItem菜单的View PropertiesEdit Properties,查看工具条上的action
       
       
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值