自定义SharePoint新网站创建过程(1)

news/2024/5/9 20:53:56/文章来源:https://blog.csdn.net/weixin_33724570/article/details/90058120

为什么要自定义一个SharePoint新网站的创建过程呢?作用很多。其中之一就是,我们创建了一个新的SharePoint应用组件,然后希望SharePoint管理员在创建一个SharePoint新网站的时候,就可以在那个新网站中使用我们开发的新应用组件。 

SharePoint Server 2007本身也利用了这种方式。比如,如果用户希望使用Records Management相关的功能,他可以使用“记录中心”这个网站模板来创建一个新网站。在新网站中,界面和内容会根据Records Management的需求做好了一些定制,用户可以直接基于新网站中的预制内容,开始自己的工作。 

 

  

要自定义一个SharePoint新网站创建过程有两种方式: 

1、Feature Stapling 
2、Custom Site Definition + Site Provisioning Engine 

SharePoint产品自身大量使用了第二种做法。我们也可以模仿它那样,创建一个定制的Site Definition,然后让用户在上图所示的创建新网站的时候,选择我们创建的Site Definition即可。创建一个定制的Site Definition是一件繁琐的活儿,特别是如果还需要利用SharePoint Provisioning Engine来做一些更“高级”的调整。幸好SharePoint Solution Generator一定程度上减少了创建Site Definition的复杂度。 

但我个人更建议你使用第一种方法。:) 所以今天我先介绍Feature Stapling,第二种方法在后续的文章中再介绍。 

Feature Stapling,也叫Feature/Site Template Association,它的作用是将某个Feature与某个网站模板关联起来,而不需要这个网站模板定义本身包含这个Feature。比如,在系统中有“工作组网站”这样一个Site Definition,我们希望这个模板能包含我们自己开发的一个“Feature XYZ”,但是又不想直接到磁盘上去改动“工作组网站”这个Site Definition。除了使用上面说的第二个办法(也就是在“工作组网站”的基础上添加一个新的比如“工作组网站 with Feature XYZ”的Site Definition),用Feature Stapling就能将我们的这个“Feature XYZ”与“工作组网站”Site Definition关联起来,就好象“工作组网站”Site Definition已经包含了“Feature XYZ”一样。 

要实现Feature Stapling,需要创建至少2个Feature。第1个Feature叫做Feature Stapler,也就是用来将真正完成功能的Feature与网站模板进行关联的一个Feature,第2个也就是用来完成功能的Feature本身了(也就是上文所说的“Feature XYZ”)。 

由于Feature有事件处理程序机制,所以,通过给第2个完成实际功能的Feature添加事件处理程序,我们实际上是能利用Feature Stapling完成某些很复杂的事情的。例如,给网站中添加几个List、为网站添加一些预定义的用户。 

曾经有人问过我这样一个问题,如何修改所有用户的“我的网站”的样式?比如,在“我的网站”首页中增加自己开发的Web Part,或者干脆将“我的网站”完整的换成自己想要的样子?Feature Stapling就是一个很好的解决之道,我们只需要将一个(或多个)Feature关联到“我的网站”所使用的网站模板,这样,当每个用户第一次访问“我的网站”并为其创建“我的网站”时,关联的Feature就可以通过它的事件处理程序来完成工作,达到我们想要的效果。 

接下来是我最喜欢的实例示范环节。:) 

Demo场景是,当用户使用SharePoint内置的“工作组网站”这个模板创建一个新网站时,希望在这个新网站内能自动出现一个联系人列表,并且里面已经包含了一些原始数据。 

首先,创建Feature Stapler: 

feature.xml: 
<Feature Id="06dbfca3-a041-4c50-aea3-7dd8561b48f9" Title="STS#0 Feature Stapling" Scope="Farm" Version="1.0.0.0" Hidden="FALSE" DefaultResourceFile="core" xmlns="http://schemas.microsoft.com/sharepoint/"
  <ElementManifests> 
    <ElementManifest Location="STS0FeatureStapling\elements.xml"/> 
  </ElementManifests> 
</Feature>
 

elements.xml: 
<Elements Id="55B76996-827F-4879-B0D1-BADDCCDC8AAC" xmlns="http://schemas.microsoft.com/sharepoint/"
  <FeatureSiteTemplateAssociation Id="1d68910c-b227-4cba-bfa7-87896d812dcf" TemplateName="STS#0" /> 
