SharePoint でのファーム ソリューションの作成

ファーム ソリューションを使用した SharePointの管理拡張機能の開発、パッケージ化、展開に関するドキュメントの概要を紹介します。

ファーム ソリューションの概要

SharePointには、SharePoint 管理機能の拡張機能をインストールするための独自のシステムが備わっており、これは他の Windows アプリケーションおよびプラットフォームとは異なります。 MSI ファイルや ClickOnce テクノロジは使用されていません。 代わりに、拡張機能のアセンブリ、XML、その他のファイルが "ソリューション パッケージ" という 1 つのファイルにバンドルされます。 ソリューション パッケージは .cab ベースの形式ですが, .wsp ファイル拡張子を持ちます。 パッケージには、SharePoint 機能とそのすべての子コンポーネントだけでなく SharePoint 機能に展開されていない特定の種類のコンポーネントを含めることができます。 ファーム管理者はファーム レベルの保存場所にパッケージをアップロードして、そこからパッケージを展開して SharePoint 機能をアクティブ化できます。

SharePoint アドインとは異なり、ファーム ソリューションには、SharePoint サーバーに展開され、SharePoint サーバー オブジェクト モデルを呼び出すコードが含まれています。 これらのアセンブリは常に完全信頼で実行されます。 さらに、ファーム ソリューションの機能は、SharePoint アドインの機能の Web サイト スコープに加えて、サイト コレクション、Web アプリケーション、またはファーム全体と同じ範囲を持つことができます。ファーム ソリューションのこれらの側面により、ファーム管理者は、既知の信頼できるソースからの場合を除き、インストールを嫌がることがあります。 このため、主にエンド ユーザーが使用する SharePoint 拡張機能は、ファーム ソリューションではなく SharePoint アドインとして開発する必要があります。 ファーム ソリューションは、カスタム タイマー ジョブ、Windows PowerShell のカスタム コマンドレット、およびサーバーの全体管理の拡張機能など、SharePoint 管理機能をカスタマイズするのに使用します。 SharePoint アドインの利点とファーム ソリューションの使用方法の詳細については、「 SharePoint ソリューションと比較した SharePoint アドイン」を参照してください。

ファーム ソリューションの開発者用ドキュメントの紹介

ファーム ソリューションの開発に関しては、SharePoint 2010 以降ほとんど変わっていないため、このセクションでは SharePoint 2010 SDK へのリンクを示します。 混乱を避けるため、SharePoint 2010 SDK を使用して SharePointの開発を行う際には必ず以下の点に注意してください。

  • SharePoint 2010 SDK の "セキュリティで保護されたソリューション" への参照が多くあります。 カスタム コードを使ったサンドボックス ソリューションは SharePointでは使用されていません。 「コードなし」サンドボックス ソリューションは使用可能です。

  • ファーム ソリューションは主に管理拡張機能に使用するという推奨は、SharePoint 2010 には当てはまりません。 したがって、SharePoint 2010 SDK のサンプルおよびその他のドキュメントの多くが ファーム ソリューションとして展開されているエンドユーザー用拡張機能に関するものになっている可能性があります。

  • SharePoint 2010 SDK の "server-side (サーバー側)" および "server code (サーバー コード)" という語は、SharePoint サーバー オブジェクト モデルを呼び出すコードを示します。 これらの用語はリモート Web サーバー (SharePoint ファームの外部にある Web サーバー) で動作するコードを意味していません。 SharePoint 2010 と SharePoint の両方で、リモート Web サーバーから SharePoint を呼び出すコードでは、常に SharePoint クライアント オブジェクト モデルのいずれかを使用します。 SharePoint 2010 SDK では、そのようなコードは "client-side (クライアント側)" または "client code (クライアント コード)" と呼ばれます。

  • SharePoint 2010 のファーム ソリューションのアセンブリは、コード アクセス セキュリティ (CAS) ポリシーを使用して展開できます。 このポリシーは、SharePoint、すなわち完全信頼で実行される SharePointのファーム ソリューションのすべてのアセンブリで無視されます。

パッケージ化および展開

ファーム ソリューションのパッケージ化、インストール、更新、ローカライズの基本については、「 ソリューションの概要 」と「 SharePoint 2010 のファーム ソリューション」ノードで説明されています。 ファーム ソリューションに含める特定の SharePoint コンポーネントの開発については、SharePoint 2010 SDK の関連ノードで説明されています。 ファーム ソリューション内のほとんどのコンポーネントは、1 つまたは複数のユーザー設定の SharePoint 機能にカプセル化する必要があります。 フィーチャーの設計と作成の詳細については、SharePoint 2010 SDK の 「機能の操作 」ノードを参照してください。

管理拡張機能

SharePoint ファームでの管理機能の拡張に関するガイダンスは、SharePoint 2010 SDK のWindows SharePoint Services管理ノードにあります。 このノードには、全体管理の拡張、ユーザー設定の Windows PowerShell コマンドレットの作成、アップグレードおよび移行のカスタマイズ、バックアップのカスタマイズ、および SharePoint イベント ログのカスタマイズに関する説明が含まれています。 1 つのセクションでは、SharePoint ファームの状態とパフォーマンスを測定するシステムのカスタマイズ方法を説明しています。 カスタム タイマー ジョブの作成方法については、「 [方法] すべての Web サーバーでコードを実行する」を参照してください。

このセクションの内容

このセクションのトピックでは、SharePoint ソリューションの開発方法の変更点について説明します。

関連項目