COMPAREX AG
SharePoint Globale Navigation

Globale Navigation für Microsoft SharePoint: eine Gruselgeschichte mit Happy End

SharePoint 2013, wir befinden uns mittlerweile in der 5. SharePoint-Generation und noch immer gibt es keine einheitliche, zentrale Navigationsstruktur. Welche alternativen Möglichkeiten haben Sie, um Ihre SharePoint Navigation trotzdem neu zu gestalten? Mit diesen Lösungswegen kommen Sie zu einer farmweiten Navigation für Ihren SharePoint.

Ein Beitrag von Daniel Koszior, Software Architect Team Portals & Collaboration

Seit der Einführung von Microsoft SharePoint hat sich dieses Produkt zu einer sehr mächtigen Plattform für die Zusammenarbeit im Umfeld von Microsoft Office gemausert. Kaum ein mittelständiges oder großes Unternehmen verzichtet auf die breit gefächerten Möglichkeiten, die es bietet. Umso erstaunlicher ist es, dass es Microsoft bisher noch immer nicht geschafft hat, eine zentrale Datengrundlage für die Haupt- bzw. Schnellstart-Navigation zu implementieren. Stattdessen wurden immer wieder neue Ansätze verfolgt, die SharePoint-Navigation neu zu gestalten. Mit jedem Versionssprung war man gespannt, ob und wie dieses Problem nun endlich gelöst wurde.

Verwaltete Metadaten zur Rettung?

Mit der Einführung von Microsoft SharePoint Server 2013 Ende 2012 schien Microsoft endlich einen Weg gefunden zu haben. Das Zauberwort: Managed Navigation bzw. Verwaltete Navigation. Es wurde ein Navigationsanbieter geschaffen, der sich die Dienstanwendung „Verwalteter Metadatendienst“ zunutze macht. Term-Sets konnten nun erstmals auch für die Navigation genutzt werden.

SharePoint Globale NavigationWer nun denkt, die Verwendung einer zentralen Ablage für Navigationsstrukturen schafft die Möglichkeit für globale Navigation auf Basis einer logischen Hierarchie, die innerhalb verschiedener Websitesammlungen verwendet werden kann, wird leider erneut enttäuscht. Ein solches Term-Set für die Navigation kann jeweils nur einer einzigen Websitesammlung zugeordnet werden. Diese Einschränkung zerstört jegliche Hoffnung auf eine einheitliche, zentrale Navigationsstruktur.

Darüber hinaus funktioniert eine an Benutzerrechte gebundene Sichtbarkeit von einzelnen Navigationsknoten (Security Trimming) einzig bei Knoten vom Typ „Ausdrucksgesteuerte Seite“. Diese Knoten müssen zwingend auf eine Inhaltsseite verweisen. Sämtliche Knoten vom Typ „Einfache Verknüpfung“ sind für jeden Benutzer sichtbar – auch wenn dieser keine Berechtigungen hat, das Verknüpfungsziel anzuzeigen. Darüber hinaus können vorhandene Beschriftungen (Labels) von Termen innerhalb der Navigation nicht für eine Lokalisierung von Menüs verwendet werden – obwohl die Labels bereits mit Sprachcodes (LCIDs) versehen sind.

Microsoft hat hier einen durchaus interessanten Ansatz für die Realisierung einer globalen Navigation geschaffen – jedoch ohne diesen auch nur ansatzweise zu Ende zu denken. Was kann man tun, um die Vorteile der Verwalteten Navigation zu nutzen? Zwei verschiedene Lösungen mit unterschiedlicher Komplexität werden im Folgenden kurz vorgestellt.

Globale SharePoint Navigation per Client Side Object Model (CSOM)

Ein recht simpler Ansatz für die Realisierung einer globalen Navigationslösung für SharePoint ist die Nutzung des Client Side Object Model mit JavaScript. Dieser Ansatz hat den Vorteil, dass keinerlei Anpassungen auf der Server-Seite erfolgen müssen. Diese Lösung ist also auch in Office 365 Umgebungen einsatzfähig. Nachteilig hierbei ist allerdings die Registrierung der benötigen Scripts sowie fehlendes Security Trimming der Navigationsknoten.

Globale Navigation (Menü) in SharePoint
Abb.: Navigations-Überblick im SharePoint MegaMenü von COMPAREX AG

