SharePoint のメタデータ、サイト ナビゲーション、および発行サイトの機能

この記事では、アドイン モデルを使用して、SharePoint Online でメタデータを管理する方法、およびサイト ナビゲーションと発行サイト機能をカスタマイズする方法を説明します。 また、SharePoint 発行サイトのブランド化をカスタマイズするのに役立つ一般的な Web プログラミング パターンとライブラリの使用方法も説明します。

用語と概念

表 1. メタデータ、ナビゲーション、および発行の主要な用語と概念

用語または概念 説明とガイダンス
コンテンツ検索 Web パーツ ページに動的検索コンテンツを簡単に書式設定できる方法で表示する SharePoint Web パーツ。詳細については、「SharePoint Server で検索 Web パーツを構成する」、「SharePoint でコンテンツ検索 Web パーツを構成する」、SharePoint Online の検索機能に関するページを参照してください。
ContentTypeId 再帰的に設計されたコンテンツ タイプの一意識別子。詳細については、「 ContentTypeId クラス (CSOM)」を参照してください。
コンテンツ タイプ 情報のカテゴリのメタデータ (列)、ワークフロー、動作、およびその他の設定の再利用可能で一元的なコレクション。詳細については、「」、「コンテンツ タイプの作成」、「コンテンツ タイプのカスタム情報」を参照してください。
コンテンツ タイプのハブ マネージド メタデータ サービス アプリケーションの一部。これは、コンテンツ タイプを他のサイト コレクションに発行するハブ サイトです。コンテンツ タイプを一元的な場所から発行、再発行、公開解除できます。詳細については、「:- コンテンツ 発行ハブからコンテンツ タイプを発行する」、コンテンツ タイプの発行に関するエラー ログの表示に関するページを参照してください。
デバイス チャネル 複数のデバイスを対象とする異なるデザインを使用して、発行サイト ページを複数の方法でレンダリングする方法。詳細については、「 SharePoint でデバイス チャネル パネル スニペットを追加する」を参照してください。
表示テンプレート 検索テクノロジを使用する Web パーツで使用される表示テンプレートは、検索インデックスに対して行われたクエリの結果のレンダリングを制御します。表示テンプレートは、すべての検索 Web パーツで使用できます。詳細については、「 SharePoint Server でのテンプレートリファレンスの表示」を参照してください。
管理ナビゲーション SharePoint の Managed Metadata Service (分類) を利用したサイト ナビゲーション。 これを使用して、管理されたメタデータの分類に由来するサイト ナビゲーションを作成します。 多くの場合、管理ナビゲーションは製品カタログと一緒に使用すると最も効率よく機能します。
管理されたメタデータ SharePoint でアイテムを定義および属性付けするために使用できる一元管理用語の階層コレクション。マネージド メタデータを使用して、コンテンツ タイプの発行を管理したり、分類を作成したりできます。SharePoint と SharePoint Online では、マネージド メタデータ サービスを使用して、分類を利用した管理ナビゲーション (サイト ナビゲーション) を作成します。詳細については、「SharePoint Server 2010 でのナビゲーション コントロールとプロバイダーのカスタマイズ (ECM)」管理されたメタデータの概要SharePoint Server 2010 のマネージド メタデータの概要管理されたメタデータ管理 (SharePoint Server 2010)SharePoint での管理されたメタデータとナビゲーション、SharePoint での管理されたナビゲーション、SharePointServer 2010 での管理されたメタデータの移行に関するページを参照してください。
Navigation 名前空間 発行サイトのサイト ナビゲーションをサポートするクライアント オブジェクト モデル (CSOM) を格納します。
Taxonomy 名前空間 分類機能をサポートする CSOM クラスが含まれています。詳細については、「 用語グループの同期」サンプル SharePoint アドインに関するページを参照してください。
ピン留め 用語の再利用と同様に、ピン留めはソース用語と再利用インスタンスの間で共有関係を維持します。たとえば、クロスサイト発行シナリオでは、共有関係は複数のサイト コレクションにまたがることができます。 用語が追加または削除されると、そのアクションは、用語がピン留めされている任意の場所で階層全体で更新されます。詳細については、「 コードを使用して SharePoint のナビゲーション用語セットに用語をピン留めする」を参照してください。
製品カタログ 詳細については、SharePoint でのクロスサイト発行、SharePoint Server でのクロスサイト発行の構成に関するページを参照してください。
スニペット デザイン マネージャーによって生成された HTML ファイルに追加できる HTML 機能の一部。 たとえば、[デバイス チャネル] パネルを発行ページに追加する場合、そのためのスニペットがあります。 次の記事では、いくつかの例を示します。 SharePoint でのデバイス チャネル パネル スニペットの追加、SharePoint でのWeb パーツ ゾーン スニペットの追加、SharePointでのセキュリティ トリミング スニペットの追加
構造化ナビゲーション 構造化ナビゲーションの詳細については、「[方法] SharePoint Server 2010 でナビゲーションをカスタマイズする (ECM)」を参照してください。

CSOM を使用して発行サイトをブランド化するための前提条件

既定では、匿名ユーザーは一般向け SharePoint オンプレミス Web サイトに公開された Web コンテンツを利用できます。 既定では、匿名ユーザーは CSOM と REST をどちらも利用できません。

重要

このシナリオでは、オンプレミスの SharePoint サイトに対する潜在的な脅威について説明します。 「リモート プロビジョニングを使用して SharePoint ページをブランド化する」で説明されているリモート プロビジョニング モデルを使用して、発行サイトのブランド化をプロビジョニングする前に、サイトのセキュリティとアクセス許可が正しく設定されていることを確認し、匿名アクセスがセキュリティに与える影響について考慮してください。

発行テンプレートを使用するサイト コレクションを含んだ新しい Web アプリケーションをサイト管理者が作成し、匿名アクセスも有効にした場合、そのアプリケーションがアドイン カタログにアップロードされると、サイトのすべてのユーザーは匿名アクセスができるようになります。 匿名アクセスはオンプレミスの SharePoint 発行サイトに対して有効にされていることを考えると、認証されていないユーザーがこのサイトに移動した場合に何が生じるでしょうか。

