在SharePoint开发中,页面的部署是一个常见的需求。本文将介绍一种工具,它能够方便地将SharePoint页面及其元素定义打包,并在不同的SharePoint环境中进行部署。
在SharePoint开发环境中,开发者经常需要将页面部署到测试或生产环境。传统的部署方法包括从SharePoint页面库中下载页面及其Web部件,或者使用SharePoint服务器对象模型(SSOM)编写特性事件处理器来部署页面。本文将重点介绍第三种方法,即使用模块元素来部署页面。
模块元素是SharePoint解决方案中的文件容器。当解决方案部署时,模块中的文件会被复制到SharePoint服务器上指定的文件夹中。对于在页面库中部署ASPX页面的模块,需要一个包含页面元数据和页面上Web部件信息的模块元素定义,以及一个实际的ASPX页面文件。
部署后,需要激活名为"Page Manifest Extractor"的特性,这是一个Web范围的特性。这个特性在SharePoint功能区的"Developer"组下添加了一些自定义功能按钮。具体位置如下:
"提取元素定义"按钮可以提取当前Wiki页面的特性元素定义。点击此按钮后,会打开一个SharePoint模态弹出窗口,指向URL为"http://
"提取所有元素定义"按钮在页面库的库选项卡中打开一个模态弹出窗口,其URL与"提取元素定义"按钮相同,但查询字符串参数不同。在这种情况下,参数是"ListId",即当前页面库的GUID。
这个工具主要是为开发者设计的。它可以在以下场景中使用:
该工具在不同级别上实现了日志记录,具体取决于它试图获取的工件。
该工具是使用SharePoint服务器端对象模型代码开发的,需要提升权限和应用页面,因此不能作为沙盒解决方案部署。然而,由于这是一个开发者工具,作者非常希望使用客户端对象模型开发这个工具,但由于在沙盒解决方案中使用布局/应用页面的限制,未能实现。在未来的增强中,首要的改进行动将是将其重做为沙盒解决方案。