SharePoint页面元素定义与部署工具

在SharePoint开发中,页面的部署是一个常见的需求。本文将介绍一种工具,它能够方便地将SharePoint页面及其元素定义打包,并在不同的SharePoint环境中进行部署。

在SharePoint开发环境中,开发者经常需要将页面部署到测试或生产环境。传统的部署方法包括从SharePoint页面库中下载页面及其Web部件,或者使用SharePoint服务器对象模型(SSOM)编写特性事件处理器来部署页面。本文将重点介绍第三种方法,即使用模块元素来部署页面。

模块元素是SharePoint解决方案中的文件容器。当解决方案部署时,模块中的文件会被复制到SharePoint服务器上指定的文件夹中。对于在页面库中部署ASPX页面的模块,需要一个包含页面元数据和页面上Web部件信息的模块元素定义,以及一个实际的ASPX页面文件。

使用工具

部署后,需要激活名为"Page Manifest Extractor"的特性,这是一个Web范围的特性。这个特性在SharePoint功能区的"Developer"组下添加了一些自定义功能按钮。具体位置如下:

"提取元素定义"按钮可以提取当前Wiki页面的特性元素定义。点击此按钮后,会打开一个SharePoint模态弹出窗口,指向URL为"http:///_layouts/15/PageManifestExtractor/PageManifest.aspx"的应用页面。这个应用页面在Wiki页面上下文中接受一个名为"PageUrl"的查询字符串参数。

"提取所有元素定义"按钮在页面库的库选项卡中打开一个模态弹出窗口,其URL与"提取元素定义"按钮相同,但查询字符串参数不同。在这种情况下,参数是"ListId",即当前页面库的GUID。

用例

这个工具主要是为开发者设计的。它可以在以下场景中使用:

  • 开发者完成页面开发后,需要将其打包并部署到其他环境。
  • 在生产环境中进行了更改,需要将这些更改复制到较低环境时,可以使用此工具提取页面XML,打包并部署回较低环境。

日志功能

该工具在不同级别上实现了日志记录,具体取决于它试图获取的工件。

  • Web部件:在最低级别,解决方案会尝试获取页面上的所有Web部件列表。如果在此过程中出现任何未处理的异常,消息将记录在元素定义上,即模态弹出窗口本身。
  • 页面级别:在工具尝试获取多个页面的元素定义时,如果其中一个页面出现异常,它将在模态弹出窗口的顶部以红色突出显示。其他页面的定义(没有异常的)仍然可以在模态弹出窗口中使用。
  • 关键级别:这是最高级别的异常,工具无法继续进行。这将在模态弹出窗口的顶部以红色记录。

该工具是使用SharePoint服务器端对象模型代码开发的,需要提升权限和应用页面,因此不能作为沙盒解决方案部署。然而,由于这是一个开发者工具,作者非常希望使用客户端对象模型开发这个工具,但由于在沙盒解决方案中使用布局/应用页面的限制,未能实现。在未来的增强中,首要的改进行动将是将其重做为沙盒解决方案。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485