SharePoint ホスト型アドインを作成して、クライアント アドイン パーツをプロジェクトに追加する場合は、[サーバーの全体管理]>[アドイン]>[アドイン カタログの管理] に移動して Web アプリケーションのアドイン カタログを作成します。次に、Visual Studio を使用してアドイン パッケージを作成し、SharePoint ホスト型アドインを発行します。その後、アドイン パッケージをアドイン カタログにアップロードします。 この時点で、サイト コレクションの管理者は発行サイトにアドインを追加できます。 これで、発行サイトのページにアドインを追加できます。

発行サイトのメイン ページを編集してアドインをそのページに発行する場合、アドインは期待どおりに機能します。 アドインのリンク付けされたタイトルを選択すると、ページ全体のエクスペリエンスが読み込まれます。 SharePoint がエラーをスローする場合、匿名ユーザーには CSOM を使用するアクセス権がないことを意味します。 匿名ユーザーは既定で CSOM と REST を使用できないため、これは当然です。

"リモート インターフェイスの使用" 権限を無効にするとセキュリティ上のリスクが生じることに注意する

[サイトの権限] では、["リモート インターフェイスの使用" 権限を必須にする] チェック ボックスが既定でオンになっています。 [リモート インターフェイスの使用権限] チェック ボックスをオフにして、匿名ユーザーに CSOM と REST を使用するアクセス権を付与することができます。 これにより、ユーザーは SOAP、WebDAV、および CSOM へのアクセス権をユーザーに付与する "リモート インターフェイスの使用" 権限から切り離されます。 このチェック ボックスをオフにすると、SharePoint Designer も使用できなくなります。

SharePoint Designer を使用する機能を削除しても、CSOM の使用を許可したいと思うこともあるかもしれません。 [リモート インターフェイスの使用アクセス許可] チェック ボックスによって、匿名ユーザーがリモート インターフェイスの使用アクセス許可を持っていなくても CSOM を使用できるようにすることができます。 [リモート インターフェイスの使用アクセス許可] チェック ボックスをオフにし、ページ全体のエクスペリエンスを読み込むためにアドインのリンク タイトルを選択すると、SharePoint はエラーをスローしません。 基本的なエラー処理コードは、このケースを匿名ユーザーとして解釈します。

注意

  • Publishing テンプレートを使用する公開 SharePoint サイトにアプリを追加する場合、サイト アクセス許可において [リモート インターフェイスの使用アクセス許可] チェック ボックスはクリアしないでください。 匿名ユーザーに対して CSOM を利用可能にすると、情報漏えいの可能性のリスクが生じます。それによって、予想以上の情報が漏えいされることになります。 とはいえ、CSOM へのフル アクセスがあったとしても、SharePoint アクセス許可は依然として有効です。 匿名ユーザーは、明示的に匿名ユーザーに利用可能とされたリストやアイテムのみ見ることができます。 CSOM および REST を介すると、Web ページで見えるもの以上のものが匿名ユーザーに利用可能になります。
  • SharePoint オンプレミス Publishing サイトで匿名者アクセス許可が有効にされた場合、絶対に必要な場合を除き、[リモート インターフェイスの使用アクセス許可を必須にする] チェック ボックスはオフにしないでください。 オフにすると、公開済み、非公開の両サイト コンテンツを匿名ユーザーに公開することになり、サイトをサービス拒否攻撃にさらす可能性があります。

ViewFormPagesLockdown 機能の使用

一般向け公開 SharePoint サイトのフォームのページ (たとえば、Pages/Forms/AllItems.aspx) にアクセスできないようにするには、ViewFormPagesLockdown 機能を使用します。 [作成者][更新者] の情報がユーザーに表示されないように設計されています。 この機能は、[アプリケーション ページの表示] または [リモート インターフェイスの使用] へのアクセス許可を削除します。 この機能がアクティブの場合、ユーザーは Pages/Forms/AllItems.aspx にアクセスできず、そのライブラリ内のアイテムを表示することはできません。

CSOM と REST をすべての匿名ユーザーが使用できる場合 ([リモート インターフェイスのアクセス許可を使用する] チェックボックスがオフになっている場合)、ブラウザーに [作成者] と [変更者] の情報は表示されませんが、CSOM または REST を使用してその情報にアクセスできます。

匿名アクセスの構成 (セキュリティ トリミング)

Web アプリケーションの匿名アクセスを構成することで、匿名ポリシーを指定します。 書き込みを拒否します。書き込みアクセス権はありません 。 これは、匿名アクセス権を持つユーザーは (CSOM または REST コードを使用したとしても) サイトに書き込みができないことを意味します。 サイトへの匿名アクセス権が構成されている場合、匿名ユーザーは許可された情報を表示することしかできません。

既定では、未発行ページは匿名ユーザーには表示されません。 これらのユーザーには、匿名アクセスを有効にするリストのみ表示されます。

重要

[リモート インターフェイスの使用権限] チェック ボックスがオフの場合は、アクセス許可モデルとその他の予防措置を使用して、匿名ユーザーがアクセスを禁止されているものに対してアクセスできないようにします。

サービス拒否攻撃を防ぐ

CSOM にはキャッシュはありません。 これは、悪意のある攻撃者が既定のリスト ビューのしきい値を超えずに SharePoint データベースに負荷を掛け続けながら、何千もの項目をリストから同時に照会できることを意味します。 これが拡大すると、本格的なサービス拒否攻撃に発展する可能性があります。

アプリ専用ポリシーの使用

プロバイダーホスト型アドインでは、アプリ専用ポリシーを使用できます。アプリ専用ポリシーを使用すると、現在のユーザーが実行を許可されていないアクションをアドインで実行できます。 たとえば、リストに書き込むのが重要な読み取り専用アクセス許可を持つユーザーは、アプリ専用のアクセス許可を持つアドインを使用してリストに書き込むことができます。

詳細については、「SharePoint アドインの承認と認証」および「SharePoint 用アプリと Office の認証とアクセス許可について」(Channel 9 動画) を参照してください。