</Elements>


然后是实际用来完成工作的Feature: 

feature.xml: 
<Feature Id="1d68910c-b227-4cba-bfa7-87896d812dcf" 
         Title="Team Site Init" 
         Scope="Web" 
         Version="1.0.0.0" 
         ActivateOnDefault="FALSE" 
         Hidden="FALSE" 
         DefaultResourceFile="core" 
         ReceiverAssembly="FeatureStaplingSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" 
         ReceiverClass="FeatureStaplingSample.FeatureCode.TeamSiteInitFeatureReceiver" 
         xmlns="
http://schemas.microsoft.com/sharepoint/" /> 

上面的Feature使用了一个事件处理程序来进行实际的工作,事件处理程序的代码就不贴了。 

示范完整源码下载(需要VS2008+VSeWSS 1.2)。





本文转自 kaneb0y 51CTO博客,原文链接:http://blog.51cto.com/kaneboy/280769,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_803612.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx代理访问网站及实现缓存

1.Nginx介绍首先介绍下NNginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的&#xff0c;第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布&#xff0c;因它…

电子商务网站SQL注入项目实战一例

故事A段&#xff1a;发现整站SQL对外输出&#xff1a; 有个朋友的网站&#xff0c;由于是外包项目&#xff0c;深圳某公司开发的&#xff0c;某天我帮他检测了一下网站相关情况。 我查看了页面源代码&#xff0c;发现了个惊人的事情&#xff0c;竟然整站打印SQL到Html里&#x…

爬取视频网站的视频

网站视频 解析视频连接 以某一个视频为例&#xff1a; 因为是视频的原因&#xff0c;视频后台服务器为了优化做了对视频这一类大文件的分片处理&#xff0c;所以下面会看到一集视频会包含很多请求链接&#xff0c;本人测试了一下&#xff0c;平均一个请求会对应一个1M的视频文…

【JSP学习笔记】4:使用Model1模式构建购物网站demo

J2EE课的上机题&#xff0c;实现一个Model1模式的购物网站的功能。 编码问题 编码问题终于找到解决方法了&#xff0c;首先保证每个页面能编码的都编成UTF-8&#xff0c;然后所有用到内置对象的地方上来先.setCharacterEncoding("UTF-8");&#xff0c;然后重要的是…

搭建网站必不可少的知识15

网站迁移 备份网站和数据库 在服务器上将网站文件拷贝到另一个文件夹 数据库部分打开phpmyadmin 进入phpboke数据库&#xff0c;点击“导出”进行“执行” 选择数据库要保存的位置&#xff0c;进行保存 网站恢复当我们更换服务商或者系统时进行了网站和数据库的备份&#xff0c…

HTTrack(网站镜像工具)

1、首先打开kali 中的这个工具 Web信息收集工具HTTrack ,会直接出现出现使用语法。 对于传统的像存在Robots.txt的网站&#xff0c;如果程序运行的时候不做限制&#xff0c;在默认的环境下程序不会把网站镜像&#xff0c;简单来说HTTPrack跟随基本的JavaScript或者APPLet、flas…

我的网站搭建: (第十天) Ueditor后台编辑器

之前说过&#xff0c;我的网站编辑器一开始是tinymce&#xff0c;然后才用的ckeditor。可是最近我发现&#xff0c;ckeditor的小图标不是很美观&#xff0c;看久了有点low的样子。我是不是应该换一个编辑器呢&#xff0c;一想到这里&#xff0c;马上打开谷歌搜索有没有更加美观…

Java Web性能测试 - 动态网站测试脚本录制

Java Web性能测试 - 动态网站测试脚本录制 本章讲解使用Badboy对网站的请求进行录制&#xff0c;录制完成的脚本文件可以直接用JMeter使用&#xff0c;免去在JMater中进行配置的时间。 使用Badboy录制基本的目的就是减少我们在使用JMeter测试WEB项目时&#xff0c;一个一个Url…

Java Web项目性能测试 - JMeter测试网站吞吐量、反应时间百分比、流量

Java Web项目性能测试 - JMeter测试网站吞吐量、反应时间百分比、流量 为了衡量、调整、完成Java Web项目的性能指标&#xff0c;满足客户、用户对性能的要求&#xff0c;保证项目上线后能正常运行&#xff0c;以及了解项目的性能指标&#xff0c;为项目性能监控做参考&#x…

