`

MOSS点滴(1):如何开发和部署feature

阅读更多

Features 是MOSS 2007以开箱即用的一套新功能,Features 存储在SharePoint服务器的如下路径下:C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES。每个Featrue在此路径下有自己的子目录,在每一个Feature子目录下会发现名字为Feature.xml的文件,它存储一些关于Featrue的metadata信息。

下面我就利用feature来实现一个小功能,在"网站操作"中添加自定义的菜单,首先使用VS2005建立一个HelloWorld的类库项目,然后添加文件夹Helloworld,在文件夹中添加feature.xml文件代码如下:

<Feature Id="B2CB42E2-4F0A-4380-AABA-1EF9CD526F20" Title="Hello World Feature" Description="这是我的第一个Feature" Scope="Web" Hidden="FALSE" ImageUrl="TPG\canteen.gif" ReceiverAssembly="HelloWorld, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b38a04419cc857d9" ReceiverClass="HelloWorld.FeatureReceiver" xmlns="http://schemas.microsoft.com/sharepoint/">

<
ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>

</Feature>

下面我们来说明下包含在Featrue 元素中的metadata 信息。

ID: 一个GUID,用于唯一标识这个Feature,这个可以使用GUID的生成工具得到;

Scope:其值可以是Web或Site,它指明了这个Feature是应用于整个的Site Collection还是仅仅用于单独的一个子站点。如果Scope="Web",则在[网站操作—网站设置—网站管理—网站功能]下激活,如果Scope="Site"则要在[网站操作—网站设置—网站管理—网站集功能]下激活。

Hidden:值可以是True或False.该设置指定了这个Feature是否在Site Feature页面上显示。

DefaultResourceFile: 资源文件名字,Feature依赖它提供其它附加的配置信息。

<ElementManifests>元素:这个元素包含了另一个XML文件的位置,而这个文件包含的<Elemnets>的内容是Feature要实现的。

然后我们在添加elements.xml文件,代码如下:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<CustomAction Id="SiteActionsToolbar" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="100" Title="Hello World" Description="使用feature方式自定义菜单" ImageUrl="_layouts/images/crtsite.gif">
<UrlAction Url="http://msdn.microsoft.com" />
</CustomAction>

</Elements>

这个就是我们自定义的菜单项了。

在增加一个类文件FeatureReceiver.cs,代码如下:

   using System; 
using Microsoft.SharePoint; 

namespace HelloWorld 

  
public class FeatureReceiver : SPFeatureReceiver 
   { 
       
public override void FeatureInstalled(SPFeatureReceiverProperties properties) { } 
       
public override void FeatureUninstalling(SPFeatureReceiverProperties properties) { } 
       
public override void FeatureActivated(SPFeatureReceiverProperties properties) 
      { 
           SPWeb site 
= (SPWeb)properties.Feature.Parent; 
      
     site.Properties["OriginalTitle"= site.Title; 
           site.Properties.Update(); 
          
site.Title = "Hello World Modify"
           site.Update(); 
      } 

    
public override void FeatureDeactivating(SPFeatureReceiverProperties properties) 
   { 
      
SPWeb site = (SPWeb)properties.Feature.Parent; 
       site.Title 
= site.Properties["OriginalTitle"]; 
       site.Update(); 
    } 
  } 
}

SPFeatureReceiver 类中定义当安装、激活、停用或卸载 Web 部件 Feature 时,MOSS会触发这些事件,在此我们要设置feature.xml中的ReceiverAssembly 和 ReceiverClass 的属性。 这些属性指向一个功能接收器的托管类。PublicKeyToken是HelloWorld的key可以在VS2005命令行下使用"sn -t HelloWorld"来得到。

基本上我们的任务就完成了,现在我们就要开始部署了,需要通过以下步骤

1.将HelloWorl文件夹(其中包含feature.xml和elements.xml文件)拷贝到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES文件夹下。

2.STSADM -o InstallFeature -filename HelloWorld\feature.xml -force

feature1

3.使用"gacutil -if 程序集名"将HelloWorld.dll注册到GAC中

feature3

4.重启IIS:iisreset

现在我们去网站集功能中查看,你可以激活该feature,激活的时候会执行FeatureActivated中的代码

feature2

当然这一部署过程我们可以使用一个批处理来完成,注意路径的更改:

@SET TEMPLATEDIR="c:\program files\common files\microsoft shared\web server extensions\12\Template" 
@SET STSADM
="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm" 
@SET GACUTIL
="d:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" 

Echo Installing HelloWorld.dll in GAC 
%GACUTIL% -if bin\debug\HelloWorld.dll 

Echo Copying files to TEMPLATE directory 
xcopy /e /y TEMPLATE\* %TEMPLATEDIR% 

Echo Installing feature 
%STSADM% -o installfeature -filename  HelloWorld\feature.xml -force 

IISRESET 
REM cscript c:\windows\system32\iisapp.vbs /a 
"SharePointDefaultAppPool" /r

下面就是我们最终要实现的效果了

feature4

分享到:
评论

相关推荐

    在MOSS中开发和部署Infopath

    **在MOSS中开发和部署Infopath** Microsoft Office SharePoint Server (MOSS) 是一个功能强大的企业级协作平台,它提供了多种工具和功能来支持企业的工作流程、文档管理和信息共享。InfoPath是微软的一个表单设计...

    moss2010安装部署

    moss2010 安装部署 MOSS 2010(Microsoft Office SharePoint Server 2010)是一款功能强大...通过按照以上步骤逐步完成 MOSS 2010 的安装和部署,您就可以成功地部署 MOSS 2010,並开始使用它来提高企业协作和生产力。

    moss开发常用工具

    - Microsoft Visual Studio提供了专门的SharePoint开发工具包,允许开发者直接在IDE内创建、调试和部署SharePoint解决方案。它支持WSP包的创建,以及自定义Web部件、列表模板、内容类型等。 2. **SharePoint ...

    moss2007网页组件开发资料

    MOSS 2007是微软发布的企业级协作平台,它允许组织构建、管理和部署强大的企业级应用程序和网站。Web部件是MOSS中的核心组件,它提供了丰富的交互性和自定义功能,让开发者能够构建高度定制化的用户界面。 【描述】...

    Microsoft Office Sharepoint Server 2007开发系列课程(4):MOSS2007之EventHandler开发

    通过观看WebCast20070117_Video.wmv这个视频,你可以更深入地了解MOSS 2007的EventHandler开发实践,包括如何创建、注册和部署EventHandler,以及如何处理各种SharePoint事件。此外,视频可能还会涵盖异常处理、性能...

    moss 2007开发教程(1).MOSS2007之概述

    moss 2007开发教程,moss 2007开发教程(1).MOSS2007之概述

    moss2007 开发资料

    在Moss的开发领域,WebPart开发是核心组成部分,它允许开发者构建可重用的、交互式的用户界面组件,以增强用户体验和提升工作效率。本文将深入探讨Moss 2007的WebPart开发技术,并结合提供的压缩包资源进行实践分析...

    Moss+自定义Feature

    【Moss+自定义Feature】是指在微软的MOSS(Microsoft Office SharePoint Server)平台上通过创建和部署自定义Feature来扩展和定制系统功能的一种技术。Feature是MOSS中一个核心的概念,它允许开发者打包并部署一系列...

    MOSS+PROJECT SERVER 安装部署

    Microsoft Office SharePoint Server 2007 (MOSS 2007) 是微软2007 Office System的重要组成部分,提供企业门户、团队协作、内容管理和工作流等多种功能。它的安装和部署过程相对复杂,需要一系列的前置步骤和组件。...

    MOSS 2007部署过程完整版 pdf

    总结来说,MOSS 2007的部署涉及多个层面,包括硬件和软件的准备、基础架构的搭建、系统配置、高级功能的启用,以及后续的性能优化和管理。全面理解和掌握这些步骤对于成功部署和运行MOSS 2007至关重要。在实践中,...

    MOSS开发常用集锦

    5. **解决方案打包与部署**:了解如何将自定义代码、样式表、XML配置文件等打包成WSP解决方案,并通过PowerShell或中央管理服务器进行部署,是MOSS开发中的重要环节。 6. **权限与安全**:在大型组织中,权限管理是...

    MOSS常用部署命令stsadm

    在Microsoft Office SharePoint Server (MOSS)中,stsadm是一个非常重要的命令行工具,用于执行各种部署、配置和管理任务。stsadm提供了丰富的命令参数,帮助管理员有效地管理SharePoint环境。以下是一些常用的...

    利用INFOPATH_2007_+_VS2005开发MOSS工作流(部署篇).pdf

    以上便是利用INFOPATH_2007与VS2005结合开发MOSS工作流时涉及的关键部署步骤和技术点。这些知识点对于理解并掌握MOSS工作流的开发流程至关重要。希望本文能够帮助读者更好地理解和应用相关技术。

    Moss2007开发入门教程

    对于初学者,理解并掌握MOSS 2007的开发至关重要,因为它能够帮助企业构建高效的信息管理系统和业务流程。 **一、安装与配置MOSS 2007** 1. **系统需求**:确保服务器硬件满足最低配置要求,包括处理器、内存、...

    MOSS开发笔记(18周开发)

    【MOSS开发笔记(18周开发)】是关于Microsoft Office SharePoint Server (MOSS)的实战开发记录,这个笔记详尽地记录了在一个为期18周的项目开发过程中的各个环节,涉及到了SharePoint的多种技术和应用场景。...

    MOSS2007之开发概述

    1. **Visual Studio 2005**:是进行MOSS2007开发的主要集成开发环境(IDE),支持托管代码和非托管代码的开发。开发者可以利用它创建自定义应用程序和解决方案,如事件接收器和工作流。 2. **Office SharePoint ...

    Microsoft Office Sharepoint Server 2007开发系列课程(2):MOSS2007之开发概述

    "Microsoft Office Sharepoint Server 2007 开发系列课程" 是一个很好的起点,它会深入讲解MOSS 2007的开发技术和实践案例。例如,提供的 "WebCast20070110pm_Video.wmv" 视频可能涵盖了开发环境设置、基础开发概念...

    MOSS2007实用工具包

    对于MOSS 2007的开发和部署来说,Web部件和事件处理程序的开发并非难事,然而注册和部署却是一件麻烦的事情。 现在你可以通过《MOSS实用工具包》轻松地完成Web部件和事件处理程序的注册和部署。 下面简单介绍...

    MOSS2007测试环境安装部署图示指南

    ### MOSS 2007 测试环境安装部署图示指南关键知识点解析 #### 一、测试环境构建 - **虚拟化平台**: 使用VMware Workstation 5.5.3作为虚拟机平台来构建测试环境。 - **域名**: 构建的测试环境中的域名为`itsoft....

Global site tag (gtag.js) - Google Analytics