SSL の実装

アドイン モデルを使用する場合は、インターネット上のメッセージ送信のセキュリティを管理する Secure Sockets Layer (SSL) プロトコルを実装します。 SSL はリモートの Web サイトで機能しますが、ベアラー + Base64 でエンコードされた (暗号化されていない) 文字列の値と一緒に HTTP 承認ヘッダーでアクセス トークンを送信します。

重要

SSL は、承認トークンを取得してそのアクセスを悪用しようとする攻撃者から SharePoint 発行サイトを保護します。

リモート プロビジョニングと発行サイト

リモート プロビジョニング プラクティスを使用して、ブランド化とその他のカスタマイズを SharePoint 発行サイトに提供できます。

発行サイトはコンテンツ タイプと、コンテンツ タイプをページ レイアウトや表示テンプレートにリンクする ContentTypeId に依存します。 SharePoint 発行ページのコンテンツのカスタマイズとプロビジョニングは、この機能に依存します。 管理メタデータ サービスや管理ナビゲーションなど、カスタム発行サイトのプロビジョニング動作のその他の要素は ContentTypeId には依存せず、CSOM で完全にサポートされます。

デバイス チャネルや表示テンプレートなどのその他の発行サイト カスタマイズ オプションは、カスタム CSOM を必要としません。 それらのオプションは、デザイン マネージャーの機能、CSS、および HTML に依存します。 それらは、一から作成するポストプロビジョニングのカスタマイズであり、移行する必要がありません。

管理されたメタデータ

管理されたメタデータ機能 (SharePoint 2010 で最初に導入) によって、SharePoint で使用するメタデータ タグのカスタム階層または分類を定義できます。 カスタム サイト ナビゲーションを作成する場合、管理されたメタデータ インフラストラクチャに作成される管理ナビゲーション機能を使用できます。

分類は、類似性に応じてグループに編成される単語、ラベル、または用語の階層的分類です。 SharePoint 分類の最小単位は、用語です。 用語は用語セットにグループ化できます。 用語セットは、関連性によってより大きいグループにまとめることができます。

SharePoint の分類の簡単な紹介については、「エンタープライズ メタデータ管理の概要 (Microsoft SharePoint Server 2010 の開発者向け)」および「 SharePoint 2010 でのエンタープライズ管理メタデータの紹介」を参照してください。

SharePoint 2013 では、管理されたメタデータ機能セットに新しい API と機能が導入されました。

管理されたメタデータ プログラミング モデル

SharePoint では、管理されたメタデータ用の .NET サーバー プログラミング モデルは、以下の一連の名前空間で定義されています。

同等の CSOM クラスは、Client.Taxonomy 名前空間にあります。

SharePoint オブジェクト モデルのその他の領域とは異なり、管理されたメタデータでは, .NET サーバー プロビジョニング モデル クラスおよびメンバーと CSOM クラスおよびメンバーとの間に密接な関係があります。

次にいくつかの重要な相違点を示します。

  • CSOM はコンテンツ タイプの同期をサポートしません。
  • Group クラス (TermStore クラスにおける組織の最上位レイヤーを表します) は .NET サーバー オブジェクト モデルでのみ使用できます。 CSOM でこれに相当するのは、TermGroup クラスです。
  • GroupCollection クラス (グループ オブジェクトのコレクションを表します) は, .NET サーバー オブジェクト モデルでのみ使用できます。 CSOM でこれに相当するのは、 TermGroupCollection クラス です。
  • CSOM には、サーバーとの間でカスタム プロパティとラベル データの同期を保つ CustomPropertyMatchInformation および LabelMatchInformation クラスが含まれます。

次の表では、.NET サーバー オブジェクト モデルと CSOM オブジェクト モデルのクラスを比較します。

表 2. 2 つのモデルのクラスの比較

