实用工具特别推荐SharePoint 网站和模板的升级工具包

Luis Câmara Manoel and Peter Skjøtt Larsen

下载这篇文章的代码: Upgrade Toolkit for Windows SharePoint Services Sites and Templates (699KB)

最近,随着 Windows SharePoint Services (WSS) 3.0 的全新发布,许多管理员都面临着这样一个任务,即将现有 WSS 2.0 网站和数据升级到新的 WSS 3.0 环境中。虽然 WSS 3.0 提供了大量的工具来帮助管理员迁移网站数据和

升级网站结构,以达到令人满意的效果,但要想升级自定义的网站或网站模板的结构,可能还需要多花点时间。

额外的工作是不可避免的。幸运的是,Microsoft® Solution Accelerator 团队针对 Windows® SharePoint® Services 网站和模板发布了升级工具包,该工具包为升级实践提供了相关的指导和工具(请参阅“WSS 资源”侧栏)。本期专栏重点介绍将自定义网站升级到 WSS 3.0 环境所面临的挑战和与之相关的解决方案。但首先请您参阅“WSS 技术”侧栏中的一些常见术语定义,以便对我们谈论的内容有所了解。

升级过程

为什么需要升级?网站站长可能会由于 WSS 3.0 提供大量的新功能而考虑升级:

  • 回收站,用户可以在这里找回不小心删除的文档。
  • 文件夹项目级别的安全性,网站管理员可以控制用户或组对文件夹的访问权限。
  • 发送电子邮件到列表,使 SharePoint 网站上的列表(例如,博客日志列表)能够通过电子邮件接收内容。
  • “网站操作”按钮,用户可以通过该按钮轻松创建网站和页面、编辑页面和管理网站设置。
  • Breadcrumb,为用户提供直接的导航上下文。
  • 移动视图,移动用户可以充分利用便捷的脱机同步功能。
  • RSS 源,使 Internet Explorer 7.0 和 Outlook® 2007 等支持 RSS 的程序能够从列表中检索信息。
  • 在文档库中进行版本控制,允许在编辑之前进行微小的版本控制和文档签出控制。

由于网站和模板的升级过程取决于在服务器实际升级到 WSS 3.0 前后执行了哪些具体步骤(请参见图 1),因此定义网站和模板的升级需求是整个 WSS 3.0 升级策略中的一个重要步骤。网站管理员和服务器管理员应协同工作来确定应将哪些网站和模板实例化并升级到 WSS 3.0 环境中。确定好需要升级的自定义网站后,就可以开始升级工作了。

图 1 WSS 网站和网站模板升级的工作流

图 1** WSS 网站和网站模板升级的工作流 **(单击该图像获得较大视图)

识别自定义网站模板

如何确定是否已对网站进行自定义?WSS 3.0 提供了预升级扫描工具,该工具可以生成有关对整个场中网站模板所做更改的报告因此在开始迁移前应先运行此工具,以选择出需要特别予以注意的网站模板。

该工具可以生成如图 2 所示的 XML 格式的报告。unghostedPage 元素表明网站已进行了自定义。

Figure 2 有关网站模板更改的预升级扫描工具报告

<?xml version=”1.0” encoding=”utf-8”?>
<summary>
  <sites>
    <site url=”http://mscc-shr-v3-01” storage=”172767226”>
      <webs>
        <web url=”http://mscc-shr-v3-01/Board of Directors-Basic”>
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/default.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/AllItems.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/DispForm.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/EditForm.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/Upload.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Board Information/
                Forms/WebFldr.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Company Finance and 
                Business Planning/Forms/AllItems.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Company Finance and 
                Business Planning/Forms/DispForm.aspx” />
          <unghostedPage url=”http://mscc-shr-v3-01/Board of Directors-Basic/Company Finance and 
                Business Planning/Forms/EditForm.aspx” />

自定义网站定义

您希望升级的大多数自定义 WSS 2.0 网站可能都是通过模板生成的,这些模板是基于标准 WSS 网站定义创建的。但也有些自定义网站模板是基于自定义网站定义而生成的。如果您组织内的开发人员创建了自定义网站定义,或者您购买了基于自定义网站定义创建的第三方应用程序或模板,则可能出现这种情况。此专栏讨论的内容仅涉及标准网站定义。有关自定义网站模板方案的详细信息,请参见“WSS 资源”侧栏。

如果经过验证,您的 .stp 文件和网站确实是通过标准网站定义生成的,也就意味着 WSS 3.0 中存在升级网站定义,这时您可以继续安装和实例化网站。

