カスタム Web テンプレートを作成する
最終更新日: 2011年2月2日
適用対象: SharePoint Foundation 2010
このトピックでは、カスタム Web テンプレートの作成方法についての簡単な概要を説明します。
初期の Web テンプレートを作成するには
ユーザーは、ユーザー インターフェイス (UI) で Web サイトを "テンプレートとして" 保存することで Web テンプレートを作成します。これは、開発者にとっても、Web テンプレートの作成を開始する最も簡単な方法です。UI で、作成するカスタム サイト タイプに最も似た種類の Web サイトを作成します。
Web サイトが可能な限り自分の考えるカスタム サイト タイプに一致するまで、Microsoft SharePoint Foundation UI と Microsoft SharePoint Designer のみを使用して、必要に応じて、リスト、Web パーツ、その他の機能の追加や削除を行います。
プロトタイプの Web サイトを自分の考えるカスタム サイト タイプに可能な限り近づけた後で、その Web サイトを [サイトの設定] ページでテンプレートとして保存します。Web テンプレートは、サイト コレクションのソリューション ギャラリーに保存されます。テンプレート名にはスペースを使用しないでください。
UI では加えることができないカスタマイズを追加する必要がある場合、「Visual Studio プロジェクトをセットアップするには」の手順を実行してください。
Visual Studio プロジェクトをセットアップするには
ソリューション ギャラリーでソリューションを非アクティブ化します。
ソリューション ギャラリーからソリューション (.wsp) ファイルをダウンロードします。
ソリューション ギャラリーからソリューションを削除します。
注意
コードを記述して、Web サイトをテンプレートとして保存したり、ソリューション ギャラリーを完全にバイパスしてソリューション パッケージを直接ローカルのファイル システムにダウンロードしたりすることもできます。例については、SPSolutionExporter.ExportWeb メソッドを参照してください。
Microsoft Visual Studio で、[SharePoint ソリューション パッケージのインポート] プロジェクトを開始します。プロジェクトはファームソリューションではなくサンドボックス ソリューションであることを指定します。
プロジェクト ソースを指定するように求められた場合、ダウンロードしたソリューションのパスを指定します。
インポートするアイテムを選択するように求められた場合、すべてのアイテムを選択するか、必要なアイテムのみを選択して、[完了] をクリックします。
Visual Studio でプロジェクトの作成が終了した後に、ソリューション エクスプローラーでプロジェクト名を強調表示します。[プロパティ] ウィンドウで、[パッケージにアセンブリを含める] プロパティを [False] に設定します。
抽出したファイルを必要に応じて編集します。ほとんどの場合、変更が必要なのは WebTemplate 要素または Onet.xml ファイルだけです。詳細については、以下の手順を参照してください。
WebTemplate 要素を編集するには
ソリューション エクスプローラーの [Web テンプレート] ノードの下に、Elements.xml ファイルを含むサブフォルダーがあります。このファイルを開きます。
Elements タグの WebTemplate 子要素を必要に応じて編集します。WebTemplate 要素の各属性の意味については、「WebTemplate 要素 (Web テンプレート)」を参照してください。
Onet.xml ファイルを編集するには
Web テンプレートの Onet.xml ファイルが配置されている場所は、WebTemplate 要素を含む Elements.xml ファイルと同じサブフォルダーか、ソリューション エクスプローラー内にある [Other Imported] というノードのサブフォルダーのどちからです。Onet.xml ファイルを開きます。
Onet.xml ファイルを必要に応じて編集します。このファイルの編集は、サイト定義の一部である Onet.xml ファイルの編集と基本的に同じです (詳細については、「[方法] カスタム サイト定義および構成を作成する」を参照)。ただし、以下のような違いがあります。
Web テンプレートの Onet.xml ファイル内の Project 要素には、NavBars 要素と Configurations 要素の 2 つの子要素のみが含まれます。WebTemplate 要素の BaseTemplateID 属性と BaseTemplateName 属性は、Web テンプレートの最終的な派生元であるサイト定義を識別します。ListTemplates、DocumentTemplates、Modules、ServerEmailFooter、および Components を含め、Project 要素の他のすべての子要素について、Web テンプレートの Onet.xml ファイルは、その派生元のサイト定義の Onet.xml ファイルに依存します。
Configurations 要素には、1 つの子 Configuration 要素のみが含まれます。
WebTemplate 要素の一部の属性の名前は、Project 要素の属性と同じです。WebTemplate 要素内の属性を使用します。
このファイルの詳細については、「Onet.xml ファイルについて」を参照してください。
カスタム Web テンプレートのパッケージ化、アップロード、テストを行うには
Visual Studio の [ビルド] メニューで [ソリューションの展開] を選択します。開発ファームが単一サーバー ファームの場合、これにより、ソリューションのビルド、再パッケージ化、サイト コレクションのサンドボックス ソリューション ギャラリーへのアップロード、およびアクティブ化が行われます。開発ファームがマルチサーバーの場合は、アクティブ化の手順を UI で実行する必要があります。
カスタム Web テンプレートから Web サイトを作成して、そのカスタム Web テンプレートをテストします。