升级定义文件

上次修改时间: 2010年4月6日

适用范围: SharePoint Foundation 2010

本文内容
SharePoint Foundation 如何在各个升级定义之间进行选择
应用网站定义升级
程序集引用
语言包和网站定义升级

网站升级定义提供了用于转换在早期版本的 SharePoint 产品中自定义的网站的方法,以便这些网站能够利用最新版本中的新功能。升级定义文件将一个内部版本或版本的文件和列表数据映射(或"关联")到后续内部版本或版本中,并指定已升级网站中应包含的其他项。

通过为网站定义的升级定义给定唯一的文件名(通常以网站定义的名称开头),并将其放置在安装目录的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade 文件夹中,可以注册网站定义的升级定义。为每个网站定义注册多个网站升级定义,但同一网站定义可能存在多个升级定义。网站升级定义还包括列表升级模板,此模板描述如何将列表的特定列映射到新版本的 SharePoint Foundation 2010 中的内容类型。

了解升级定义的好方法是学习 SharePoint Foundation 的安装中包含的升级定义文件,这些文件位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade 目录中。此目录包含两个升级模板:一个从早期版本升级到当前版本的升级模板,和一个在 SharePoint Foundation 的内部版本到其最终发行版本之间升级的升级模板。

SharePoint Foundation 如何在各个升级定义之间进行选择

在确定网站是否可升级时,SharePoint Foundation 使用下列算法选择在多个定义可用时要使用的升级定义:

  1. 如果网站不是当前产品版本,则 SharePoint Foundation 将选择一个在产品版本之间进行升级并将网站更新为最新模板版本的升级定义。升级定义可在版本之间或模板之间执行升级操作(但不能同时执行这两者),这意味着定义不能同时具有 FromProductVersion 和 BeginFromSchemaVersion/EndFromSchemaVersion 属性集。如果网站不是当前产品版本,并且没有任何升级定义可以在版本之间升级网站,则该网站将无法升级。

  2. 如果第一种情况不适用,则 SharePoint Foundation 会选择这样的升级定义,在此定义中,ToSchemaVersion 属性的值与网站定义的当前模板版本最接近匹配(而不超过此版本),并且现有网站实例的模板版本位于 BeginFromSchemaVersion 和 EndFromSchemaVersion 之间。

  3. 如果多个网站升级定义符合 #2 的条件,则 SharePoint Foundation 会选择具有最高的 BeginFromSchemaVersion 值的升级定义。

  4. 如果同时存在针对指定的网站定义的通用语言和特定区域设置模板,则 SharePoint Foundation 会选择特定的区域设置模板。

应用网站定义升级

SharePoint Foundation 使用升级定义来设置已转换的网站。应用网站定义升级的过程必须替换默认项,如下所示:

  • 如果尚未修改网站定义的导航节点,则将移除早期版本的现有导航节点,并用当前版本网站定义中的导航节点替换。

  • Onet.xmlFeature.xml 文件的 <ListTemplates> 部分确定要从"创建"页上选择的列表模板。应用网站升级定义时,SharePoint Foundation 使用当前版本而不是早期版本的 Onet.xmlFeature.xml 文件中的列表模板集来确定列表模板集。

  • 同样在升级之后,SharePoint Foundation 使用新的 Onet.xml 文件的 <DocumentTemplates> 部分来确定可用的自由文档模板集,而不使用早期版本的 <DocumentTemplate> 文件集。

    备注

    建议将大部分的文档模板与内容类型关联起来,而不要保持独立。

默认情况下,在升级现有网站时,网站定义升级不设置新的网站定义中的模块或列表实例。SharePoint Foundation 依靠一组 <File> 元素指定如何将早期版本的文件映射到当前版本,并依靠升级定义中的一组模块和列表实例标记,此升级定义指定早期版本和当前版本之间的不同文件和列表数据。

使用升级定义可对网站进行一致性升级以使用替换内容类型、表单、列表和页。如果升级定义不可用,则 SharePoint Foundation 基于早期产品版本升级网站,并以可能会向用户公开当前版本的功能(如内容类型)为代价,尽可能地区分数据迁移和互操作的优先顺序。在设置主要的版本升级任务(如数据库转换)之后,这将成为所有网站的默认状态。

程序集引用

web.config 文件包含将早期版本的产品程序集(如 Windows SharePoint Services 3.0 中的 Microsoft.SharePoint.dll)映射到它们在当前(最新)产品版本中的等效项的策略重定向。

语言包和网站定义升级

在版本升级中,如果在升级之前,已安装特定早期版本的语言包但未安装其相应的当前版本的语言包,则升级日志会记录错误。不过,升级操作仍将完成。

请参阅

概念

用于升级网站定义的结构性方法

升级自定义网站定义

其他资源

升级 SharePoint Foundation