Microsoft bietet in seiner neuen SharePoint Version 2013 ein neues Feature an, dass mit den Keywörtern „Cross SiteCollection Publishing“ oder auch „Catalogs“ bezeichnet wird.
Cross SiteCollection Publishing soll eine bis anhin existierende grosse Lücke im Funktionsumfang von Microsoft SharePoint Publishing Features (also den CMS Features) schliessen.
Bis anhin war es nur sehr erschwert möglich, den Inhalt von SharePoint Listen oder Dokumentenbibliotheken innerhalb anderer SharePoint SiteCollections oder gar anderer SharePoint Applications darzustellen.
Die Unzulänglichkeiten der bestehenden Features wie „Content Query WebPart“ (Aggregation von Inhalten innerhalb einer SiteCollection), „Reusable Content“ (Einblenden von Einzel-Inhalten, die in einer zentralen Liste als Text gehalten werden in Rich Edit Feldern) und „Search Result WebPart“ (Definition von fixen Abfragen über den Search Index) führten meist dazu, dass im Bereich von „Wiederverwendung von Inhalten“ kundenspezifisch programmierte Lösungen verwendet wurden. Vielfach führte dies zu komplexen Konstrukten, die sowohl für den Benutzer, als auch für Administratoren schwer zu durchschauen waren und auch des öftern Authorisierungs- und Publikationsprobleme nach sich führten.
Bringt uns das „Cross Site Publishing“ von SharePoint 2013 in diesem Bereich weiter ?
Grundidee
„Cross Site Publishing“ erlaubt das Publizieren der Inhalte von Listen und Dokumentenbibliotheken über SiteCollection- und Applikationsgrenzen hinweg:

Eine Liste oder Library auf Seite des zu publizierenden Inhaltes (1) wird dabei zu einem sogenannten „Catalog“ definiert. Ein Catalog kann zusätzliche listenspezifische Daten wie die Verwendung eines Managed Meta Data Fields (2) als Navigationshierarchie für den Zugang zu den Daten oder die Definition von ID Feldern für den Zugang zu den einzelnen Daten Items der Liste/Library enthalten.
Die Architektur von „Cross Site Publishing“ ist vom Search Crawler (3) abhängig, da die Darstellung der Inhalte von Catalogs auf Consumer Seite durch Content Search WebParts erfolgt.
Auf SiteCollection Ebene der Consumer Seite kann anschliessend auf Catalogs verbunden (connected) werden (4). Über spezielle Publishing Pages wird damit der Inhalt von Catalogs in der Hierarchie der Consumer Site dargestellt.
Der in der Consumer Site eingeblendete Inhalt besteht dabei einerseits aus Hierarchie-Übersichtsseiten und Item Seiten, die ein Item des Catalogs im Detail darstellen.
Das Konzept erlaubt zusätzliche Features, wie die Definition der Zielurl des eingeblendeten Inhaltes (am Ursprungsort oder innerhalb des Context der Consumer Site) oder das Erstellen von „friendly“ Urls aufgrund der Metadata Struktur der angegliederten Navigation.
Metadaten Spalte als Navigation
„Cross Site Publishing“ erlaubt es einer als Catalog definierten Liste oder Library eine Spalte vom Datentyp „Managed MetaData“ zu führen, die auf einen hierarchischen TermSet des Managed Meta Data Service zeigt und in der Consumer Site als Navigation innerhalb der Catalog Data verwendet werden kann.

Eine Liste oder Library (1) kann ein Feld (3) enthalten, das als Managed MetaData Field auf einen hierarchischen TermSet des Managed Meta Data Service (2) zeigt. Mit der entsprechenden Konfiguration dieser Liste/Library als Catalog (4), wird das Managed MetaData Field als Navigation in den Consumern (5) dieses Catalogs verwendet.
Bedingung für den Managed Meta Data Termset ist, dass es sich um einen globalen Termset oder um einen lokalen mit Zugangsberechtigung für die Consumer SiteCollection handelt.
Definition einer Liste oder Library als „Catalog“

Um eine Liste oder Library (1) als „Catalog“ zu publizieren muss in den ListSettings (2) der Liste/Library die Menüoption „Catalog Settings“ aufgerufen werden.
Die Administrationsseite (3) erlaubt das Setzen folgender Parameter:
- Definition der Liste/Library als Catalog
- Erlauben von Anonymem Access auf den Catalog
- Definition von bis zu 5 ID Feldern des Catalogs, die dazu verwendet werden können, bei entprechender URL Definition im Consumer die einzelnen Items des Catalogs eindeutig zu identifizieren.
- Festlegen eines Feldes des Typs „Managed Meta Data“ für die Navigation in den Consumer Sites.
Durch Speichern dieser Settings wird eine Liste/Library als Catalog innerhalb der Reichweite des aktuellen Search Service bekannt. Um auf den Catalog zu verbinden (connect) muss mindestens ein inkrementaler Search Crawl erfolgt sein.
Connect auf einen Catalog auf der Consumer Seite

