SharePoint でのクロスサイト発行Cross-site publishing in SharePoint

SharePoint ではクロスサイト発行機能が導入されており、複数のサイト コレクション間でコンテンツを再利用することができます。組み込みの検索機能を使用することで、発行のシナリオとアーキテクチャが有効になります。 最初に、SharePoint ファーム間でサイトを設計することで、イントラネットとインターネット間の境界をまたがるサイトが可能になります。SharePoint introduces a cross-site publishing feature that enables you to reuse content across multiple site collections. It uses built-in search capabilities to enable publishing scenarios and architectures. For the first time, you can design sites that cross SharePoint farms—enabling your sites to span the boundary between intranets and the Internet.

複数の発行サイト コレクションをフィードする 1 つの認証サイト コレクション、異なるドメイン、発行検索エンジンによるクロール、検索エンジン最適化 (SEO) が最適化された、1 つのサイトを検討します。クロスサイト発行により、コンテンツを展開することなく、このシナリオやその他の類似シナリオが可能になります。 クロスサイト発行は次のような一般的なシナリオを考慮して設計されています。Consider a site with one authoring site collection that feeds multiple publishing site collections, with different domains, all crawled by public search engines and optimized for search engine optimization (SEO). Cross-site publishing enables this scenario and others like it, without requiring you to use content deployment. Cross-site publishing was designed with some common scenarios in mind, including:

  • 発行カタログとしての項目リストまたはページ ライブラリの共有Share an item list or a page library as a publishing catalog

  • 検索からのカタログの使用Consume a catalog from search

  • クロスサイト発行とバリエーション機能の結合して、共通認証サイト コレクションから認証多言語サイトを可能にするCombine cross-site publishing with the variations feature to enable authoring multilingual sites from a common authoring site collection

カタログCatalogs

SharePoint で導入されたカタログは、発行サイトでの検索に利用する、共有されたリストまたはライブラリです。カタログによりコンテンツをサイト コレクション間で発行することができます。つまり、クロスサイト発行機能はカタログに依存します。カタログを使用して、ユーザーのサイト間またはイントラネット サイト、エクストラネット サイト、インターネット サイトの境界を越えてコンテンツの再利用ができます。定義済み検索クエリでは、カタログは検索でフラグが設定されます。「 SharePoint のコンテンツ検索 Web パーツ」を使用してサイト コレクションをまたいだカタログに保存されたコンテンツを表示できます。Catalogs, introduced in SharePoint, include a list or library that is shared out to search for consumption on publishing sites. Catalogs enable content to be published across site collections—the cross-site publishing features depend on catalogs. You can use catalogs to really reuse content across your sites and across the boundary between your intranet sites, extranet sites, and Internet sites. For predefined search queries, catalogs are flagged in search. You can surface content stored in catalogs across site collections by using the Content Search Web Part in SharePoint.

クロスサイト発行を使用するタイミングWhen should I use cross-site publishing?

クロスサイト発行が効果的ではない、あるいは適切ではないケースがあります。外部データ ソースがあり、それらに接続するかどうか、バリエーション、サイトの種類、検索データベースの実装、製品カタログの使用はすべて、そのケースの決定に影響を及ぼす要素です。表 1 はこれらの設計の注意事項についての詳細情報を示します。There are some cases where cross-site publishing is not efficient or appropriate. Whether you have external data sources and how you connect to them, variations, site type, search database implementation, and use of the product catalog are all factors that should influence your decision. Table 1 provides more information about these design considerations.

表 1. クロスサイト発行の設計の注意事項Table 1. Design considerations for cross-site publishing

設計の注意事項Design Consideration 説明Description
ラグ タイムLag time
発行元がページを発行する時間とページがサイトに表示される時間が、ページを使用しているユーザーにとって長すぎる場合には、代わりにコンテンツを展開することが可能です。If the delay between the time an author publishes a page and when it shows up on the site is too long for someone who depends on it, you may want to consider using content deployment instead.
検索データベースの実装Search database implementation
検索データベースを外部データ ソースに接続し、外部 (SharePoint 以外の) コネクタを使用する場合には、クロスサイト発行は使用できません。ビジネス コネクティビティ サービス (BCS) を使用する場合は、クロスサイト発行を使用できます。If you connect your search database to an external data source and you use an external (non-SharePoint) connector, you can't use cross-site publishing. If you use business connection services (BCS), you can use cross-site publishing.
検索エンジンと共にクロスサイト発行を使用することに、意味がない場合があります。計画中の検索データベースや、カスタム コードの実装もない状況では、クロスサイト発行を使用してソース サイトから直接インターネットに発行しないでください。Using cross-site publishing with the search database makes sense in some cases but not others. You should not use cross-site publishing to publish from a source site directly to the Internet in a way that does not include your search database in the planning or custom code implementation.
バリエーションの実装Variations implementation
ページ ライブラリ、ドキュメント ライブラリ、いくつかの言語で使用可能な一般のリストを作成する基本的なバリエーション サイトを実装するときに、クロスサイト発行が役に立ちます。 バリエーション サイトで管理ナビゲーションや構造化ナビゲーションの実装を選択する場合にも同じことが言えます。 If you are implementing a basic variations site that makes a pages library, document library, and general lists available in a few languages, cross-site publishing makes sense. The same is true if you choose to implement managed navigation or structured navigation on a variations site.
クロスサイト発行は特定のアーキテクチャでのみ機能します。たとえば、ソースの SPSite が他のバリエーション サイトやサイト コレクションからのデータを使用しない場合、クロスサイト発行を使用してバリエーションの SPSite からバリエーションが有効化された発行サイトへコンテンツを発行することができます。Cross-site publishing works for some architectures but not others. For example, you can use cross-site publishing to publish content from a variations SPSite to a publishing site with variations enabled if the source SPSite is not consuming data from another variations site or site collection.
カタログの実装Catalog implementation
製品カタログをサイト アーキテクチャに実装し、カタログをどのように実装するかは、クロスサイト発行が最も効果的で適切な選択になるかどうかに影響します。製品カタログを使用して多言語バリエーション サイトの設定をサポートし、それをインターネット サイトで公開している場合、クロスサイト発行を実装できます。Whether you implement the product catalog into your site architecture and how you implement it may affect whether cross-site publishing is the most effective or appropriate choice. If you are using the product catalog to support a multilingual variations site configuration and are publishing to an Internet site, you can implement cross-site publishing.
管理ナビゲーションManaged navigation
クロスサイト発行は管理ナビゲーションと用語ストアのほとんどの実装で動作します。実装の中には、ナビゲーション メタデータ転送が期待どおりに機能しないこともあります。たとえば、あるバリエーション サイトがサイト バリエーションを動かすために他のバリエーション サイトのメタデータに依存しており、クロスサイト発行を使用して対象のサイトにコンテンツを発行する場合、ナビゲーション メタデータ転送は期待どおりに機能しないことがあります。Cross-site publishing works with most implementations of managed navigation and the term store. In some implementations, navigation metadata transfer may not work as expected. For example, when one variations site depends on metadata from another variations site to drive site navigation, and you use cross-site publishing to publish content to the target site, navigation metadata transfer may not work as expected.

