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

 

適用先: SharePoint Server 2010

トピックの最終更新日: 2016-11-30

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

この記事の内容 :

  • プロセスの概要

  • はじめに

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

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

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

プロセスの概要

カスタマイズの展開は非常に複雑な作業になることがあります。その主な理由は、SharePoint Server 2010 で使用できる展開の方法は多数あり、ある方法を他の方法と比べた場合のメリットが必ずしも明確ではないことがあるからです。

種類が異なるこれらのサイト要素 (デザイン要素) は、さまざまな方法で展開します。カスタマイズ可能なサイト要素のすべてを、単一の展開方法で展開することはできません。各種の要素は、複数の異なるデザイナー グループによって作成される可能性があり、アップグレードに関する考慮事項も異なるので、適用される展開上の考慮事項は種類に応じて異なります。さまざまな種類のサイト要素については、この記事の「カスタマイズ可能な 2 種類のサイト要素について」で後述します。

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

はじめに

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

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

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

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

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

  • Web パーツ

  • ワークフロー

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

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

  • イベント レシーバー

  • タイマー ジョブ

  • アセンブリ

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

  • マスター ページ

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

  • フォーム

  • レイアウト ページ

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

  • SharePoint Server 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 Server 2010)」を参照してください。

最善の方法は、ソリューション パッケージと Windows PowerShell を使用して開発サイト要素を展開することです。SharePoint Server ソリューション フレームワークによって、新規およびアップグレード サイト要素をファーム全体に展開し、フロントエンド 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 Server 2010)」を参照してください。

カスタム テンプレート

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

See Also

Concepts

ソリューション パッケージを展開する (SharePoint Server 2010)
作成サイト要素を展開する (SharePoint Server 2010)
テンプレートを展開する (SharePoint Server 2010)
テンプレートを展開する (SharePoint Server 2010)