SharePoint でのファーム ソリューションの作成Build farm solutions in SharePoint

ファーム ソリューションを使用した SharePointの管理拡張機能の開発、パッケージ化、展開に関するドキュメントの概要を紹介します。Get an overview of our documentation about developing, packaging, and deploying administrative extensions to SharePoint using farm solutions.

ファーム ソリューションの概要What are farm solutions?

SharePointには、SharePoint 管理機能の拡張機能をインストールするための独自のシステムが備わっており、これは他の Windows アプリケーションおよびプラットフォームとは異なります。MSI ファイルや ClickOnce テクノロジは使用されていません。代わりに、拡張機能のアセンブリ、XML、その他のファイルが "ソリューション パッケージ" という 1 つのファイルにバンドルされます。ソリューション パッケージは .cab ベースの形式ですが, .wsp ファイル拡張子を持ちます。パッケージには、SharePoint 機能とそのすべての子コンポーネントだけでなく SharePoint 機能に展開されていない特定の種類のコンポーネントを含めることができます。ファーム管理者はファーム レベルの保存場所にパッケージをアップロードして、そこからパッケージを展開して SharePoint 機能をアクティブ化できます。SharePoint has its own system for installing extensions to SharePoint administrative functions that is different from other Windows applications and platforms. No MSI file or ClickOnce technology is involved. Instead, the assemblies, XML, and other files in the extension are bundled into a single file, which is called a solution package. A solution package has a .cab-based format but a .wsp file extension. The package can contain SharePoint Features and all their child components in addition to certain kinds of components that are not deployed in Features. Farm administrators upload the packages to a farm-wide storage location from where they can be deployed and their Features activated.

SharePoint アドインとは異なり、ファーム ソリューションには、SharePoint サーバーに展開されて SharePoint サーバー オブジェクト モデルを呼び出すコードが含まれます。これらのアセンブリは常に、完全信頼で実行されています。さらに、ファーム ソリューションの機能には、SharePoint アドインの機能の Web サイト範囲に加えて、サイト コレクション、Web アプリケーション、またはファーム全体をカバーする範囲を含めることができます。ファーム ソリューションのこうした側面は、時として、ソリューションの入手先がよく知られた信頼できる発行元でない場合にファーム管理者がインストールしたがらないという事態につながります。このため、主にエンド ユーザーによって使用される SharePoint 拡張機能は、ファーム ソリューションではなく SharePoint アドインとして開発する必要があります。ファーム ソリューションは、カスタム タイマー ジョブ、ユーザー設定の Windows PowerShell コマンドレット、全体管理の拡張機能など、SharePoint 管理機能のカスタマイズに使用する必要があります。SharePoint アドインのその他のメリットとファーム ソリューションの使用の詳細については、「 SharePoint アドインと SharePoint ソリューションの比較」を参照してください。Unlike SharePoint Add-ins, farm solutions contain code that is deployed to the SharePoint servers and makes calls to the SharePoint server object model. These assemblies always run with full trust. Moreover, the Features in farm solutions can have scope as wide as the site collection, web application, or whole farm, in addition to the website scope of Features in SharePoint Add-ins. These aspects of farm solutions sometimes make farm administrators reluctant to install them, unless they come from a well-known and trusted source. For this reason, SharePoint extensions that are primarily for use by end users should be developed as SharePoint Add-ins, not farm solutions. Farm solutions should be used for customizations of SharePoint administrative functions, such as custom timer jobs, custom Windows PowerShell cmdlets, and extensions of Central Administration. For more on the advantages of SharePoint Add-ins and the uses of farm solutions, see SharePoint Add-ins compared with SharePoint solutions.

ファーム ソリューションの開発者用ドキュメントの紹介Guide to the developer documentation for farm solutions