.NET サーバー オブジェクト モデル 同等の CSOM API
Microsoft.SharePoint.Taxonomy.ChangedGroup Microsoft.SharePoint.Client.Taxonomy.ChangedGroup
Microsoft.SharePoint.Taxonomy.ChangedItem Microsoft.SharePoint.Client.Taxonomy.ChangedItem
Microsoft.SharePoint.Taxonomy.ChangedItemCollection Microsoft.SharePoint.Client.Taxonomy.ChangedItemCollection
Microsoft.SharePoint.Taxonomy.ChangedItemType Microsoft.SharePoint.Client.Taxonomy.ChangedItemType
Microsoft.SharePoint.Taxonomy.ChangedOperationType Microsoft.SharePoint.Client.Taxonomy.ChangedOperationType
Microsoft.SharePoint.Taxonomy.ChangedSite Microsoft.SharePoint.Client.Taxonomy.ChangedSite
Microsoft.SharePoint.Taxonomy.ChangedTerm Microsoft.SharePoint.Client.Taxonomy.ChangedTerm
Microsoft.SharePoint.Taxonomy.ChangedTermSet Microsoft.SharePoint.Client.Taxonomy.ChangedTermSet
Microsoft.SharePoint.Taxonomy.ChangedTermStore Microsoft.SharePoint.Client.Taxonomy.ChangedTermStore
該当なし。 Microsoft.SharePoint.Client.Taxonomy.ChangeInformation
該当なし。 Microsoft.SharePoint.Client.Taxonomy.CustomPropertyMatchInformation
Microsoft.SharePoint.Taxonomy.FeatureIds 該当なし。
Microsoft.SharePoint.Taxonomy.Group 該当なし。
Microsoft.SharePoint.Taxonomy.HiddenListFullSyncJobDefinition 該当なし。
Microsoft.SharePoint.Taxonomy.ImportManager 該当なし。
Microsoft.SharePoint.Taxonomy.Label Microsoft.SharePoint.Client.Taxonomy.Label
Microsoft.SharePoint.Taxonomy.LabelCollection Microsoft.SharePoint.Client.Taxonomy.LabelCollection
該当なし。 Microsoft.SharePoint.Client.Taxonomy.LabelMatchInformation
Microsoft.SharePoint.Taxonomy.MobileTaxonomyField Microsoft.SharePoint.Client.Taxonomy.MobileTaxonomyField
Microsoft.SharePoint.Taxonomy.StringMatchOption Microsoft.SharePoint.Client.Taxonomy.StringMatchOption
Microsoft.SharePoint.Taxonomy.TaxonomyField Microsoft.SharePoint.Client.Taxonomy.TaxonomyField
Microsoft.SharePoint.Taxonomy.TaxonomyFieldControl 該当なし。
Microsoft.SharePoint.Taxonomy.TaxonomyFieldEditor 該当なし。
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValue
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValueCollection
Microsoft.SharePoint.Taxonomy.TaxonomyItem Microsoft.SharePoint.Client.Taxonomy.TaxonomyItem
Microsoft.SharePoint.Taxonomy.TaxonomyItemPicker 該当なし。
Microsoft.SharePoint.Taxonomy.TaxonomyRights 該当なし。
Microsoft.SharePoint.Taxonomy.TaxonomySession Microsoft.SharePoint.Client.Taxonomy.TaxonomySession
Microsoft.SharePoint.Taxonomy.TaxonomyWebTaggingControl 該当なし。
Microsoft.SharePoint.Taxonomy.Term Microsoft.SharePoint.Client.Taxonomy.Term
Microsoft.SharePoint.Taxonomy.TermCollection Microsoft.SharePoint.Client.Taxonomy.TermCollection
該当なし。 Microsoft.SharePoint.Client.Taxonomy.TermGroup
該当なし。 Microsoft.SharePoint.Client.Taxonomy.TermGroupCollection
Microsoft.SharePoint.Taxonomy.TermProperty 該当なし。
Microsoft.SharePoint.Taxonomy.TermPropertyToolPart 該当なし。
Microsoft.SharePoint.Taxonomy.TermSet Microsoft.SharePoint.Client.Taxonomy.TermSet
Microsoft.SharePoint.Taxonomy.TermSetCollection Microsoft.SharePoint.Client.Taxonomy.TermSetCollection
Microsoft.SharePoint.Taxonomy.TermSetItem Microsoft.SharePoint.Client.Taxonomy.TermSetItem
Microsoft.SharePoint.Taxonomy.TermStore Microsoft.SharePoint.Client.Taxonomy.TermStore
Microsoft.SharePoint.Taxonomy.TermStoreCollection Microsoft.SharePoint.Client.Taxonomy.TermStoreCollection
Microsoft.SharePoint.Taxonomy.TermStoreOperationException 該当なし。
Microsoft.SharePoint.Taxonomy.TreeControl 該当なし。

ページ レイアウト

発行サイトでは、ページ レイアウトによって、特定のクラスのページのレイアウトが定義されます。 同様に、コンテンツ プレースホルダー (ページ レイアウトの一致する領域からのコンテンツが埋め込まれる) を持つ、ページのカスタマイズ可能領域も定義されます。 通常、ページ レイアウトはカスタム コンテンツ タイプに基づきます。 コンテンツ タイプは、ページに表示するカスタム コンテンツ フィールドを定義します。 通常、ユーザーまたは設計チームが以前に計画したページ デザインにマップするフィールドを含むカスタム コンテンツ タイプを作成します。

カスタム フィールド コントロールには、テキスト、イメージ、動画、またはその他のタイプのコンテンツを含めることができます。 SharePoint では、アーティクル、カタログ、ウェルカム ページなどのコンテンツ タイプが提供されます。 ページ レイアウト コンテンツにアクセスするには、[サイト設定]>[サイト コンテンツ タイプ] に移動します。 これらの既定のページ レイアウト コンテンツ タイプは、作成するカスタム コンテンツ タイプの親コンテンツ タイプとして機能できます。

すべてのページ レイアウト コンテンツ タイプは、ページ コンテンツ タイプを継承します。 カスタム コンテンツ タイプを作成すると、新しいコンテンツ タイプがページ コンテンツ タイプから継承した列が SharePoint に表示されます。 ページ レイアウトに表示する新しいカスタム フィールドを表す新しい サイト列を追加できます。 サイト列ごとにタイプを指定します。 タイプは "1 行テキスト" や "完全な HTML" などの値です。 そのタイプを指定するときには、ユーザーがフィールドに対して持つ記述性やコントロールの程度などのファクターを考慮します。

ページ レイアウトのコンテンツを格納するフィールドをすべて作成すると、デザイン マネージャーでページ レイアウトを作成できます。 詳細については、「SharePoint でページ レイアウトを作成する」を参照してください。

ページ レイアウトを作成したら、[サイト設定]>[マスター ページとページ レイアウト] に移動して、そのレイアウトを発行します。 HTML ファイルと ASPX ファイルが存在します。 HTML ファイルはマスターです。このファイルは任意の HTML エディターを使用して編集できます。 ファイルを保存して発行すると、デザイン マネージャーは変更を取り込み、更新された HTML ファイルを ASPX 形式に変換します。このファイルを使用して、SharePoint はページをレンダリングします。 ページ レイアウトを発行するには、HTML ファイルを選択し、リボンで [発行] を選択します。

新しいレイアウトに基づいてページを作成するには、[新しいページ]>[ページ]>[ページ レイアウト] に移動して、使用可能なページ レイアウトのリストに新しいページ レイアウトを表示します。 新しいページ レイアウトを選択すると、新しいページ レイアウトの新しいコンテンツ タイプを作成した際に指定した新しいフィールドがすべて表示されます。 ページを表示しても HTML が想定どおりのにレンダリングされない場合は、その HTML を編集し、更新したファイルをデザイン マネージャーでアップロードすることができます。

サイト ナビゲーションには 4 種類があります。

  • グローバル ナビゲーション
  • ローカル ナビゲーション
  • 構造化ナビゲーション
  • 管理ナビゲーション

グローバル ナビゲーションは、ナビゲーション要素を参照します。これはユーザーが SharePoint サイト間を移動するのを支援します。

