部署自定义项 - 概述 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

本章中的文章介绍了在 Microsoft SharePoint Foundation 2010 环境中如何部署由开发人员或 Web 设计人员自定义的网站元素。

本文内容:

  • 过程概述

  • 开始之前

  • 关于两种可自定义的网站元素

  • 部署开发的网站元素

  • 部署创作的网站元素

过程概述

部署自定义项可能会很复杂,特别是 SharePoint Foundation 2010 中有很多可用的部署方法,而且使用一种方法并不会明显优于另一种方法。

通过使用不同的方法来部署以上不同类型的网站元素或项目。您无法使用单一的部署方法部署所有可自定义的网站元素。另外,还有其他适用于每种类型元素的独特的部署考虑因素,这是因为这些元素可能由不同的设计师组提出,并且各自有着不同的升级考虑因素。这些不同类型的网站元素会在本文后面的关于两种可自定义的网站元素中介绍。

有关具体的部署任务和相关考虑因素,请参阅下列文章:

开始之前

在将任何自定义代码部署到环境中之前,您应建立环境性能的基准,以便能够分析自定义项如何影响性能。建立性能基准后,请在测试或集成环境中全面测试自定义代码,并将结果与基准进行比较。确保对自定义项进行全面测试后,再将它们部署到生产环境中。

在将从第三方获得的任何代码部署到生产环境之前,也应对其进行测试,即使这些代码是从受信任的来源获得的。

这些文章中的说明和指南适用于已部署并已配置的符合服务器场和环境规划 (SharePoint Foundation 2010) 中要求的 SharePoint Foundation 环境。

关于两种可自定义的网站元素

开发的网站元素是解决方案项目,并且通常由开发人员创建。一个解决方案包括程序集,程序集是在开发前搜集并写入基于语言的 Microsoft .NET Framework 中的 SharePoint 组件。除了计时器作业程序集和网站定义,已开发的网站元素通常也会分组到各功能中,并且作为解决方案包的一部分进行部署。已开发的网站元素包括:

  • Web 部件

  • 工作流

  • 网站和列表定义

  • 文档转换器

  • 事件接收器

  • 计时器作业

  • 程序集

创作的网站元素一般由 Web 设计人员创建,并且在内容数据库中非显式进行编译和驻留。创作的网站元素包括:

  • 母版页

  • 级联样式表

  • 窗体

  • 布局页

这两种可自定义的网站元素有以下不同之处:

  • 文件在 SharePoint Foundation 2010 服务器场中的存储位置。

  • 组织中的哪个小组负责管理网站元素。

  • 网站元素需要什么部署机制。

一些网站元素可以是解决方案项目也可以是创作的项目。例如,一个内容类型可以在 XML 文件中定义为开发的解决方案项目,也可以通过浏览器创建为创作的项目。网站元素可以是解决方案项目或创作的项目,包括网站栏和列表实例。另外,解决方案项目可以用于将文件设置到网站或设置在前端 Web 服务器上的内存中进行缓存。

部署开发的网站元素