ファーム ソリューションの開発に関しては、SharePoint 2010 以降ほとんど変わっていないため、このセクションでは SharePoint 2010 SDK へのリンクを示します。混乱を避けるため、SharePoint 2010 SDK を使用して SharePointの開発を行う際には必ず以下の点に注意してください。Development of farm solutions has changed very little since SharePoint 2010, so this section contains links to the SharePoint 2010 SDK. To avoid confusion, keep the following points in mind at all times when using the SharePoint 2010 SDK to develop against SharePoint:

  • SharePoint 2010 SDK の "セキュリティで保護されたソリューション" への参照が多くあります。カスタム コードを使ったサンドボックス ソリューションは SharePointでは使用されていません。「コードなし」サンドボックス ソリューションは使用可能です。You will see many references to "sandboxed solutions" in the SharePoint 2010 SDK. Sandboxed solutions with custom code are deprecated in SharePoint. "no code" sandboxed solutions are still viable.

  • ファーム ソリューションは主に管理拡張機能に使用するという推奨は、SharePoint 2010 には当てはまりません。したがって、SharePoint 2010 SDK のサンプルおよびその他のドキュメントの多くが ファーム ソリューションとして展開されているエンドユーザー用拡張機能に関するものになっている可能性があります。Our recommendation that farm solutions be used primarily for administrative extensions did not apply in SharePoint 2010. Therefore, many of the samples and other documentation in the SharePoint 2010 SDK may be about end-user extensions that are deployed as farm solutions.

  • SharePoint 2010 SDK の "server-side (サーバー側)" および "server code (サーバー コード)" という語は、SharePoint サーバー オブジェクト モデルを呼び出すコードを示します。これらの用語はリモート Web サーバー (SharePoint ファームの外部にある Web サーバー) で動作するコードを意味 していません 。SharePoint 2010 および SharePointの両方で、リモート Web サーバーから SharePoint を呼び出すコードは、必ず SharePoint クライアント オブジェクト モデルの 1 つを使用します。SharePoint 2010 SDK では、そのようなコードは "client-side (クライアント側)" または "client code (クライアント コード)" と呼ばれます。The terms "server-side" or "server code" in the SharePoint 2010 SDK refer to code that calls the SharePoint server object model. These terms do not refer to code that runs on remote web servers (that is, web servers external to the SharePoint farm). Code that calls SharePoint from remote web servers, in both SharePoint 2010 and SharePoint, always uses one of the SharePoint client object models. In the SharePoint 2010 SDK, such code would be called "client-side" or "client code."

  • SharePoint 2010 のファーム ソリューションのアセンブリは、コード アクセス セキュリティ (CAS) ポリシーを使用して展開できます。このポリシーは、SharePoint、すなわち完全信頼で実行される SharePointのファーム ソリューションのすべてのアセンブリで無視されます。The assemblies in a farm solution in SharePoint 2010 could be deployed with Custom Access Security (CAS) policies. Such policies are ignored in SharePoint; all assemblies in farm solutions in SharePoint run with full trust.

パッケージ化および展開Packaging and deployment

ファーム ソリューションのパッケージ化、インストール、更新、ローカライズの基本については、「 ソリューションの概要」およびノード「 ファーム ソリューション」で説明されています。ファーム ソリューションに含める特定の SharePoint コンポーネントの開発については、SharePoint 2010 SDK の関連ノードで説明されています。ファーム ソリューション内のほとんどのコンポーネントは、1 つまたは複数のユーザー設定の SharePoint 機能にカプセル化する必要があります。SharePoint 機能の設計および作成の詳細については、SharePoint 2010 SDK の「 フィーチャーを操作する」ノードを参照してください。The basics of packaging, installing, updating, and localizing farm solutions are explained in Solutions Overview and the node Farm Solutions in SharePoint 2010. Development of particular SharePoint components for inclusion in a farm solution is explained in the relevant nodes of SharePoint 2010 SDK. Most of the components in a farm solution should be encapsulated in one or more custom SharePoint Features. For information about designing and creating Features, see the Working with Features node of the SharePoint 2010 SDK.

管理拡張機能Administrative extensions

SharePoint ファームの管理機能の拡張に関するガイドは、SharePoint 2010 SDK の「 Windows SharePoint Services の管理」ノードに含まれます。このノードには、全体管理の拡張、ユーザー設定の Windows PowerShell コマンドレットの作成、アップグレードおよび移行のカスタマイズ、バックアップのカスタマイズ、および SharePoint イベント ログのカスタマイズに関する説明が含まれています。1 つのセクションでは、SharePoint ファームの状態とパフォーマンスを測定するシステムのカスタマイズ方法を説明しています。カスタム タイマー ジョブの作成方法については、「 [方法] すべての Web サーバーでコードを実行する」を参照してください。Guidance about extending the administrative functions in a SharePoint farm is in the Windows SharePoint Services Administration node of the SharePoint 2010 SDK. There you can find explanations about extending Central Administration, creating custom Windows PowerShell cmdlets, customizing upgrades and migration, customizing backups, and customizing SharePoint event logging. One section explains how to customize the SharePoint farm health and performance measuring system. For instructions about creating a custom timer job, see How to: Run Code on All Web Servers.

このセクションの内容In this section

このセクションのトピックでは、SharePoint ソリューションの開発方法の変更点について説明します。The topics in this section describe the ways in which development of SharePoint solutions has changed.

関連項目See also