Creating a reusable cross site collection navigation in SharePoint

Previously published on DIWUG SharePoint Magazine.

One of the most demanding aspects of SharePoint is navigation. Not only because it has an impact on the way users, developers or consultants transform the platform by using or developing it, but also because of its impact on user adoption, engagement and overall platform performance.

Navigation affects the way users browse through the existing content that – at a fundamental business level – is tightly linked with the way information hosted on the platform is capitalized by employees.

Real world scenarios

Real world scenarios are compatible with more complex SharePoint custom applications (consisting of different site collections and web applications) for which consultants and developers must find solutions that are easily adaptive to a constantly evolving SharePoint portal, complexity-wise.

Related to navigation, this requires a solution that specifically allows a consistent global navigation (for the entire SharePoint portal).

If we go on looking for a solution, out-of-the box features seem to be an option for configuring navigation, but they only allow configuration at the site-collection level, and not across many site collections.

Having a consistent navigation across the entire portal and finding a suitable, reusable solution for other complex real world scenarios we deal with? That would be a clearer challenge for us, as creating a reusable solution places us in the position of having a different mind-frame in finding the answers for more complex scenarios.

Firstly, creating reusable components have the attribute of being easily pluggable in SharePoint environment. The solution not only that it solves an important usability issue, but also a common problem that SharePoint specialists have when setting up an impeccable SharePoint portal: the time frame. In addition, having components for essential features as navigation is – becomes an ardent need: it can help us be more flexible, quicker in the overall deployment process, whilst being able to achieve smooth navigation in almost any kind of project.

The context:

Configuring navigation depends on distinct elements like quick launch, top navigation and breadcrumbs. Top navigation, for example, is usually consistent throughout the entire portal, while the quick launch may change depending on the given context. Related to users and UI friendliness, there are two aspects that we could consider when enhancing navigation:

  • When browsing a SharePoint site, users should know where they are (this is usually achieved by breadcrumbs);
  • Users can easily reach to essential access points (landing page of the intranet portal, department site, and so on).

If SharePoint 2010 provided only standard navigation, this feature was configurable by a site administrator, offering a two-level depth, which – considering the complex potential of SharePoint at the structural level, it is usually not enough for real SharePoint implementations. Additionally, when SharePoint 2013 introduced the new managed metadata navigation feature, many of the existing issues seemed solved: supporting more than two-level depth navigation, easy multilingual configuration, SEO-friendly URLs.

Common practices: what are our options?

For SharePoint 2010:

– Custom site map provider which retrieves navigation data from:

  • XML file
  • Navigation list
  • Navigation elements of a “central” site collection

– Creating – from scratch – a custom navigation control.

For SharePoint 2013:

– Using a source term set for which you define your own navigation structure.

Create a new term set and pin it to the source term set.

This option may be suitable for a portal with a small number of site collections, but in a large SharePoint portal, with many site collections it will also lead to a large number of duplicated data in your term store (each site collection will have its own associated navigation term set);

– Creating a custom navigation control;

– The same options as for SharePoint 2010.

The solution? – Navigating through the core

Specifically, the solution for implementing reusable cross-site collection navigation consists in retrieving navigation information and not about how it looks like.

The main levers we can use in order to control this are:

  1. Using the term “store” to get the navigation for all existing site collections.
  2. Developing a site map provider which reads all terms from a term set, and delivers them as navigation nodes. This allows us to reuse previously gained knowledge (SharePoint 2010), but also to integrate the new features (SharePoint 2013) in the concept.
  3. This solution can be installed in a new SharePoint environment simply by deploying it in Central Administration, activating a feature at web application level, and configuring the term set that should be used by the navigation provider.

Final words

Creating a reusable solution isn’t only effective – from the timeframe perspective, but also from the qualitative perspective of the delivered SharePoint solution. Creating and implementing reusable solutions can have the effect of setting new standards of performance related to all SharePoint sites we set up. In our case, consistent global navigation supports adding more portal sites while assuring a user-friendly browsing.