ローカル ナビゲーションは、1 つの SharePoint サイト内のナビゲーションを参照します。

構造化ナビゲーションや管理ナビゲーションは、少し複雑になります。

構造化ナビゲーション

構造化ナビゲーションは、SharePoint サイトにナビゲーションを実装するための静的なアプローチです。 通常、これは SharePoint サイト ナビゲーションを再構築する必要がある企業の構造に適合します。 多くの場合、再構築の作業は、サブサイトやページの移動、および新しいターゲットを指すリンクの更新です。

会社の構造 (つまりサイト構造) が長期間安定しているならば、ほとんどフラットな浅いサイト構造には、構造化ナビゲーションで十分かもしれません。 より深く、より複雑なサイト構造、また動的に拡張したり変更したりする必要があるサイト ナビゲーション構造を持つ会社の場合、管理ナビゲーションが適している可能性があります。

構造化ナビゲーションの詳細については、「[方法] SharePoint Server 2010 でナビゲーションをカスタマイズする」を参照してください。

管理ナビゲーション

管理ナビゲーションは、中心となる発行サイトと分類インフラストラクチャを基にしています。 管理ナビゲーションは、単一のサイト コレクションにバインドされます。 管理ナビゲーションは、用語セットと用語を使用してグローバル ナビゲーションとローカル ナビゲーションを定義します。 たとえば、グローバル ナビゲーション全体を定義する用語セットを作成してから、グローバル ナビゲーションの特定のナビゲーション要素に関する用語をその用語セットに追加することができます。

管理ナビゲーションの詳細については、以下の記事を参照してください。

以下は、発行サイトの SharePoint ナビゲーションの拡張性モデルにおけるクラス、メソッド、およびプロパティに関する重要な点です。

  • NavigationTerm および NavigationTermSet クラスは、管理ナビゲーション固有のプロパティやメソッドを追加します。 その他の状態は NavigationTerm クラスの CustomProperties プロパティに格納されます。
  • NavigationTerm クラスと NavigationTermSet クラスには、編集可能モードと読み取り専用モードの 2 つのモードがあります。 .NET Server オブジェクト モデルでは、 NavigationTerm オブジェクトは分類ナビゲーション キャッシュに格納されます。これは、 TaxonomyNavigation 静的クラスの関数によってのみアクセスできます。
  • .NET サーバー オブジェクト モデルの PortalSiteMapNodeProvider オブジェクトは、データ駆動型サイト ナビゲーション機能とサイト マップ データ ソースの間のインターフェイスを提供します。 通常、カスタム サイト マップ ノード プロバイダーを記述して、サイト マップを XML ファイルで、または既定では SharePoint によってサポートされないデータ形式で格納します。

CSOM には、以下の固有のクラスと列挙が含まれます。

  • NavigationLinkType 列挙は、ナビゲーション ツリーで、ナビゲーション ノードの種類を定義します。 ルート ノード、わかりやすい URL、または標準リンクとしてノードを指定できます。
  • StandardNavigationScheme 列挙は、ナビゲーションをグローバルかローカルのいずれかとして識別します。
  • StandardNavigationSource 列挙には、グローバル ナビゲーションとローカル ナビゲーションの両方に対して 3 つのオプションがあります。 各オプションは、基盤となるプロバイダーの構成に対応した状態を表します。
  • StandardNavigationSettings クラスは、グローバルとローカルのナビゲーション スキーマを管理します。

次の表は、サーバー オブジェクト モードの発行ナビゲーション クラスと、CSOM でそれに相当するものをリストしています。

表 3. ナビゲーション クラスの発行

サーバー オブジェクト モデル CSOM
Microsoft.SharePoint.Publishing.Navigation.CachedObjectSiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.NavigationComparer 該当なし。
該当なし。 Microsoft.SharePoint.Client.Publishing.Navigation.NavigationLinkType
Microsoft.SharePoint.Publishing.Navigation.NavigationTerm Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTerm
該当なし。 Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermCollection
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSet
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetItem
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetView Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetView
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalDataSourceView 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchyData 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalListItemSiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalListSiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalNavigation 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSource 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSourceSwitch 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider 該当なし。
Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.ProxySiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettings 該当なし。
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettingsWriter 該当なし。
Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode 該当なし。
該当なし。 Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSource
該当なし。 Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSettings
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation Microsoft.SharePoint.Client.Publishing.Navigation.TaxonomyNavigation
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheConfig 該当なし。
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheStatistics 該当なし。
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationContext 該当なし。
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapNode 該当なし。
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapProvider 該当なし。
Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings Microsoft.SharePoint.Client.Publishing.Navigation.WebNavigationSettings

発行サイトの機能

SharePoint および SharePoint Online には、SharePoint 発行サイトに固有のいくつかの機能が含まれています。

  • デバイス チャネルは、1 つの発行サイトのデザインを複数のデバイスやブラウザーに適用できるようにします。
  • 表示テンプレートは、検索関連の Web パーツの外観をブランド化およびカスタマイズできるようにします。
  • イメージ表示は、SharePoint 発行サイトのページにイメージを表示するために使用されるディメンションを定義します。

CSOM プログラミング モデルの Publishing 名前空間のクラスを使用することによって、これらの機能を実装できます。

デバイス チャネルおよびデバイス チャネル パネル

スマート フォンとタブレットのサイトを最適化するために、デバイス チャネルとデバイス チャネル パネルを使用できます。 対象とするデバイスごとに独自のチャネルを作成することにより、1 つ以上の方法で SharePoint 発行サイトをレンダリングできます。 一度に 1 つのサイトを作成し、そのサイトとその内容を別のマスター ページとスタイル シートにマップすることによって、別の対象に配置することができます。

デザイン マネージャーを使用してチャネルを作成します。 チャネルを作成したら、それを受信デバイスのユーザー エージェント文字列を使用してモバイル デバイスまたはブラウザーにマップします。

デバイスは、複数のチャネルに所属させることができます。 その場合、デバイスが属しているイベントでチャネルにランクを付けることができます。 たとえば、スマート フォン用のチャネルと特定のデバイス構成用のチャネルを作成する場合、特定の構成を持つデバイスが専用のチャネルを取得し、その他すべてのスマート フォンはスマート フォンのチャネルを取得できるようにチャネルにランクを付けることができます。