Um auf einen publizierten „Catalog“ zu verbinden muss in den SiteSettings der Consumer SiteCollection die Menüoption „Manage Catalog Connections“ aufgerufen werden (1).
Es erscheint eine Liste der publizierten Kataloge.
Mit der Option „Connect“ kann die Administrationsseite zur Verbindung auf einen Katalog aufgerufen werden (2)
Die Administrationsseite erlaubt das Setzen folgender Parameter:
- Connect Integration:
Bestimmt, ob der Catalog direkt mit Seiten und Navigation in die Consumer Site integriert werden soll, oder ob lediglich eine Connection, die für „Content Search WebParts“ nutzbar ist erstellt werden soll.
- Definition des Managed Property Fields der Search (Meta Data Field im Catalog), das für die Navigation verwendet werden soll.
- Definition der Position innerhalb der Navigation der SiteCollection, in die der Catalog eingebettet werden soll.
- Die Gestaltung der Urls für den Zugriff auf den Catalog und die Catalog Items (friendly Url using terms, Url with ID Parameters etc.)
- Festlegung der zu verwendenden Master Page für die Catalog Hierachie Übersichtsseite und die Catalog Item Seite.
Durch Speichern dieser Settings werden in der Pages-Library der Ziel Site zwei neue Seiten angelegt:

- Category-[CatalogName]-Hierarchy.aspx
- CategoryItem-[CatalogName]-Hierarchy.aspx
Über diese beiden Seiten werden sowohl Hierarchie Überblicksseiten, als auch die Catalog Item Seiten dargestellt.
Die beiden Seiten enthalten je einen entsprechend konfigurierten „Content Search“ WebPart.
Vorkonfiguriertes Szenario
Microsoft bietet unter der Site Definition „Product Catalog“ ein z.T. vordefiniertes Szenario für ein Content Reuse Szenario mit einer Produkte Liste an.
Nach der Instantiierung einer „Product Catalog“ Site müssen allerdings noch diverse Konfigurationsschritte manuell vollzogen werden.
Zusätzliche technische Settings
- Offensichtlich scheint, dass das Catalogs Feature nur mit lauffähigem Search Service und nach abgeschlossenem inkrementalen Crawl funktioniert.
- Ausserdem muss beim Connection Proxy für den Managed Meta Data Service die Option “This service application is the default storage location for column specific term sets” gesetzt sein. Die scheint by default nicht gesetzt.
- In meiner Umgebung funktionierte die Navigations Einbindung von Catalogs nur, wenn die Navigation in einem “lokalen” Termset erstellt wurde, also in einem Termset, der primär nur für die Quell-SiteCollection sichtbar ist und dann über ein Setting für die Ziel-SiteCollection sichtbar gemacht wurde.
Beurteilung
- Das neue „Cross Site Publishing“ Feature erlaubt die Darstellung von List/Library Inhalten in anderen SiteCollections. Leider ist es jeweils auf Listen und Libraries ausgerichtet. Das Publizieren ganzer Hierarchien (Multisite Management) ist nicht möglich. In diesem Sinne reiht sich das Feature in die Kette der Feature Erweiterungen ein, die SharePoint immer mal wieder etwas weiter Richtung echten Content Reuse bringen. Ein tatsächliches Multisite Management ist es aber nicht.
- Das Handling und die Verwendung des Features scheint für den User kompliziert. Es sind viele Konfigurationssettings mit z.T. hoher Berechtigung nötig und es bedingt auch ein hohes Verständnis der Zusammenhänge innerhalb SharePoint. Ich kann mir schlecht vorstellen, wie ein durchschnittlicher SharePoint Benutzer mit diesen Settings zurechtkommt. Das Konfigurieren von Catalogs wird – gerade auch aus Authorisierungsgründen – auch für einen Administrator ein schwieriger Task sein.
- Cross Site Publishing ist auf den Search Crawler angewiesen. Content kann daher nicht punktgenau publiziert werden. Es ist immer ein Crawl Lauf abzuwarten.
- Es scheint Probleme im Zusammenhang mit dem Publizieren von Pages Libraries als Catalogs im Zusammenhang mit publizierten Bildern und verknüpften Dokumenten zu geben, da das Catalogs Feature die entsprechenden Referenzen jeweils nicht oder nur teilweise aufzulösen vermag und auch verknüpfte Dateien selbstverständlich nicht an den Consumer Ort repliziert.
„Cross Site Publishing“ ist ein nettes, kompliziert zu bedienendes Feature, dass dazu dienen kann einzelne Listen oder Libraries in andere SiteCollections zu publizieren. Es bietet aber nicht die Funktionalität eines echten hierarchischen Multi Site Management.