要升级特定的 WSS 2.0 网站模板,首先您需要在 WSS 2.0 服务器上安装这些模板(请参见图 1 中的“阶段 1”)。然后您需要基于已安装的模板来创建网站。

完成升级过程后要安装多个 .stp 文件、实例化多个网站并清除服务器中的所有临时文件,为简化这一过程,Solution Accelerator 提供了一组利用 Stsadm.exe 命令的脚本(有关详细信息,请参见“解决方案脚本”侧栏)。Stsadm.exe 是一个命令行应用程序,它提供了一套完整的 WSS 操作,可用于管理 SharePoint 服务器和网站。使用解决方案脚本可以实现该过程的自动化,您可以执行批量的安装和实例化,或按顺序执行这些任务。如果您需要安装多个 .stp 文件和实例化多个网站,这种做法可以节省大量时间。

解决方案脚本

模板安装和网站创建过程要用到两个运行 Stsadm.exe 的脚本:

  • MigInstStp.cmd 使用 Stsadm.exe addtemplate 操作安装网站模板。此操作具有 _SOURCEFILELOCATION、_SOURCEFILENAME 和 _FILETITLE 参数。
  • MigMakeSite_1.cmd 用于创建新的网站。MigMakeSite_1.cmd 运行的是 Stsadm.exe createweb 操作。此操作具有 _SERVERURL、_SITENAME、_SITETEMPLATENAME 和 _SITETITLE 参数。

保存网站模板 (.stp) 文件,然后在能够访问这些文件的本地 WSS 2.0 服务器上运行上述脚本。要运行这些脚本,您必须是服务器上本地管理员组的成员,或者是具有网站创建权限的 WSS 管理员组的成员。《Windows SharePoint Services 网站和模板升级工具包指南》提供了有关如何充分利用这些脚本的详细说明。在安装 .stp 文件和实例化网站后,您就可以继续升级服务器了。“升级到 Windows SharePoint Services 3.0”中详细说明了 WSS 3.0 的升级方法(请参阅“WSS 资源”侧栏列出的链接)。

WSS 术语

Windows SharePoint Services 具有自己独特的术语。下面是一个包含常用术语的简要术语表。

网站定义:一组文件,用于定义特定类型的网站。一个网站定义不仅包含 .xml、.aspx、.ascx 和母版页文件,还包括存储在前端 Web 服务器上特定文件夹中的列表模板文件和内容文件。WSS 附带了一组现成可用的标准网站定义,包括工作组网站、空白网站和文档工作区。最初,网站模板库中只有这些网站模板,“新建 SharePoint 网站”上的“选择模板”列表中只有这些网站模板是可用的。

网站模板:网站模板定义了如何对 SharePoint 网站进行实例化。为了创建新的 SharePoint 网站,您必须选择一个网站模板,网站的创建就是基于这个模板的。例如,您可以基于标准的“空白网站”模板创建一个名为“董事会”的新网站。然后,可以将列表、库、Web 部件和其他自定义内容添加到实例化的网站。为了让其他用户也能够使用这些自定义内容,您可以将该网站另存为模板,并命名为“董事会”。它基于“空白网站”的网站定义。WSS 将该自定义网站模板另存为 .stp(网站模板)文件,然后将其放入网站模板库,并在“新建 SharePoint 网站”页面的“选择模板”列表中显示它,以便用户稍后可以基于该文件创建新网站。网站模板中包含一系列网站配置文件,例如 .xml、.aspx、映像等其他文件,这些文件被压缩在一个单独的 .stp 文件中。(.Stp 文件的功能与 .cab 文件相似。)这些文件中最重要的文件是 Manifest.xml,它包含了很多重要的信息,例如网站结构和导航、列表和库、Web 部件的位置、自定义列表定义以及自定义网站模板所基于的网站定义。

应用程序模板:这些是为满足特定业务流程或任务需要而开发的 Windows SharePoint Services 网站模板。这些模板由 Microsoft 发布,WSS 客户可以免费下载。

自定义网站:这是用户界面经过修改的 SharePoint 网站。

母版页:这是存储默认布局信息(如横幅、导航控件和其他菜单)的区域,目的是实现整个网站内界面的统一。

模板页面:这些页面的内容并非存储在 WSS 内容数据库中,而是从网站定义文件中读取。模板页面尚未自定义。

非模板页面:这些是经过修改的页面,其与网站定义文件不同,内容存储在 WSS 内容数据库中。

服务器升级完毕后 — 网站检查

