標準リスト定義をアップグレードする
最終更新日: 2015年3月9日
適用対象: SharePoint Foundation 2010
Windows SharePoint Services 3.0 では、リスト定義は、サイト定義からより容易にアクセスできるようにフィーチャーに移動されました。このため、サイト定義内でカスタマイズする予定がないリストを再定義する必要がなくなりました。
注意
Microsoft SharePoint Foundation 2010 では、既にフィーチャー (アップグレードする最も安全なカスタマイズの 1 つ) であるカスタム リスト定義を変更する必要はありません。ただし、リスト定義に、たとえば、カスタム ユーザー インターフェイス (UI)、カスタム ビュー、またはカスタマイズされていないファイルへの参照が含まれる場合は、アップグレード後に、以前のモードと現在のモードの両方の UI モードでページ レンダリングを検証する必要があります。ページまたはサイト定義を、元のカスタマイズされていない状態に戻す場合は必ず、ページを検証しなければなりません。
前のバージョンの標準リスト定義をカスタマイズしていなかった場合は、標準リスト定義をサイト定義から削除し、SharePoint Foundation の標準のチーム グループ作業フィーチャーへの参照に置き換えます。
サイト定義から標準リスト定義を削除するには
前のバージョンの Onet.xml の場合は、次のリスト型の <ListTemplate> タグを削除します。
custlist
gridlist
doclib
imglib
voting
discuss
favorite
announce
contacts
events
tasks
xmlform
issue
また、前のバージョンによっては、これらの古いのリスト定義のサポート リスト ディレクトリを削除しなければならない場合があります。つまり、現在のサイト定義では、ANNOUNCE、CONTACTS、CUSTLIST、DISCUSS、DOCLIB、EVENTS、FAVORITE、GRIDLIST、IMGLIB、ISSUE、TASKS、VOTING、および XMLFORM フォルダーを \LISTS ディレクトリから削除できます。
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 ファイル内ですべてのフィールドを宣言する必要があります。