热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Sharepoint站点feature的定制与开发

sharepoint站点Feature的定制与开发2008010904:17P.M.对于Feature,了解sharepoint的人应该都很熟悉了,不但控制着sharepoint上
sharepoint站点Feature的定制与开发

2008/01/09 04:17 P.M.

对于Feature,了解sharepoint的人应该都很熟悉了,不但控制着sharepoint上大部分功能的运用,还可以做功能的扩展,好处就在于管理非常的方便。虽然对于Feature的开发有很多,如用Feature定制功能菜单,用户控件方式的webpart等等,但用Feature的激活与停止功能,来执行后台代码还是挺有用的,下面就简单的介绍这个例子。
第一步:
打开VS,创建一个类库的项目,命名为“FeatureToRunCode”,
Class1.cs命名为MyCode.cs。添加引用Microsoft.sharepoint.dll。添加引用using Microsoft.SharePoint;并在MyCode类继承SPFeatureReceiver。
整个MyCode.cs代码如下

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace FeatureToRunCode
{
    public class MyCode:SPFeatureReceiver
    {

        public override void FeatureActivated(SPFeatureReceiverProperties properties)//当激活时修改网站的标题为My Feature is working
        {
            SPWeb web = (SPWeb)properties.Feature.Parent;
            web.AllowUnsafeUpdates = true;
            web.Title = "My Feature is working ";
            web.Update();
            web.Close();

 

        }
        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)//当激活时修改网站的标题为首页
        {
            SPWeb web = (SPWeb)properties.Feature.Parent;
            web.AllowUnsafeUpdates = true;
            web.Title = "首页";
            web.Update();
            web.Close();
        }
        public override void FeatureInstalled(SPFeatureReceiverProperties properties)//当Feature被安装时,
        {

           //当Feature被安装时,执行代码
        }
        public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
        {

          //当Feature被卸载时,执行代码

        }

    }
}
记得加入强名称,编译生成FeatureToRunCode.dll。并用Reflector.exe获取
程序集名:FeatureToRunCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=146ae474b0fd2221
类名:FeatureToRunCode.MyCode
将在后面的feature.xml文件中被用到。
第二步:
开始创建Feature文件。在FeatureToRunCode项目中,创建文件夹Features,在文件夹Features目录下创建文件夹FeatureToRunCode,在FeatureToRunCode文件夹下创建feature.xml.
feature.xml的代码如下:

         Id="E46240B7-8050-47e7-8A12-586C291B346C"
         Title="FeatureToRunCode"
         Description="用feature管理运行后台代码"
         Hidden="FALSE"
         Scope="Web"
         ReceiverClass="FeatureToRunCode.MyCode"
         ReceiverAssembly="FeatureToRunCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=146ae474b0fd2221"
         >



说明:
在这个XML文件中,以下关于Featrue的metadata 包含在Featrue 元素中。(更详细的信息请参阅Feature.xml Files)
ID: 一个GUID,用于唯一标识这个Feature,可以通过VS生成
Title:Feature 的名字,可以在网站内关于Site Featrues的页面中看到。
Description:对description的描述。
Version:Feature的版本;
Scope:其值可以是Web或Site,它指明了这个Feature是应用于整个的Site Collection还是仅仅用于单独的一个子站点。
Hidden:值可以是True或False.该设置指定了这个Feature是否在Site Feature页面上显示。
DefaultResourceFile: 资源文件名字,Feature依赖它提供其它附加的配置信息。
ReceiverClass:为程序集接收类。
ReceiverAssembly:为接收程序集.

保存。这样我们的代码跟Feature文件就已经创建好了,接下来就是布署了。
第三步:
布署Feature。先将FeatureToRunCode.dll拖入到GAC里,即c:/WINDOWS/assembly目录下。
再到项目目录下的Features目录下,将FeatureToRunCode文件夹复制到C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES目录下。
在SharePoint服务器上打开命令行

输入命令切换目录:cd C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/BIN
安装Feature输入命令:stsadm -o installfeature -filename FeatureToRunCode/feature.xml。
不要忘了要iisreset一下服务器。
OK,Feature的部署与开发已经完成。
第四步:
查看成果。打开网站,进入网站设置,进入网站管理---->网站功能,可以看到增加了一个FeatureToRunCode的Feature功能,如下图:


嗯,是不错,赶紧点击一下激活按钮,有点激动,好在,代码发挥作用了,网站的标题发生了变化了,变成My Feature is Working了,如下图:



至此,Feature管理后台代码已经完成了,还不错吧,那就赶快试试看,同时发挥一下想像力,在这里可以实现很多的功能......

 

推荐阅读
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 开发笔记:(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • 详解react组件通讯方式(多种)
    这篇文章主要介绍了详解react组件通讯方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着 ... [详细]
author-avatar
小伊果果_679
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有