デザイン マネージャーでは、最大 10 個までチャネル (既定のチャネルを含む) を作成できます。 既定のチャネルは、その他のチャネルのいずれにもキャッチされなかったすべてのトラフィックをキャプチャします。 新しいチャネルを作成する場合は、次の表に示されるフィールドに入力します。

表 4. デバイス チャネル

フィールド 必須かどうか 説明
名前 必須 他から区別するためにチャネルを識別します。
チャネル エイリアス 必須 コード、クエリ文字列、Cookie、またはデバイス チャネル パネルがチャネル間の相違をどのように区別するか。
デバイス判定ルール 必須 デバイスからの要求の行き先を指示するユーザー エージェント サブ文字列 (それぞれ別の行にする必要があります)。
説明 省略可能 このチャネルの機能について説明します。
アクティブ 省略可能 オンにすると、チャネルはチャネルの関連資産を使用してトラフィックを転送します。それ以外の場合、クエリ文字列 ?DeviceChannel=<alias> はチャネル内のサイトをプレビューします。

デバイス チャネル パネル

デバイス チャネルを作成した後、マスター ページをそれぞれのチャネルにマップします。 マスター ページのカスタマイズはほとんど行われないため、多くの場合、既定のマスター ページ (seattle.master) が使用されます。 1 つまたは複数のデバイス チャネルに 1 つの固有のマスター ページを作成する場合、既定のチャネルのマスター ページとは別の CSS ファイルを参照できます。 作成するページ レイアウトは、作成するすべてのチャネルで使用できます。 デバイス チャネル パネル コントロールを使用して、チャネル間でページ レイアウトのデザインを区別することができます。

詳細については、「SharePoint でデバイス チャネル パネル スニペットを追加する」を参照してください。

デバイス チャネル パネルは、1 つ以上のチャネルにマップされるコンテナー コントロールです。 デバイス チャネル パネル コントロールをページ レイアウトに追加でき、パネルは各チャネルでレンダリングされるコンテンツを制御します。 ページのレンダリング時に 1 つ以上のチャネルがアクティブになると、デバイス チャネル パネルのすべての内容がレンダリングされます。 デバイス チャネル パネルを使用して、1 つ以上の特定のチャネルの特定のコンテンツを含めるタイミングを決定します。

10 個のフィールドを含むページ レイアウトがあるとします。 これらのフィールドの一部はすべてのチャネルで使用でき、一部は特定のチャネルでレンダリングされます。 たとえば、スマート フォンでのみレンダリングするモバイル ヘッダー バナー フィールド、またはデスクトップやタブレットでのみレンダリングする大きいカスタム サイドバーを考えてみてください。

また、チャネル固有の CSS を追加することによって、デバイス チャネル パネルを使用して、ページ上のコンテンツのスタイルと配置を変更することもできます。

詳細については、「SharePoint で CSS を使用してスニペットをブランド化する」を参照してください。

ユーザー エージェント文字列とデバイス チャネル

ユーザー エージェント文字列は、ブラウザーを識別するデータの短い文字列です。 この情報はサーバーに送信されますが、ユーザー エージェントを識別する情報が含まれます。 デバイス チャネルは、ユーザーがブラウズするデバイス (またはブラウザー) のユーザー エージェント文字列 (またはサブ文字列) に基づいて対応するデバイス チャネルへの要求を割り当てます。 フロントエンド Web 開発者は、トラフィックをキャプチャするチャネルを作成し、設定します。

詳細については、「Windows Internet Explorer がユーザー エージェント文字列として報告する内容」を参照してください。

デバイス チャネルを解決する順序

複数のチャネルを作成する場合、解決の順序に従ってそれらを配置します。 ユーザー エージェント文字列に一致するデバイス判定ルールを含む最初のチャネルが使用されます。 次の表に、このルールの例を示します。

表 5。 デバイス包含ルールの例

チャネル 順序 1 順序 2
1 Windows Phone 8 Windows Phone
2 Windows Phone Windows Phone 8
3 既定値 既定値

順序 1 がアクティブな場合、Windows Phone 8 からページを要求するユーザーは、「Windows Phone 8」というラベルが付けられたデバイス チャネル 1 を受信します。 その他の Windows Phone を使用するユーザーは、チャネル 2 を使用し、それ以外のユーザーはチャネル 3 を使用します。 しかし順序 2 を使用する場合、Windows Phone 8 からページを要求するユーザーは、「Windows Phone」というラベルの付いたデバイス チャネル 1 を常に受け取り、そのデバイスが明記されたデバイス チャネルを使用することはありません。

デバイス チャネルを定義して順序を付けたら、チャネルごとに異なるマスター ページを適用できます。 既定では、すべてのチャネルは、既定のチャネルのマスター ページを使用します。

注:

CSOM には、デバイス チャネルおよびデバイス チャネル パネルを操作するためのパブリック API は含まれません。

表示テンプレート

SharePoint 発行サイトは表示テンプレートを使用して、検索結果に表示する管理プロパティと、そのプロパティの Web パーツ内での表示方法を制御します。 表示テンプレートを使用できるのは検索 Web パーツのみです。コンテンツ クエリ Web パーツは検索 Web パーツではないため、表示テンプレートは使用しません。

次の表に、SharePoint が適用する順序で、表示テンプレートの種類を一覧で示します。

表 6. 表示テンプレートの種類

表示テンプレート 説明
コントロール表示テンプレート Web パーツ全体に適用されるため、SharePoint では最初に適用され、1 回だけ適用されます。検索結果を表示するための全体的なレイアウトを構成する HTML が提供されます。たとえば、コントロール表示テンプレートは、見出しとリストの先頭と末尾に HTML を提供する場合があります。このテンプレートは、Web パーツで 1 回だけレンダリングされます。
グループ表示テンプレート 2 番目に適用され、グループごとに一度、検索結果 Web パーツに適用されます。
アイテム表示テンプレート フィルター表示テンプレートが適用されていない限り、最後に適用されます。アイテム表示テンプレートは、各項目に適用されます。このテンプレートは、結果セット内の各項目を Web パーツに表示する方法を決定します。たとえば、テキスト形式のリスト アイテムの HTML、画像を含むリスト アイテム、検索結果のより多くのコンテキストを提供するのに役立つ追加のリンクと概要説明情報のブロックを書式設定するリスト アイテムを提供できます。

