直观升级

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

适用范围: SharePoint Foundation 2010

升级到 Microsoft SharePoint Foundation 2010 时,对新产品所做的影响用户体验的更改可能会对某些用户界面 (UI) 元素(如自定义页面、Web 部件和 Web 控件或视图)产生负面影响。直观升级允许网站集管理员和网站所有者决定是否从先前的可视 UI 元素切换到当前可视 UI 元素。管理员可以选择在网站集的所有网站中提供还是隐藏直观升级选项,也可以继续将最新 UI 元素直接应用于所有网站。

在网站集中启用直观升级后,网站所有者可控制直观升级,初始服务器场升级会保留先前的用户体验(包括布局、命令组织方式和样式),以便保留原始网站的所有数据和设置。但是,在升级服务器场后,服务器场管理员、网站集管理员或者网站所有者可以更新其网站以提供最新的 SharePoint 用户体验。保留先前的用户体验降低了自定义内容无法正常工作的可能性,这样可以确保管理员、开发人员和最终用户可以在所有升级工作完成之前继续在 SharePoint Foundation 中工作。只要网站根据先前的 SharePoint 用户体验工作,一些新的 SharePoint 功能就可能无法使用。此类新功能包括服务器功能区 UI、Wiki 网页的就地编辑、交互日历或列表关系等。当网站切换到最新用户体验后,将自动启用新功能。升级后创建的新网站默认情况下将使用新 UI。

在两种 UI 模式下进行测试

升级后,使用测试环境在执行直观升级之前和之后测试网站。在先前的 UI 模式和当前 UI 模式下执行测试可以确保网站在两种版本中都可以正常工作。确保已安装自定义项,并且它们至少在先前的 UI 模式下可以正常工作。

确认具有可视外观的 UI 元素在新版本的 SharePoint Foundation 中可以正常工作并且可以正常显示。任何可视自定义项、插入 HTML 表单的任何自定义项或者与样式表(例如母版页、布局结构、页面上的控件)存在依赖关系的任何自定义项可能需要修订,在对这些自定义项进行测试后您才能了解是否需要修订。此类 UI 元素包括委托控件、Web 部件、自定义网站定义、自定义母版页、自定义主题等。尽管此类 UI 元素在直观升级之前可以正常工作,但是直观升级后它们呈现的内容与新 UI 不兼容,因此需要修改元素的可能性很大。可能只需极少的工作量即可升级的 UI 元素包括自定义内容类型、不具有可视外观的自定义字段控件、自定义 HTML 模块或者 HTML 处理程序等。

如果 UI 元素是可视元素,通常必须编写代码才能使其在当前版本的 SharePoint Foundation 中正常工作。应考虑元素在浏览器中的显示方式。在一些情况下,可能只需通过结束标记来修复 HTML 以实现严格模式。或者 Web 部件可能会在页面中插入旧标记语言。例如,如果内嵌列表按错误的顺序关闭,则可能会因特定于浏览器或与 DOM 相关的行为而导致页面无法正常显示。包含脚本的自定义用户控件、包含在 .asmx 和 .ascx 页面中定义的代码的自定义用户控件或者允许您承载文档库中的 .ascx 控件的自定义用户控件会引发安全风险和升级问题,在升级过程中应该考虑这些控件。如果测试过程中发现问题,务必首先尝试使用 SharePoint Foundation 中提供的以下两个 XML 声明性升级结构之一解决问题:升级定义文件功能升级,这两种结构都易于测试。

直观升级对象模型

SharePoint Foundation 对象模型中新增了一些成员,这些成员根据直观升级状态进行更改并且允许您确定是否可以正确呈现网站。直观升级使您能够以两种不同的方式呈现控件,这有助于防止创建的控件在当前 UI 中可以正常工作,但是导致在先前的 UI 中呈现的所有页面无法正常显示。例如,您不希望通过在先前模式的 UI 页面中呈现当前模式的样式结构来混合使用两种模式,而是希望在适当的网站模式下呈现页面。新属性允许您编写用于确定如何根据 UI 版本按条件显示 UI 元素的代码,从而构建智能功能。

  • UIVersion (SPWeb):指定网站用户界面的当前版本。有效值包括 3(表示 Windows SharePoint Services 3.0)和 4(表示 SharePoint Foundation 2010 和 Microsoft SharePoint Server 2010)。

  • UIVersionConfigurationEnabled (SPWeb):指定是否启用直观升级设置 UI 以更改网站的 UI 版本。如果设置为 false,则用户无法更改 UI 版本。

  • UIVersionConfigurationEnabled (SPSite):指定是否启用直观升级设置 UI 以更改网站集的 UI 版本。将此属性设置为 false 将禁用允许网站集所有者将所有子网站转换为新 UI 的直观升级设置 UI,此设置还将对所有网站隐藏直观升级设置 UI。

    备注

    网站具有 UI 版本,但是网站集不具有 UI 版本。

除上述属性外,SharePoint Foundation 还提供了 UIVersionedContent 控件,它是根据指定的版本字符串和当前网站 UI 版本按条件显示内容的 Web 控件。此控件仅在它符合网站的 UI 版本时才将其内容添加到页面控件层次结构中。另一控件 VersionedPlaceHolder 的执行效果不太理想,但如果该控件必须位于用于初始化、加载和预呈现的页面上,并且它处于隐藏状态以用于呈现,则该控件可以提供相应的备份选项。有关对象模型和用于升级功能的架构中新增的 Version 属性和特性的信息,请参阅升级功能

Windows SharePoint Services 3.0 Service Pack 2 中提供的升级前检查工具提供了帮助您确定自定义项使用位置以及它们是否可以正常工作的方法(2009 年 10 月版累积更新服务器修补程序包中已对此工具的相关规则进行了更新)。例如,可以使用 stsadm 命令行实用程序的 enumallwebs 操作确定 Web 部件、事件接收器、功能或自定义列表视图的实现位置。如果要了解所进行的自定义,建议您将 Windows SharePoint Services 3.0 安装升级到 Service Pack 2,然后安装 2009 年 10 月版累积更新服务器修补程序,最后再运行升级前检查工具。有关如何使用升级前检查工具的信息,请参阅运行升级前检查工具 (SharePoint Server 2010)

请参阅

其他资源

升级 SharePoint Foundation