通常,可以这样定义开发的网站元素:在代码开发环境中创建并直接部署到前端 Web 服务器和应用程序服务器的网站元素。开发人员通过使用 SharePoint 2010 的 Microsoft Visual Studio 2010 Tools、Microsoft Office SharePoint Designer 或 XML 编辑工具来自定义这些网站元素。有关详细信息,请参阅 SharePoint Foundation 开发工具 (https://go.microsoft.com/fwlink/?linkid=183360&clcid=0x804)。

备注

本文不讨论部署为沙盒式解决方案的开发的网站元素的部署。沙盒式解决方案是一种既可以访问服务器对象模型的子集,也可以访问网站集管理员可以部署的功能元素子集的解决方案。有关详细信息,请参阅沙盒解决方案概述 (SharePoint Foundation 2010)

最佳实践是使用解决方案包和 Windows PowerShell 来部署开发的网站元素。SharePoint Foundation 解决方案框架使部署新的网站元素简单化、标准化,在服务器场间升级网站元素并与前端服务器同步进行,这样网站元素的状态与服务器场内的其他服务器状态保持一致。例如,解决方案包简化了重建服务器场的过程。通过手动处理代码和文件部署网站元素会导致升级过程中出现不一致,还会产生服务器与其他服务器不同步的现象。您可以使用解决方案包将开发人员环境中的开发的网站元素部署到集成服务器场、临时服务器场、试生产服务器场以及生产服务器场。

可以使用 Windows PowerShell cmdlet 创建、导入、导出和设置解决方案包,这些包利用解决方案框架来分发开发的网站元素的自定义项。Windows PowerShell cmdlet 有利于在大多数环境中开发网站自定义项,因为它既包含在 SharePoint Server 2010 中也包含在 SharePoint Foundation 2010 中,可以单独使用,也可与其他方法关联。您可以使用 Windows PowerShell cmdlet 同时部署项目和开发的网站元素。也可以使用 cmdlet 激活在解决方案包中部署的功能。

部署创作的网站元素

创作的网站元素与开发的网站元素的不同之处在于:虽然前者依赖于 Web 服务器或应用程序服务器的文件系统中的资源,但它们存储在内容数据库中。在某些情况下,创作的网站元素要求先部署开发的网站元素,然后才能工作。

在自定义部署完全自动化的环境中,系统可能会强制执行所需的部署顺序以消除同步问题。但是,如果自定义部署部分或完全需要手动执行,则您必须首先确保所有必需的资源均位于 Web 服务器和应用程序服务器上,然后再部署依赖于这些资源的内容。

可以通过使用一个或多个不同的系统,将创作的网站元素从创作环境部署到临时服务器场、试生产服务器场和生产服务器场。下表介绍这些系统及其关联的接口和使用方案。

部署系统 使用方案

SharePoint 管理中心网站

在源服务器场和目标服务器场通过网络连接的环境中,可以使用管理中心中的内容部署功能在源服务器场上创建内容部署包,然后将该包导出到另一个服务器场。

此方法易于配置和使用,并且可用于自动部署创作的网站元素,所需的设置时间和维护都非常少。

内容迁移对象模型

根据使用的具体方法(使用部署命名空间 API 进行编程,使用简单对象访问协议 (SOAP) 调用 Web 服务器,或使用 Windows PowerShell cmdlet 移动整个网站),您可以控制迁移的内容和方法。使用 API 导入和导出内容是唯一一种支持保留全局唯一标识符 (GUID) 的方法。

有关详细信息,请参阅内容迁移 (https://go.microsoft.com/fwlink/?linkid=183372&clcid=0x804)。

Windows PowerShell

可以使用 Windows PowerShell cmdlet 来对整个网站执行导入和导出操作,同时保留时间戳、安全信息和用户信息。要从整个 Web 网站移动基本内容时,Windows PowerShell cmdlet 非常有用。

在大多数环境中,Windows PowerShell 对网站自定义部署都很有用,因为它包括在 SharePoint 2010 产品中,可以单独使用,也可以和其他方法一起使用。您可以使用 Windows PowerShell cmdlet 同时部署项目和开发的网站元素。

有关详细信息,请参阅借助 Windows PowerShell 的 SharePoint 2010 产品管理

自定义 Web 服务

您可以创建自定义 Web 服务,以自动执行内容迁移和部署过程。可以编写自定义脚本和 Windows 应用程序,以执行此过程中的特定任务。

有关编写自定义 Web 服务的编程方法的详细信息,请参阅 Microsoft SharePoint 2010 软件开发工具包 (SDK) 中的以下资源:

手动代码处理

在断开连接的较小环境或并未持续对创作的网站元素进行自定义的环境中,您可以手动部署网站元素和相关的资源。在较小的连接环境中,请考虑使用管理中心中的内容部署功能来部署创作的网站元素自定义。

解决方案包和功能

网站元素(如页面布局、母版页和样式表等)可以在功能中作为解决方案包的内容进行分组和部署。从解决方案包中部署的功能可以在需要设置创作元素的范围中进行激活。

有关详细信息,请参阅使用功能部署网站元素 (SharePoint Foundation 2010)

自定义模板

用户可以将现有网站(有无具体内容均可)保存为自定义模板。这就提供了重新使用自定义网站的途径。自定义网站模板存储为 .wsp 文件。网站模板存储在网站集中首要网站的解决方案库中,此库中的网站模板可用于在网站集中的所有 Web 网站上创建子网站。可以下载网站模板和将网站模板移至其他网站集库中。

See Also

Concepts

部署解决方案包 (SharePoint Foundation 2010)
部署创作的网站元素 (SharePoint Foundation 2010)
使用功能部署网站元素 (SharePoint Foundation 2010)
部署模板 (SharePoint Foundation 2010)