標準リスト定義をアップグレードする

最終更新日: 2015年3月9日

適用対象: SharePoint Foundation 2010

Windows SharePoint Services 3.0 では、リスト定義は、サイト定義からより容易にアクセスできるようにフィーチャーに移動されました。このため、サイト定義内でカスタマイズする予定がないリストを再定義する必要がなくなりました。

注意

Microsoft SharePoint Foundation 2010 では、既にフィーチャー (アップグレードする最も安全なカスタマイズの 1 つ) であるカスタム リスト定義を変更する必要はありません。ただし、リスト定義に、たとえば、カスタム ユーザー インターフェイス (UI)、カスタム ビュー、またはカスタマイズされていないファイルへの参照が含まれる場合は、アップグレード後に、以前のモードと現在のモードの両方の UI モードでページ レンダリングを検証する必要があります。ページまたはサイト定義を、元のカスタマイズされていない状態に戻す場合は必ず、ページを検証しなければなりません。

前のバージョンの標準リスト定義をカスタマイズしていなかった場合は、標準リスト定義をサイト定義から削除し、SharePoint Foundation の標準のチーム グループ作業フィーチャーへの参照に置き換えます。

サイト定義から標準リスト定義を削除するには

  1. 前のバージョンの Onet.xml の場合は、次のリスト型の <ListTemplate> タグを削除します。

    • custlist

    • gridlist

    • doclib

    • imglib

    • voting

    • discuss

    • favorite

    • announce

    • contacts

    • events

    • tasks

    • xmlform

    • issue

  2. また、前のバージョンによっては、これらの古いのリスト定義のサポート リスト ディレクトリを削除しなければならない場合があります。つまり、現在のサイト定義では、ANNOUNCE、CONTACTS、CUSTLIST、DISCUSS、DOCLIB、EVENTS、FAVORITE、GRIDLIST、IMGLIB、ISSUE、TASKS、VOTING、および XMLFORM フォルダーを \LISTS ディレクトリから削除できます。

  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> タグに、このリスト定義の参照を含めないでください。このドキュメント ライブラリのリスト定義を除くすべてのフィーチャーについて、サイト コレクションまたは Web サイトのレベルを適用範囲とするフィーチャーの参照を追加し、カスタマイズが保持されるようにします。

新規作成フォーム、コンテンツ タイプ、および共有フィールドを追加する

前のリリースからカスタマイズしたリスト定義にもう少し変更を加えて、現在のリリースの SharePoint Foundation で動作するようにする方法を考えてみます。

SharePoint のすべてのフォームおよびリスト ビュー ページでは、標準化された ASPX ページを使用するようになりました。ページごとに AllItems.aspx、EditForm.aspx、DisplayForm.aspx、NewForm.aspx などのファイルがあるのではなく、各ページは既定で標準の ASPX ファイルを共有します。このような標準化されたフォーム ページを使用するには、Windows SharePoint Services 2.0 のリスト定義のすべての <Form> タグで SetupPath="pages\form.aspx" を指定し、フォームが表示されるページを含むビューで SetupPath="pages\viewpage.aspx" を指定します。特定のリストのページをカスタマイズしていた場合は、そのページを引き続き使用できます。ただし、前に示した、SharePoint Foundation で使用するための .ASPX ページのアップグレードに関するガイドラインに従う必要があります。

リスト フォームでは、CAML (Collaborative Application Markup Language) ではなく、Microsoft ASP.NET のユーザー コントロール ベースのテンプレートを使用するようになりました。CAML のフォーム定義は不要になったため、削除できます。リスト定義のカスタム テンプレートを使用する場合は、Schema.xml ファイルの <Form> タグで Template="TEMPLATENAME" を指定します。カスタム フォーム テンプレートの詳細については、「カスタム フォーム テンプレートを作成する」を参照してください。

カスタマイズしたリスト定義を、コンテンツ タイプおよび共有フィールド定義を使用するように適応させることを検討します。そのためには、独立したサイト コレクションを適用範囲とするフィーチャーで、新しいコンテンツ タイプと共有フィールドを定義します。リスト定義をアップグレードするには、<ContentTypes> タグを使用して、定義から作成されたリストに実装するコンテンツ タイプを宣言し、リストで使用する必要がある共有フィールドを識別する GUID を指定して <Field> タグに注釈を付けます。ただし、コンテンツ タイプを使用する場合でも、リスト定義では、リスト フィーチャーの Schema.xml ファイル内ですべてのフィールドを宣言する必要があります。

関連項目

概念

カスタム サイト定義をアップグレードする

その他の技術情報

SharePoint Foundation をアップグレードする