SharePoint は、マスター ページ ギャラリーの [表示テンプレート] フォルダーに表示テンプレートを格納します。各表示テンプレートは、マスター ページのコンテンツ タイプに関連付けられます Gallery.To、マップされたドライブを使用しながら、各表示テンプレート ファイルのコンテンツ タイプを識別します。ファイル名を使用します。

マスター ページとページ レイアウトを HTML から JavaScript に変換および更新するイベント レシーバーも、表示テンプレートを HTML から JavaScript に変換します。 変換と同期は一方向です。JavaScript から HTML に変換されません。

注:

CSOM には、表示テンプレートを操作するためのパブリック API は含まれていません。

表示テンプレートの構造

各表示テンプレートには、以下が含まれます。

  • タイトル。
  • <mso:CustomDocumentProperties> タグで囲まれた、カスタム要素を含むヘッダー。
  • スクリプト ブロックを含む <body> タグ。
  • <div> タグ。

カスタム ドキュメント プロパティは表示テンプレートに関する重要な情報を SharePoint に提供します。 各表示テンプレートは、<ContenTypeId> によって識別されるコンテンツ タイプに関連付けられます。 他のプロパティを設定することにより、Web パーツの使用可能な表示テンプレートのリストにテンプレートを表示するかどうか、HTML から JavaScript への管理プロパティ マッピング、表示テンプレートが使用されるコンテキスト、.js ファイルが表示テンプレート HTML に現在関連付けられているかどうか、HTML から JavaScript への変換が成功したかあるいは警告やエラーが生成されたかどうかを判別することができます。

<script> タグから、外部 CSS、またはメインの表示テンプレート HTML ファイルの外部にある JavaScript ファイルを参照できます。

マスター ページ ギャラリー内のアイテムにコンテンツの承認が必要な場合、CSS、JavaScript、およびその他のリソース ファイルをマスター ページとページ レイアウトで使用できるようにするには、まず、それらすべてを発行しておく必要があります。

詳細については、「サイトまたはライブラリのアイテムの承認を必須にする」を参照してください。

<div> タグには、表示テンプレート HTML ファイル名と一致する ID が含まれています。 <div> ブロックでこの Web パーツを表示する方法をカスタマイズするために含める CSS または JavaScript を配置します。

表示テンプレートの処理

SharePoint は、HTML ファイルおよび JavaScript で表示テンプレートを定義します。 デザイン マネージャーで表示テンプレート定義を含む HTML ファイルを変更し、その変更内容を保存する場合、SharePoint は変更したファイルを同じ名前の JavaScript ファイルにコンパイルします。 SharePoint は、この JavaScript ファイルを使用してページ上に Web パーツをレンダリングします。

重要

表示テンプレート定義が含まれる JavaScript ファイルは編集しないでください。 更新は HTML ファイルにのみ行います。 変換プロセスでは、HTML ファイルが XML に準拠している必要があります。 たとえば、<br/> ではなく <br> を使用します。 詳細については、「SharePoint で HTML ファイルをマスター ページに変換する」を参照してください。

新しい表示テンプレートの作成

新しい表示テンプレートを作成する最も簡単な方法は、既存のテンプレートを変更する方法です。 さまざまな表示テンプレートがさまざまなタイプの検索関連の Web パーツの概観を変化させます (コンテンツ検索 Web パーツ、絞り込み Web パーツ、分類絞り込み Web パーツ、検索結果 Web パーツなど)。

詳細については、次のトピックを参照してください。

表示テンプレートで使用できるプロパティ

表示テンプレートで使用できるプロパティを識別し始める前に、作成元となる既存の表示テンプレートを見つけ、そのテンプレートを新しい名前で保存します。 表示テンプレート コードは タグ内 <mso:ManagedPropertyMapping> にあります。

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','SecondaryFileExtension','ContentTypeId'</mso:ManagedPropertyMapping>

次に、[サイト設定]>[検索スキーマ] を開き、表示テンプレートに含める列名を管理プロパティのフィルター ボックスで検索します。 管理プロパティを選択して、プロパティ名を編集およびコピーします。

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','owsTXTPrice','owsTXTColor'</mso:ManagedPropertyMapping>

注:

この例では、PictureURL は、検索で PublishingImagePictureURLPictureThumbnailURL の結果が得られる場合に表示される、最初の管理プロパティにマップされます。

画像表示

イメージ表示は、SharePoint 発行サイトのページにイメージを表示するために使用されるディメンションを定義します。 CSOM を使用して、インスタンスを作成し、イメージ表示を操作できます。 ImageRendition クラスを使用して、高さ、幅、名前、イメージ表示のバージョンなどのメタデータを指定できます。 SiteImageRenditions クラスのメソッドとプロパティを使用して、サイト コレクションからイメージ表示を読み取ったり、書き込んだりできます。

詳細については、「SharePoint デザイン マネージャーのイメージ表示」を参照してください。

SharePoint と Web プログラミング手法

SharePoint デザイナーや開発者は、発行サイトを設計する際に、SharePoint で標準的な Web プログラミング手法を用いることを望みます。 レスポンシブ デザインまたはアダプティブ デザイン、あるいはデバイス チャネルとレスポンシブ デザインの両方を一緒に使用できます。

レスポンシブ デザイン

デバイス チャネルでは、1 つのサイトを一度作成してからそのサイトの対象を複数のデバイスおよびブラウザーに設定することができます。 Web 開発コミュニティでは、通常、レスポンシブ デザインと "流動型グリッド" アプローチを使用して、レイアウトがレンダリングされる方法を管理したり、任意のブラウザーやデバイスで正しくレンダリングされるようにサイトを設計したりします。 レスポンシブ デザインでは、ユーザーのデバイスと画面方向に合うようにページの要素自体が再調整されます。