カタログの設定方法How can I set up a catalog?

カテゴリ ページおよびカタログ アイテム ページは、構造化されたカタログ コンテンツをサイト全体で同じように表示するために使用できるページ レイアウトです。Category pages and catalog item pages are page layouts that you can use to show structured catalog content consistently across a site. SharePoint を使用すると、SharePoint Server 以降のページ レイアウトを作成およびカスタマイズできます。SharePoint enables you to create and customize page layouts for SharePoint and above. 詳細については、「SharePoint でカタログベースのサイトのページ レイアウトをカスタマイズする」を参照してください。For more information, see Customize page layouts for a catalog-based site in SharePoint.

クロスサイト発行の APICross-site publishing APIs

SharePoint にはクロスサイト発行の実装をサポートするためにコードへ使用できるクラスが導入されています。これらの API は .NET サーバー公開ライブラリで利用することができます。これらの API を使用して、SharePoint がコンテンツの再利用のためにカタログとしてリストを共有する方法や、検索でカタログを使用する方法をカスタマイズします。次のクラスのメンバーをカスタム コードで使用して、クロスサイト発行タスクをサポートします。SharePoint introduces classes that you can use to support cross-site publishing implementation in your code. These APIs are available in the .NET server publishing library. Use them to customize how SharePoint shares lists as catalogs for content reuse or consumes a catalog from search. You can use the members of the following classes in custom code to support cross-site publishing tasks:

  • PublishingCatalogUtility クラスを使用し、利用可能なカタログのリストの取得、カタログ情報とステータス情報の取得、カタログに接続できるリストとライブラリについての情報の取得、カタログ共有の開始と停止を行います。Use the PublishingCatalogUtility class to retrieve a list of available catalogs, get information about catalogs and their statuses, get information about lists and libraries that can be connected to catalogs, and start or stop sharing catalogs.

/// Retrieve available catalogs.
public static List<CatalogConnectionSettings> GetPublishingCatalogs(SPSite site, int startRow, int numberOfRows, string filterText, out int totalNumberOfCatalogs)

///Get catalog information that is saved for a list.
public static bool GetCatalogConfiguration(SPList list, out CatalogShareSettings catalogSettings, out string selectedTaxonomyField)

///Stop sharing a list or library as a publishing catalog for cross-publishing content reuse.
public static void UnPublishCatalog(SPList list)
  • CatalogCollectionManager クラスを使用し、検索で取得したカタログを使用します。カタログが検索に使用する接続を把握し、その接続についての情報を取得します。カタログの内部コレクションにカタログの追加または削除を行い、 Update メソッドが呼び出されたときに URL を書き換える設定がされた接続をキューに登録する操作をキューに入れます。Use the CatalogCollectionManager class to consume catalogs from search. Learn about the connection that a catalog has to search, and get information about it. Add or remove a catalog from the internal collection of catalogs, and queue an operation to queue up a connection that is configured to rewrite URLs when the Update method is called.

/// Add catalog or site source into the internal CatalogInfo collection, but the source is not persisted into the property bag.
public void AddCatalogConnection(CatalogConnectionSettings catalogInfo)

/// Queues an Add operation to add a connection configured to rewrite URLs. The connection is added to the store when the Update method is called.
public void AddCatalogConnection(CatalogConnectionSettings catalogInfo, 
string[] orderedPropertiesForUrlRewrite,
string webUrl, 
string catalogTaxonomyManagedProperty,
bool isManualRule)

/// Update existing catalog/site source in the internal CatalogInfo collection. Edits are not committed until the Update method is called.
public void UpdateCatalogConnection(CatalogConnectionSettings catalogInfo)

/// Remove a catalog or site source. Deletion is not committed until the Update method is called.
public void DeleteCatalogConnection(string catalogPath)

/// Determine whether a connection exists to this source from the site.
public bool Contains(string catalogPath)

/// Get the settings for a catalog connected to this site.
public CatalogConnectionSettings GetCatalogConnectionSettings(string catalogPath)

関連項目See also