カスタマイズを展開する - 概要 (SharePoint Foundation 2010)

 

適用先: SharePoint Foundation 2010

この章の記事では、開発者または Web デザイナーが Microsoft SharePoint Foundation 2010 環境でカスタマイズしたサイト要素を展開する方法について説明します。

この記事の内容

  • プロセスの概要

  • はじめに

  • カスタマイズ可能な 2 種類のサイト要素について

  • 開発サイト要素を展開する

  • 作成サイト要素を展開する

プロセスの概要

特に SharePoint Foundation 2010 には多くの展開方法があり、どの方法が適切であるかが必ずしも明白ではないので、カスタマイズの展開は非常に複雑です。

さまざまな種類のサイト要素、つまり、成果物は、それぞれ異なる方法で展開します。1 つの展開方法ですべてのサイト要素を展開することはできません。各種類の要素は、異なるデザイナーのグループで作成される可能性があり、異なるアップグレードの検討事項の対象なので、他にも展開に関する独自の検討事項が適用されます。異なる種類のサイト要素については、後の「カスタマイズ可能な 2 種類のサイト要素について」を参照してください。

特定の展開タスクと関連する検討事項については、以下の記事を参照してください。

はじめに

カスタム コードを環境に展開する前に、カスタマイズによりパフォーマンスがどのような影響を受けるかを分析できるように、環境のパフォーマンスのベースラインを確立する必要があります。パフォーマンス ベースラインを確立した後、カスタム コードをテスト環境または統合環境で十分にテストし、その結果とベースラインを比較します。カスタマイズを運用環境に展開する前に、カスタマイズを十分にテストしてください。

また、信頼できる発行元であるサード パーティからコードを取得した場合でも、コードを運用環境に展開する前にテストする必要があります。

これらの記事の説明とガイダンスは、「サーバー ファームと環境の計画 (SharePoint Foundation 2010)」の要件を満たすように展開および構成された SharePoint Foundation 環境に当てはまります。

カスタマイズ可能な 2 種類のサイト要素について

開発サイト要素はソリューション成果物で、通常、開発者によって作成されます。ソリューションにはアセンブリを含めることができます。アセンブリは、Microsoft .NET Framework ベースの言語で記述され、コンパイル後に展開される SharePoint コンポーネントです。開発サイト要素は、タイマー ジョブ アセンブリとサイト定義を除いて、通常、フィーチャーにグループ化され、ソリューション パッケージの一部として展開されます。開発サイト要素には、次のものがあります。

  • Web パーツ

  • ワークフロー

  • サイト定義とリスト定義

  • ドキュメント コンバーター

  • イベント レシーバー

  • タイマー ジョブ

  • アセンブリ

作成サイト要素は、通常、Web デザイナーによって作成されます。明示的にコンパイルされることはなく、コンテンツ データベースに格納されます。作成サイト要素には、次のものがあります。

  • マスター ページ

  • カスケード スタイル シート

  • フォーム

  • レイアウト ページ

これら 2 種類のカスタマイズ可能なサイト要素は、次の基準によって区別されます。

  • SharePoint Foundation 2010 ファーム内でのファイルの保存場所

  • そのサイト要素の管理を担当する組織のチーム

  • サイト要素が必要とする展開メカニズム

要素の中には、ソリューション成果物と作成成果物のどちらにもなるものがあります。たとえば、コンテンツ タイプは XML ファイルで開発ソリューション成果物として定義することも、ブラウザーによって作成成果物として作成することもできます。ソリューション成果物にも作成成果物にもなるサイト要素には、サイト列、リスト インスタンスなどがあります。また、ソリューション成果物を使用して Web サイトへのファイルを準備することや、フロントエンド Web サーバーのメモリにキャッシュされるように設定できます。

開発サイト要素を展開する

