升级标准列表定义

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

Windows SharePoint Services 3.0 中的列表定义已变为"功能",从而使其更容易从网站定义进行访问。因此,您无需在网站定义中重新定义您不想自定义的列表。

备注

在 Microsoft SharePoint Foundation 2010 中,您应该不需要修改已经是功能的自定义列表定义,功能是可以升级的最安全的自定义项之一。但是,如果列表定义涉及到自定义用户界面 (UI)、自定义视图或者对非自定义文件的引用,那么在升级后,您应该在以前版本的 UI 模式和当前版本的 UI 模式中分别验证页面呈现。每次将页面或网站定义恢复为其原始未自定义状态时,都应该验证页面。

如果您未自定义以前版本的任何标准列表定义,则只需要从网站定义中移除标准列表定义,并将其替换为对标准 SharePoint Foundation 团队协作功能的引用。

从网站定义中移除标准列表定义

  1. 如果标准列表定义存在于以前版本的 Onet.xml 中,则移除以下列表类型的 <ListTemplate> 标记:

    • custlist

    • gridlist

    • doclib

    • imglib

    • voting

    • discuss

    • favorite

    • announce

    • contacts

    • events

    • tasks

    • xmlform

    • issue

  2. 此外,根据以前版本的不同,您可能需要移除这些旧列表定义的支持列表目录。也就是说,对于您的当前 网站定义,您可以从 \LISTS 中移除 ANNOUNCE、CONTACTS、CUSTLIST、DISCUSS、DOCLIB、EVENTS、FAVORITE、GRIDLIST、IMGLIB、ISSUE、TASKS、VOTING 和 XMLFORM 文件夹。

  3. Onet.xml 文件的每个 <Configuration> 标记中,添加对团队协作功能的引用,如下所示。

    <Configuration ...>
      <WebFeatures>
        <!-- TeamCollab Feature -->
        <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />
      </WebFeatures>
    </Configuration>
    

如果您已经自定义了特定列表定义(例如,文档库定义 [DOCLIB]),则必须使用一种更详细的方法。按上述方法替换所有未自定义的列表(在本例中为除 DOCLIB 外的所有列表)。添加对包含未自定义列表定义的功能的特定引用,而不要在 <Configuration> 标记中添加对团队协作功能的引用。表 1 显示了列表定义的功能文件夹名称和功能 ID。

表 1. 列表定义的功能文件夹名称和功能 ID

文件夹

ID

AnnouncementsList

00BFEA71-D1CE-42de-9C63-A44004CE0104

ContactsList

00BFEA71-7E6D-4186-9BA8-C047AC750105

CustomList

00BFEA71-DE22-43B2-A848-C05709900100

DataSourceLibrary

00BFEA71-F381-423D-B9D1-DA7A54C50110

DiscussionsList

00BFEA71-6A49-43FA-B535-D15C05500108

DocumentLibrary

00BFEA71-E717-4E80-AA17-D0C71B360101

EventsList

00BFEA71-EC85-4903-972D-EBE475780106

GanttTasksList

00BFEA71-513D-4CA0-96C2-6A47775C0119

GridList

00BFEA71-3A1D-41D3-A0EE-651D11570120

IssuesList

00BFEA71-5932-4F9C-AD71-1557E5751100

LinksList

00BFEA71-2062-426C-90BF-714C59600103

NoCodeWorkflowLibrary

00BFEA71-F600-43F6-A895-40C0DE7B0117

PictureLibrary

00BFEA71-52D4-45B3-B544-B1C71B620109

SurveysList

00BFEA71-EB8A-40B1-80C7-506BE7590102

TasksList

00BFEA71-A83E-497E-9BA0-7A5C597D0107

WebPageLibrary

00BFEA71-C796-4402-9F2F-0EB9A6E71B18

WorkflowProcessLibrary

00BFEA71-2D77-4A75-9FCA-76516689E21A

WorkflowHistoryList

00BFEA71-4EA5-48D4-A4AD-305CF7030140

XmlFormLibrary

00BFEA71-1E1D-4562-B56A-F05371BB0115

如果您仅在旧网站定义中自定义了文档库 (DOCLIB) 列表定义,请不要在 Onet.xml 文件的 <Configuration> 标记中包含此列表定义的引用。对于除文档库列表定义之外的每个功能,添加的功能引用应限定在网站集或网站级别范围内,以便此列表定义能够保留您的自定义设置。

添加新的表单、内容类型和共享字段

可考虑对以前版本的每个自定义列表定义进行更多更改,使其能够用于 SharePoint Foundation 的当前版本。

所有 SharePoint 表单和列表视图页现在都使用标准化的 ASPX 页。默认情况下,这些页现在共享一个标准 ASPX 文件,而不是每一页都有其各自的 AllItems.aspx、EditForm.aspx、DisplayForm.aspx 或 NewForm.aspx 文件。若要使用这些标准化表单页,请在 Windows SharePoint Services 2.0 列表定义的所有 <Form> 标记中指定 SetupPath="pages\form.aspx",并在包含页面的视图中指定 SetupPath="pages\viewpage.aspx"。当然,如果已为特定列表自定义了页面,则可以继续使用它们,但必须遵守前面提供的有关升级 .ASPX 页以在 SharePoint Foundation 中使用的指导。

列表表单现在使用基于 Microsoft ASP.NET 用户控件的模板,而不是协作应用程序标记语言 (CAML)。不再需要 CAML 表单定义,因此可将其移除。如果您希望对您的列表定义使用自定义模板,请在 Schema.xml 文件的 <Form> 标记中指定 Template="TEMPLATENAME"。有关自定义表单模板的详细信息,请参阅创建自定义表单模板

可考虑调整自定义列表定义以使用内容类型和共享的字段定义。为此,请在单独的网站集范围内的功能中定义新的内容类型和共享字段。若要升级您的列表定义,请使用 <ContentTypes> 标记,以声明要在通过定义创建的列表中实现的内容类型,并通过指定标识它们必须使用的共享字段的 GUID 来注释 <Field> 标记。但请注意,即使使用内容类型,您的列表定义仍需要声明列表功能的 Schema.xml 文件中包含的所有字段。

请参阅

概念

升级自定义网站定义

其他资源

升级 SharePoint Foundation