Java图片水印生成器代码 - 批量给自己的网站图片加水印

Java图片水印生成器代码 - 批量给自己的网站图片加水印 最近在做一款APP&#xff0c;App中的图片是自己一个个的画出来的&#xff0c;为了保证图片不被盗用和处理&#xff0c;所以就需要加上水印防盗。这跟CSDN一样。 注意事项&#xff1a;1. 我是在window7 eclipse 下完成的…

阿里云云虚拟主机上个人网站的Https访问配置

本文基于阿里云云虚拟主机,我个人网站是基于Hexo博客系统搭建的静态网站,所以搭建Https相对方便 一、获取HTTPS安全证书 在操作之前&#xff0c;请将你的域名的隐私保护去掉&#xff0c;让证书服务商能通过域名解析查看到域名管理者的邮箱&#xff0c;否则验证证书时会无法进行…

阿里云服务提供商分享视频直播网站服务器解决方案

大家应该都听过抖音、西瓜视频这类的视频网站&#xff0c;而且这些视频网站深受大家喜爱。直播模式也如雨后春笋一般快速出现&#xff0c;电商直播也逐渐火热。因此很多视频类公司纷纷搭建视频直播平台&#xff0c;那么这类网站的服务器该如何选择呢&#xff1f;下面就由阿里云…

使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)

很多开发者都需要使用代理工具来调试接口&#xff0c;查看数据等等&#xff0c;但是有时候发现打开代理工具之后&#xff0c;代理工具同时也拦截了电脑的所有网络请求&#xff0c;导致电脑访问网站时提示&#xff08;您的连接不是私密连接&#xff09;。。。 造成这种问题的原因…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化&#xff0c;并在此基础上&#xff0c;降低模块间的耦合性&#xff0c;提供模块的复用性。模…

新书推荐:网站交互设计模式

新书推荐&#xff1a;网站交互设计模式【作  者】(美)Douglas K.Van Dugne;James A.Landay;Jason I.Hong [同作者作品] [作译者介绍] 【译  者】 孙昕;焦洪[同译者作品] 【出 版 社】 电子工业出版社 【书 号】 9787121092046 【上架时间】 2009-7-24 【出版日期】…

html5游戏网站欣赏,70多个HTML5网站设计欣赏

70多个HTML5网站设计欣赏7月 6, 2011评论SponsorHTML5网站确实很不错&#xff0c;能帮助设计师解决很多美化问题外&#xff0c;还能提高更好的用户体验&#xff0c;制作出高效的网站&#xff0c;所以我们应该开始学习CSS3和HTML5这些技术了&#xff0c;不要老是被国外超越我们&…

高并发、高可用、大数据量网站系统演化

一、初始阶段的网站架构 应用程序、数据库、文件等所有资源都在一台服务器上 二、应用服务和数据库服务分离 整个网站使用三台服务器&#xff1a;应用服务器、文件服务器、数据库服务器 应用服务器需要更强大的CPU 文件服务器需要更大的磁盘空间 数据库服务器需要更快的硬盘和更…

WordPress网站漏洞利用及漏洞修复解决方案

2019年正月刚开始&#xff0c;WordPress最新版本存在远程代码注入获取SHELL漏洞&#xff0c;该网站漏洞影响的版本是wordpress5.0.0&#xff0c;漏洞的产生是因为image模块导致的&#xff0c;因为代码里可以进行获取目录权限&#xff0c;以及文件包含功能&#xff0c;导致远程代…

docker容器源码部署httpd,用存储卷部署网站

docker容器源码部署httpd&#xff0c;用存储卷部署网站 创建一个httpd镜像 // 创建一个httpd容器 [rootlocalhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [rootlocalhost ~]# docker ps CONTAINER ID …

java jsoup爬取动态网站_java笔记|爬取华软mysise所有课程信息

本次内容&#xff1a;使用java爬取网页数据&#xff0c;并进行数据清洗&#xff0c;熟悉爬取操作&#xff1b;爬取华软课程信息&#xff1a;http://class.sise.com.cn:7001/sise/index.jsp//源码package com.sise.studentInfoSystem.demo;import com.sise.studentInfoSystem.be…