レスポンシブ デザインは、CSS3 のメディア クエリ機能に基づいています。 メディア クエリを使用してデバイスのディスプレイの幅を一致させ、クライアント側でスタイルを適用してコンテンツをレンダリングします。 メディア クエリを使用すると、デザイナーが画面の幅などの特定のサイト プロパティをターゲットにすることができます。 メディア クエリを使用して、柔軟なレイアウトとイメージを作成し、条件付きで CSS ファイルの代替手段を呼び出すことができます。

詳細と例については、以下のトピックを参照してください。

アダプティブ デザイン

アダプティブ Web デザイン ("アダプティブ Web 配信" とも呼ばれます) は、レスポンシブ Web デザインに似ています。 アダプティブ デザインでは、デバイスまたはブラウザーをリッスンし、ページのレンダリングに最適な方法を選択します。

SharePoint のデバイス チャネル機能は、アダプティブ デザインです。 ページ レイアウト、それぞれのデバイス チャネルの仕様、およびデバイス チャネル パネルで定義されている順序に基づいて、各デバイスに適応性のあるレイアウトを提供します。

デバイス チャネルとレスポンシブ デザインの併用

応答性の高い一般向け SharePoint 発行サイトを作成するために、デバイス チャネルとレスポンシブ Web デザイン手法を併用できます。 スマート フォンやタブレットなどのデバイス用に 1 つのカスタム マスター ページ、そして Web ブラウザー用にもう 1 つ作成し、デバイス チャネルで相互に関連付けることを検討してください。 流体グリッド、柔軟なイメージ、CSS3 メディア クエリを使用し、サイトでサポートする必要のあるそれぞれのデバイスやブラウザーにとって最高の表示エクスペリエンスを作成します。

jQuery を SharePoint サイトに追加する

jQuery を SharePoint サイトに追加できます。サイト レベルやページ レベルで行うこともできますし、ページのセクション内 (SharePoint ページ領域の 1 つまたはページ レイアウトに追加した Web パーツなど) で行うこともできます。

カスタム アクションを使用して、ドキュメント ライブラリから jQuery を読み込むことができます。 これを行うには、SharePoint サイト内のすべてのページで jQuery を使用できるようにする必要があります。 この方法は柔軟ですが、制御が容易ではなく、サイト デザイナーと管理者に影響します。 JavaScript ファイルはドキュメント ライブラリに格納および管理できますが、誤って変更または削除される可能性もあります。 このため、この方法はお勧めしません。

ScriptLinkControl を使用して、SharePoint のルートから jQuery を読み込むこともできます。 このコントロールを使用して、リモート サイトで実行するスクリプトを挿入したり、SharePoint インストール環境を変更せずにスクリプトを変更したりできます。 ScriptLinkControl を使用するこの方法は、アプリケーション ページまたはページに表示される Web パーツで jQuery を使用するときに、効果を発揮します。 jQuery が一度に 1 つのページに追加されるため、このオプションを使用してプロビジョニングすると速度が低下し、パフォーマンスに影響が生じますが、SharePoint ルールに jQuery ファイルを展開すると、その他の従来の要件を回避することができます。 SharePoint 完全信頼コード (FTC) ソリューションを CSOM に移行する必要があり、その移行にカスタム JavaScript や jQuery 動作の移動やリファクタリングが含まれている場合に、これは役に立ちます。

最後に、コンテンツ エディター Web パーツを使用して、コンテンツ配信ネットワーク (CDN) から jQuery を読み込むことができます。 これは、Wiki や Web パーツ ページなど、1 つまたは複数のページに jQuery を追加する必要がある場合に便利です。 CDN から jQuery ファイルをロードするため、SharePoint サーバーに余分のファイルを保存する必要がなくなり、ユーザーは分散されたキャッシュ バージョンの jQuery ファイルを活用できます。 SharePoint は jQuery ファイルを CDN から呼び出し、ユーザーは、作成するカスタム jQuery コードをコンテンツ エディター Web パーツに追加できます。

SharePoint プロバイダー ホスト型アドインを ASP.NET MVC 5 で作成する

SharePoint では、カスタム プロバイダー ホスト型アドインをモデル ビュー コントローラー (MVC) パターンで作成できます。 このモデルでは、アプリケーションは相互に接続される 3 つの部分に分けられます。 これによって、情報の内部表現と、ユーザーがそれを表示する方法と、ユーザーがそれを受け入れる方法とが分離されます。 このモデルは、ソフトウェアの基盤となる構造、ビュー (通常 UI 要素)、およびコントローラーを表し、このそれぞれはモデルとビューを接続するクラスです。

SharePoint サイトのマスター ページ コンテンツに ASP.NET MVC コンテンツをラップできます。 実際に、Office 365 API を使用して、ASP.NET MVC 5 で SharePoint アドインを作成できます。

MVC 向け API (SharePoint 開発用) は、Filters\SharePointContextFilterAttribute.csSharePointContext.cs で定義されます。 これらの API は、SharePoint とシームレスに通信するために Web プロジェクトが実行する手順を 1 回の呼び出しにラップします。これにより、実装する必要のあるロジックが簡略化されます。

SharePoint からリモート Web アプリケーション (ホスト Web URL など) にリダイレクトされた場合、SharePoint コンテキスト フィルター属性は標準的な情報を取得する追加の処理を実行します。 また、ユーザーがサインインする場合 (ブックマークなど) にアドインを SharePoint にリダイレクトする必要があるかどうかを判別します。 コントローラーまたはビューのいずれかにこのフィルターを適用できます。 アドイン Web とホスト Web 用に特定のコンテキストを作成し、SharePoint と通信できるように、SharePoint コンテキスト クラスは SharePoint からのすべての情報をカプセル化します。

詳細については、「ASP.NET MVC の概要」および「SharePoint アドイン用の MVC サポートの概要」を参照してください。

関連項目