我所知道的SharePoint feature(1)

    最近,公司的一些东西用到了feature,本着好记忆不如烂笔头的精神,觉得将自己学习的一些东西写下来,防止以后忘了。我知道园子里有许多人都写过相类似的东西,这里不敢班门弄斧,本着有过改之,无着加勉,希望大家多多提意见。高手们多多指点,新手们共同学习。
    首先是对feature的一个定义,我从MSDN上找到一段对feature的定义
    Windows SharePoint Services 3.0 introduces an inherently portable and modular functionality known as a feature, which simplifies modification of sites through site definitions. A feature is a package of Windows SharePoint Services elements that can be activated for a specific scope and that helps users accomplish a particular goal or task.
     从我自身来说,我觉的可以把feature看做是为了完成某项任务和功能的小模块,而这个小模块可以在不同的范围上激活或是结束。
    既然是讲feature,就先讲一个简单的例子,这个例子是MSDN上的,我在我的虚拟机上实验过了,是可行的,讲这个例子的目的是有个更为直观的认识。
    1.首先,你可以用VS2005创建一个C#的class library的工程,创建这个工程我们不用里面的任何东西,只是为了编辑两个XML文件,在VS2005编辑feature是很方便的,因为我这台电脑不能使用虚拟机,所以方便之处只能下次再说了。你先创建一个文件夹,然后在这个文件中创建两个XML文件,具体的请看下图:
                                          
    2.下面是feature的内容,Ttile不用说了。这里最为重要的是Scope和Id这两个属性,Scope指定了,这个feature可以激活使用的范围是什么。一共是有四个级别的范围。Farm WebApplication Site Web.
    Farm:服务器场范围,这个是最大的范围
    WebApplcation:你可以看就是一个http://ccccc:vv之类的一种形式。在一个服务器场中,会有多个webapplication
    Site:site collection就是网站集。
    Web:subsite网站集下的一个web
    Id属性中的GUID是标识feature的唯一全局标识符,可以用VS2005中的工具来生成,在Tools菜单下面有个Create Guid的工具,选择第四种的格式,你可以不断的生成新的GUID,直到你觉的数字不错了:)
                                 
< Feature  Title ="New Simple Form Toolbar Button"
  Scope
="Web"  
  Id
="GUID"  
  xmlns
="http://schemas.microsoft.com/sharepoint/" >
  
< ElementManifests >
    
< ElementManifest  Location ="Elements.xml"   />
  
</ ElementManifests >
</ Feature >
    在这个feature.xml文件中是对整个feature做一个描述和基本定义,真正对这个feature起作用的,或是说完成这个feature所预想的功能的是在ElementManifest中指定的文件,你可以指定多个这样的文件,来完成多个工作。
    3.这个feature的目的是adds a button to the toolbar of the form for editing announcements items within the scope of a SharePoint site。因为我用的是英文版本的MOSS2007,我不太清楚里面的有些东西该如何翻译成中文,我也没有见过中文版本的MOSS,所以这里我将英文直接贴出来,希望大家谅解。
    
< Elements  xmlns ="http://schemas.microsoft.com/sharepoint/" >
  
< CustomAction  Title ="Simple"  
    Sequence
="10"  
    RegistrationType
="List"  
    RegistrationId
="104"  
    Location
="EditFormToolbar"  
    Id
="Simple Toolbar" >
    
< UrlAction  Url ="/_layouts/SampleUrl.aspx"   />  
  
</ CustomAction >
</ Elements >

    上面是elements.xml文件的内容。一个CustomAction是为一个link或是工具栏对象定义行为。
    Id:为这个CustomAction指定一个文本标识符
    Sequence:指定action的优先级的顺序
    Location:Action出现的位置,在MSDN中有对Location有详尽的列表,以后会提到。你不仅可以对action指定title还可以加上你想要的图标。
    RgistrationType:Specifies the registration attachment for a per-item action. (不好意思,我不知道该如何翻译才更合适)。这是个可选的文本属性。从我的理解来说,这是对那些类似list中的item指定action。有ContentType List FileType ProgID。这里指定的是List,因为announcements是List的一种类型。
    RegistrationID:104代表着announcements。
    关于RegistrationID等具体的数值在MSDN中有详细的列表,后面的文章中也会有提到。
    UrlAction:指定了,当我们点击相应的item时,调用的是哪个页面。你可以自定义这个页面放在 Local_Drive :\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\Layouts
    
< html >
< head  runat ="server" >
< title > Sample Page </ title >
</ head >
< body >
< p > Hello, world! </ p >
</ body >
</ html >
以上就是这个例子的代码。
    4.将刚才创建的文件夹复制到 Local_Drive :\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\Features下面。
    运行 stsadm -o installfeature -filename SimpleFormToolbarButton\Feature.xml 
    这个是安装这个feature的命令行,安装feature的命令行有多种,这个只是其中的一种。
    安装完之后,你选择一个web,site action->site setting->site feature (因为我手中没有MOSS,只是凭记忆,有的地方的书写可能不太对,不过大致一样),进入到feature管理页面,激活后,到一个announcements中,就 可以看到新feature启用了。

转载于:https://www.cnblogs.com/jdxyw/archive/2008/07/03/1234790.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值