開発サイト要素は、一般的には、コード開発環境で作成され、フロントエンド Web サーバーとアプリケーション サーバーに直接展開されるサイト要素として定義できます。これらのサイト要素は、通常、開発者が Microsoft Visual Studio 2010 Tools for SharePoint 2010、Microsoft Office SharePoint Designer、または XML 編集ツールを使用してカスタマイズできます。詳細については、「SharePoint Foundation Development Tools (英語)」(https://go.microsoft.com/fwlink/?linkid=183360&clcid=0x411) (英語) を参照してください。

注意

この記事では、サンドボックス ソリューションとして展開される開発サイト要素の展開については説明しません。サンドボックス ソリューションは、サーバー オブジェクト モデルの一部とフィーチャー要素の一部にアクセスできるソリューションで、サイト コレクション管理者が展開できます。詳細については、「サンドボックス ソリューションの概要 (SharePoint Foundation 2010)」を参照してください。

最善の方法は、ソリューション パッケージと Windows PowerShell を使用して開発サイト要素を展開することです。SharePoint Foundation ソリューション フレームワークによって、新規およびアップグレード サイト要素をファーム全体に展開し、フロントエンド Web サーバーの状態がファーム内の他のサーバーの状態と一致するように同期するプロセスが簡素化および標準化されます。たとえば、ソリューション パッケージによって、ファームの再構築のプロセスが簡素化されます。コードとファイルを手動で処理してサイト要素を展開すると、アップグレード処理で矛盾が発生し、サーバーが他のサーバーと同期しなくなることがあります。ソリューション パッケージを使用すると、開発サイト要素を開発者の環境から統合ファームに展開し、さらにステージング ファーム、パイロット ファーム、および運用ファームに展開できます。

Windows PowerShell コマンドレットを使用して、ソリューション パッケージを作成、インポート、エクスポート、および準備できます。これらの操作では、ソリューション フレームワークを活用して、開発サイト要素のカスタマイズを配布します。Windows PowerShell コマンドレットは、SharePoint Server 2010 と SharePoint Foundation 2010 の両方に含まれているので、大半の環境でサイトのカスタマイズを展開するのに役立ち、単体で使用することも、他の方法と併用することもできます。Windows PowerShell コマンドレットを使用して、成果物と開発サイト要素の両方を展開できます。コマンドレットを使用して、ソリューション パッケージで展開されるフィーチャーをアクティブ化することもできます。

作成サイト要素を展開する

作成サイト要素は、Web サーバー (または、あまり一般的ではありませんがアプリケーション サーバー) のファイル システム内に存在するリソースに依存しますが、コンテンツ データベースに保存されるという点で開発サイト要素とは異なります。作成サイト要素は、開発サイト要素が事前に展開されている必要があるので、正常に動作しない場合があります。

カスタマイズの展開が完全に自動化される環境では、要求される展開順序がシステムによって実行されることで、同期に関する問題を排除できます。ただし、カスタマイズの展開の一部または全体が手動の場合は、必要なリソースが Web サーバーとアプリケーション サーバー上にすべて配置されていることを確認してから、それらのリソースに依存するコンテンツを展開する必要があります。

作成サイト要素は、複数の異なるシステムを 1 つ以上使用して、作成環境からステージング、パイロット、および運用の各ファームに展開できます。以下の表に、使用できるシステムと、それぞれに関連するインターフェイスと使用シナリオを示します。

展開システム 使用シナリオ

SharePoint サーバーの全体管理 Web サイト

展開元ファームと展開先ファームがネットワーク接続されている環境では、サーバーの全体管理のコンテンツ展開機能を使用して、展開元ファームにコンテンツ展開パッケージを作成し、そのパッケージを別のファームにエクスポートできます。

この方法は、構成と使用が簡単であり、非常に短時間のセットアップと最小限のメンテナンスで、作成サイト要素を自動的に展開できます。

コンテンツ移行オブジェクト モデル

使用する方法 (展開名前空間 API を使用するプログラミング、Web サービスへの SOAP (Simple Object Access Protocol) の呼び出し、または Windows PowerShell コマンドレットによるサイト全体の移動) に応じて、移行するコンテンツと移行方法を制御できます。グローバル一意識別子 (GUID) を保持するためにサポートされている唯一の方法は、API を使用してコンテンツをインポートおよびエクスポートする方法です。

詳細については、「Content Migration」(https://go.microsoft.com/fwlink/?linkid=183372&clcid=0x411) (英語) を参照してください。

Windows PowerShell

Windows PowerShell コマンドレットを使用すると、タイム スタンプ、セキュリティ情報、およびユーザー情報を保持したまま、サイト全体のインポートおよびエクスポート操作を実行できます。Windows PowerShell コマンドレットは、Web サイト全体から基本コンテンツを移動する場合、最も役立ちます。

Windows PowerShell は SharePoint 2010 Products に付属しており、単体で使用することも他の方法と併用することもできるので、大部分の環境でサイトのカスタマイズを展開するのに役立ちます。Windows PowerShell コマンドレットを使用して、成果物と開発サイト要素の両方を展開できます。

詳細については、「Windows PowerShell を使用した SharePoint 2010 製品の管理」を参照してください。

カスタム Web サービス

コンテンツの移行と展開を自動化するカスタム Web サービスを作成できます。カスタム スクリプトと Windows アプリケーションを記述して、このプロセス内で特定のタスクを実行できます。

カスタム Web サービスの記述に関するプログラミング メソッドの詳細については、Microsoft SharePoint 2010 ソフトウェア開発キット (SDK) の以下のリソースを参照してください。

手動でのコード処理

小規模な未接続環境や、作成サイト要素が継続的にカスタマイズされない環境では、サイト要素と関連リソースを手動で展開できます。小規模な接続環境では、作成サイト要素のカスタマイズは、サーバーの全体管理のコンテンツ展開機能を使用して展開することを考慮してください。

ソリューション パッケージとフィーチャー

ページ レイアウト、マスター ページ、フォーム、スタイル シートなどの要素は、ソリューション パッケージの一部としてフィーチャーにグループ化して展開できます。ソリューション パッケージから展開したフィーチャーは、作成要素を準備する必要がある範囲でアクティブ化できます。

詳細については、「フィーチャーを使用してサイト要素を展開する (SharePoint Foundation 2010)」を参照してください。

カスタム テンプレート

ユーザーは、固有のコンテンツの有無にかかわらず、既存のサイトをカスタム テンプレートとして保存できます。こうすることで、カスタマイズしたサイトを再利用できるようになります。カスタム サイト テンプレートは .wsp ファイルとして保存されます。サイト テンプレートは、サイト コレクションのトップレベル サイトのソリューション ギャラリーに保存され、サイト コレクションのすべての Web サイトでサブサイトの作成に利用できるようになります。サイト テンプレートをダウンロードして、他のサイト コレクション ギャラリーに移動できます。

See Also

Concepts

ソリューション パッケージを展開する (SharePoint Foundation 2010)
作成サイト要素を展開する (SharePoint Foundation 2010)
フィーチャーを使用してサイト要素を展開する (SharePoint Foundation 2010)
テンプレートを展開する (SharePoint Foundation 2010)