现在,您已到达升级工作流中的“阶段 2(请参见前面的”图 1)。网站和模板升级的这一阶段需执行以下步骤:

  1. 打开并验证升级后的网站。
  2. 应用默认的母版页。
  3. 修复新网站在功能和布局方面的问题。
  4. 将更正的网站另存为新的 WSS 3.0 网站模板。
  5. 在服务器上重新部署新的 WSS 3.0 网站模板。
  6. 通过重新部署的网站模板创建网站。
  7. 打开新网站,检查其是否按预期正常运行。
  8. 进行收尾工作。

重置网站定义

在首次打开升级后的网站时,您会发现它仍然与 WSS 2.0 网站非常相似。要使网站看上去更像 WSS 3.0 网站,您必须首先重置为新的 WSS 3.0 网站中的网站定义。此操作可以修复大多数布局问题,并且您不会丢失对 Web 部件进行的任何自定义,前提是这些 Web 部件已包含在网站定义页面上的现有 Web 部件区域中。此操作还将默认的母版页应用到网站的所有页面。

顾名思义,母版页中存储着默认的布局信息(如横幅、导航控件和其他菜单),其目的就是实现一致的外观。使用母版页时,您可以首先对母版页进行设计和更改,然后再将更改传播到整个网站。应用母版页后,升级后的网站即可启用所有 WSS 3.0 标准功能。

现在,虽然网站的外观和运行方式都与本地 WSS 3.0 网站相似,但您也许会发现某些区域仍然存在问题,例如讨论板、自定义 Web 部件、超链接和主题。

修复存在的问题

升级后的自定义网站模板中会出现许多问题。下面列出了一些最常见的问题和简要的修复方法。

网站使用的仍然是 WSS 2.0 的默认样式表。 请在 SharePoint Designer 中删除旧的样式表。

Web 部件丢失或位置错误。 使用 SharePoint Designer 移动或插入 Web 部件。

Web 部件无法正常运行。 删除与 WSS 3.0 不兼容的 Web 部件,联系 Web 部件开发人员,询问是否已开发出适用于 WSS 3.0 环境的相应 Web 部件。

自定义列表和库看上去不正确。 保存现有数据,然后重新创建自定义列表或库,再将保存的数据导入。

启用的 WSS 3.0 功能不可用。 工作组协作功能可能需要在“网站功能”下显式激活。

超链接失效。 硬编码的超链接可能需要手动进行更新。

主题被更改。 应用适当的 WSS 主题。

大功即将告成

升级过程已接近尾声,所有问题均已修复,现在要对网站进行最后的验证。您应该将更正的网站另存为 WSS 3.0 网站模板,执行新的 .stp 安装和网站实例化操作(也可以使用简便的脚本),最后打开网站进行验证,确保所有问题已被解决并且升级后的站点和已经准备就绪,可以进一步部署到工作环境。

其他可选的升级方案

有时,使用此处描述的自动化工具和过程升级模板可能并非最佳方法。如果使用高度自定义的第三方模板,则自行升级模板可能会非常困难,等待新版本模板的发布可能是更好的办法。在其他情况下,最好还是在 WSS 3.0 中创建全新的模板,然后再实现旧模板中的功能。

应用程序模板

Microsoft 开发了一组可用于 WSS 2.0 和 WSS 3.0 的应用程序模板。新的 WSS 3.0 模板中包含一些 WSS 2.0 应用程序模板的升级版本。如果您一直使用其中的某个模板,可以将其升级的 WSS 3.0 版本上传到 WSS 3.0 环境中。

如果您一直在使用某个 WSS 2.0 应用程序模板,并尚未针对 WSS 3.0 升级,Solution Accelerator 还提供了一组经过升级的 WSS 2.0 应用程序模板,您可以将其用于 WSS 3.0 环境。

总结

Windows SharePoint Services 网站和模板的升级工具包非常有用,可以帮助您在 3.0 环境中保留 2.0 模板、网站和自定义内容。有关此主题的详细信息或希望获得该工具包,请访问“WSS 资源”侧栏中提供的网站。

我们要感谢 Betty Houser 为本专栏和 Solution Accelerator 做出的杰出贡献。

WSS 资源

Luis Câmara Manoel是 Microsoft Solution Accelerator 组的项目经理。他在 Microsoft 工作已满一年。在进入 Microsoft 之前,Luis 在美国犹他州普罗伏的 Novell Inc 附属公司 Volera 担任项目经理。您可以通过电子邮件 luiscam@microsoft.com 与 Luis 联系。

Peter Skjøtt Larsen是 Microsoft Solution Accelerator 组的产品经理。他在 Microsoft 工作已经四年多了,主要从事开发和市场营销工作。此前,他曾为金融、工程和电信行业开发过客户端和服务器软件。您可以通过电子邮件 petela@microsoft.com 与 Peter 联系。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.