Microsoft SharePoint Foundation のコンテンツ階層
最終更新日: 2010年3月13日
適用対象: SharePoint Foundation 2010
Microsoft SharePoint Foundation オブジェクト モデルは、3 つの階層に分けて効果的に使用できます。このトピックでは、リスト アイテムなど、データのパブリッシュ可能アイテムを表すクラスを含むコンテンツ階層について説明します。リスト、コンテンツ データベース、Web サイト、Web アプリケーションと呼ばれるサイト コレクションのグループなど、データの入れ子のコンテナーを表すクラスもあります。
重要 |
---|
階層内のクラスによって表されるエンティティについては、「[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ」を参照してください。 |
物理オブジェクト階層は、サーバーやファイルなどの物理エンティティを表す各種クラス、およびそれらのエンティティを収めた、ファームやフォルダなどの各種コンテナで構成されています。この物理オブジェクト階層については、「Microsoft SharePoint Foundation の物理オブジェクト階層」で説明しています。
3 番目のサービス階層には、サービスやサービスのインスタンスを表すクラスが含まれます。この階層については、「Microsoft SharePoint Foundation のサービス階層」で説明しています。
注意
一部のクラスは簡単に分類できず、複数の階層に属すると見なされるという意味で、これらの階層は部分的に重なっています。
コンテンツ階層
コンテンツ階層の 7 つの主要クラスを図 1 に示します。
図 1. コンテンツ階層の主要オブジェクト
図 1 の各オブジェクトの種類には、その下にある種類のオブジェクトも含まれます。このトピックでは、SPList、SPListItem、および SPField クラスについては説明しません。
SPWeb
SPWeb オブジェクトは SharePoint Foundation Web サイトを表します。SPWeb クラスの特性は、次のとおりです。
SPWeb オブジェクトは、別の SPWeb オブジェクトまたは SPSite オブジェクトの子にすることができます。SPSite オブジェクトの子の場合、このオブジェクトは、サイト コレクションのトップレベル Web サイトです。
SPWeb オブジェクトには、他の SPWeb オブジェクトのコレクションを返す Webs プロパティがあります。具体的には、すぐ下の子サブサイトが返されます。
クラスには、Web サイトをプログラムで管理およびカスタマイズするための豊富なメンバがあります。
Web サイトの階層には、常にトップレベル Web サイトが 1 つあります。このサイトは、SPSite オブジェクトの子です。
注意
SharePoint Foundation で "Web サイト" (または "サイト") と呼ばれているものは、SharePoint Foundation の元のバージョンである Microsoft SharePoint Team Services では "Web" と呼ばれていました。したがって、これを表すクラスは SPWeb と呼ばれます。同様に、サイト コレクションは、単に "サイト" と呼ばれていました。このため、サイト コレクションを表すクラスには SPSite という名前が付けられています。
SPSite
SPSite オブジェクトは、Web サイトのコレクションを表しますが、SPSite クラスは、ICollection を実装するクラスという意味では、コレクションではありません (SPSiteCollection クラスは、後者のインターフェイスを実装します。このクラスは、SPSite オブジェクトのコレクションを表します)。
SPSite クラスの特性は、次のとおりです。
SPSite オブジェクトは、SPContentDatabase オブジェクトのコンテンツのサブセットを表します。
SPSite クラスには、子のトップレベル Web サイトを保持するRootWeb プロパティがあります (トップレベル Web サイトは、SharePoint Foundation、Microsoft SharePoint Team Services の最初のバージョンでは "ルート Web" と呼ばれていました)。そして、トップレベル Web サイトを表す SPWeb オブジェクトには、そのすぐ下にあるすべての子サブサイトを保持する Webs プロパティがあります。(サブサイトのサブサイトは含まれません (AllWebs プロパティは、すべてのサブサイトとトップレベル Web サイトを返します)。
SPSite には、管理機能の開発に使用できる多数のメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。
Web サイトの URL の最大長
RSS フィード
監査
停止している Web サイト
フィーチャー
サイト コレクションの所有権
サイト コレクションのサイズ クォータ
サイト利用状況データ
サイト コレクションのワークフロー
テンプレートと Web パーツ ギャラリー
セルフサービス サイト作成
SPSite クラスの約半分のメソッドは、なんらかの種類の情報を返す Get* メソッドで、そのプロパティのほとんどは読み取り専用です。
SPContentDatabase
SPContentDatabase オブジェクトは、すべてのデータ (リスト、リスト アイテム、ブログ記事とコメント、Wiki ページ、ドキュメント ライブラリ内のドキュメント) と、データベースに属するサイト コレクションを構成するほとんどのページ ファイルが格納されている SQL Server データベースを表します。
以下に SPContentDatabase クラスの特性をいくつか示します。
SPContentDatabase オブジェクトは SPWebApplication オブジェクトの子です。Web アプリケーションのコンテンツ データベースのコレクションは、Web アプリケーションの ContentDatabases プロパティで参照されています。
SPContentDatabase クラスには、すべての子 SPSite オブジェクトを保持する Sites プロパティがあります。
SPContentDatabase は SPPersistedObject を継承します。つまり、クラスをインスタンス化するオブジェクトは構成データベースに保存されます。
SPContentDatabase には、管理機能の開発に使用できる数多くのメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。
データベースのバックアップと復元
データベースのアップグレード
データベースの移行 (移動)
データベースの修復
データベースの接続文字列およびログオン ユーザー名とパスワード
サイト コレクション数の制限
SPContentDatabase のほとんどのプロパティは読み取り専用です。
SPWebApplication
SPWebApplication オブジェクトは、SharePoint Foundation のコンテンツ発行 Web アプリケーションを表します。1 つ以上のサイト コレクションのデータを保持する 1 つ以上のコンテンツ データベースが含まれます。このような各 Web アプリケーションは、IIS Web サイトによって提供され、通常、IIS に独自のアプリケーション プールを持っています。
SPWebApplicationクラスの特性をいくつか示します。
SPWebApplication オブジェクトは SPWebService オブジェクトの子です (SPWebService クラスの詳細については、「Microsoft SharePoint Foundation のサービス階層」を参照してください)。
SPWebApplication クラスには、すべての子 ContentDatabases オブジェクトを保持する SPContentDatabase プロパティがあります (始めに 1 つ以上のコンテンツ データベースへの参照を取得しなくても、属するすべてのコンテンツ データベースのあらゆるサイト コレクションへの参照を取得できる便利な Sites プロパティもあります)。
サーバーの全体管理アプリケーションと同じように、管理者は、SPWebApplication クラスを使用して、IIS マネージャを開かずに IIS プロパティにアクセスできます。たとえば、IisSettings プロパティや、SharePoint Foundation Web アプリケーションが割り当てられている IIS アプリケーション プールのプロパティにプログラムからアクセスできるようにする ApplicationPool プロパティがあります。
SPWebApplication は SPPersistedObject を継承します。つまり、クラスのオブジェクトは構成データベースに保存されます (コードでのこれらのオブジェクトの使用方法については、「概要 : オブジェクト モデルを使用して管理をカスタマイズする」と「[ウォークスルー] コンテンツ サービス オブジェクトを作成する」を参照してください)。
SPWebApplication には、管理機能の開発に使用できる数多くのメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。
セキュリティ ポリシー
通知
ドキュメントの変換
Web アプリケーションのバックアップと復元
Web アプリケーションに対する変更のログ
電子メールの送信
外部のワークフローへの参加
Windows Live MetaWeblog API の使用
ごみ箱の使用
使用されていないサイト コレクション
Web.config ファイルの変更
Web アプリケーションがデータを消費する必要がある場合、またはサービス アプリケーションに用意されている機能を処理する必要がある場合は、SPServiceApplicationProxy を使用します。
SPWebApplication クラスは、SPHttpApplication クラスと密接に関連しています。後者のクラスのオブジェクトは、HTTP 要求ハンドラです。SharePoint Foundation Web アプリケーションが割り当てられているプロセス (IIS アプリケーション プール) には、Web アプリケーションに送信されるページ要求を処理する 1 つ以上の SPHttpApplication オブジェクトがあります。
関連項目
参照
概念
サーバーとサイトのアーキテクチャ : オブジェクト モデルの概要
概要 : オブジェクト モデルを使用して管理をカスタマイズする
Microsoft SharePoint Foundation のコンテンツ階層
[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ
Microsoft SharePoint Foundation の物理オブジェクト階層
[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト
Microsoft SharePoint Foundation のサービス階層
バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