Die benötigten Scripts müssen über die verwendeten Gestaltungsvorlagen (Master Pages) registriert werden. Dies kann über SharePoint Designer oder die manuelle Bearbeitung der zu verwendenden Master Page erfolgen. Die modifizierte Gestaltungsvorlage sowie das erstellte JavaScript-File, welches das Abrufen der Navigationsstrukturen über den Taxonomy Webservice sowie das Rendering des Menüs übernimmt, müssen in jede Websitesammlung kopiert werden. Nur so kann die globale Navigation in verschiedenen Portalen verwendet werden.

Wo diese Lösung bei kleineren SharePoint Farmen etwas umständlich auszurollen ist, kann sie in großen SharePoint Farmen schlicht nicht verwendet werden. Zu groß wäre der Aufwand für das Deployment. Wer sich trotzdem für eine Lösung mit Hilfe des Client Side Object Models interessiert, oder durch Office 365 darauf angewiesen ist, dem sei die kurze Schritt-für-Schritt Anleitung des MVP Waldek Mastykarz ans Herz gelegt.

Globale SharePoint Navigation per SiteMap Provider

Durch die Entwicklung eines eigenen Navigationsanbieters kann das Abrufen eines zentralen Term-Sets aus mehrerer Websitesammlungen ermöglicht werden. Darüber hinaus kann das Deployment in die verschiedenen Webanwendungen per SharePoint Feature erleichtert werden. Hierbei muss der SiteMap Provider über die Konfigurationsdatei jeder Webanwendung registriert werden. Das Rendering der Menüs kann komplett serverseitig erfolgen und je nach dem Grad der Anpassung per Standardmenü oder mit Hilfe eines eigenen Steuerelements erfolgen.

Hierfür können die Datenquellen für die Navigationsknoten per Delegate Control für die Hauptnavigation (TopNavigationDataSource) oder für die Schnellstart-Navigation (QuickLaunchDataSource) ebenfalls per SharePoint Feature ersetzt werden. Sollen die Menüs selbst ausgetauscht werden – beispielsweise um ein MegaMenü zu implementieren – müssen angepasste Gestaltungsvorlagen ausgerollt werden. Hierbei erledigt ebenfalls das SharePoint Feature-Framework den Austausch.

Bilanz

Microsoft SharePoint bietet auch in der aktuellen Version 2013 keine fertige Navigationslösung für eine farmweite Darstellung von zentral verwalteten Navigationsstrukturen. Ohne nötiges Entwicklungs-Know-how bleiben SharePoint-Kunden auch bei der Verwendung der Verwalteten Navigation auf der Strecke und müssen pro Websitesammlung ein dediziertes Term-Set bereitstellen. Änderungen müssen in konsistenter Art und Weise in allen Term-Sets durchgeführt werden. Die Berechtigungssteuerung von Navigationsknoten funktioniert nur bei SharePoint Inhaltsseiten innerhalb der gerade aktiven Websitesammlung. Eine Lokalisierung der Navigationsknoten ist nicht verfügbar. Möchte man diese Einschränkungen ganz oder teilweise überwinden, sind aufwändige Anpassungen nötig.

In eigener Sache: Das MegaMenü für SharePoint aus dem Hause COMPAREX

Im Rahmen eines Kundenprojektes erneuerte COMPAREX das Navigationskonzept für das Intranet der Deutschen Messe AG. Damit begann die Entwicklung einer globalen Navigation für SharePoint 2013. Die fertige Lösung erlaubt Administratoren gezielt Navigationsstrukturen für SharePoint Websitesammlungen zu verwalten und bietet einen übersichtlicheren Blick auf alle verfügbaren Navigationsknoten – und dass mehrsprachig inklusive Berechtigungsprüfung.

Alle Features und Hintergründe zum COMPAREX MegaMenü für SharePoint

Webinar COMPAREX MegaMenü für SharePoint

Lernen Sie das COMPAREX MegaMenü für SharePoint in unserer Webinar-Aufzeichnung kennen.

Diesen Artikel teilen

Artikel vom:
16.12.2015

geschrieben von:

TAGS:
Navigation, SharePoint

Thema:

Kommentieren sie diesen Artikel...

© COMPAREX AG
Zurück nach oben