SharePoint 2013 allows the use of Managed Metadata Navigation, a feature that allows for SEO-friendly URLs and easy management of navigation via the term set management tools. However, there are a few limitations in the product that impacts scaling across site collection and reusability for an enterprise scale implementation as well as audience targeting at scale.
I will not cover the basics of setting up managed metadata navigation – I will focus on the limitations, the workarounds and potential solutions.
For an excellent overview on how to set up managed navigation, see SharePoint 2013 – Navigation using Managed Metadata (Term Store) on EndUserSharePoint.com.
If you want to share the managed navigation term set between site collections, then you will get the following message:
If you continue and browse back to the site that used the original term set, you will receive an in-line error stating:
Also, there are no way to set audience targeting for a navigation node as you can in “manual” structured navigation. You can set managers and contributors for a term set, but not control its visibility. I would like the option to create different navigation structures for different audiences, such as white-collar and blue-collar work forces on an intranet.
We can create a copy of the navigation node and use this on our second site collection. In this scenario, we have a secondary site collection named “Forums”. I create a new term group in the taxonomy term store tool named “Local Navigation”. From here, I create a new term set named “Forum Site Navigation”. I can now use the context menu and select “Pin Term With Children”.
Pinning a term will allow me to select a source term, including all its children, and link this term to my term set hierarchy.
Changes in the term source, including new children, will be automatically reflected within the new structure. At this point, we notice that you cannot pin the children of a term set, which would be useful for cloning a navigation term set. Instead, we must add each term by pinning the term.
We can also copy an entire term set, or a term, which is easier. In this case, the terms are reused in the new term set. We can also add new children to the copied term set. However, changes in structure from the original term set, such as new or moved child terms, will not be reflected in the copied term set.
We can now select the “local navigation” on our Forum site and, where in my case I used only pinned terms, have a synchronised clone of the master navigation.
Possible Improvements and Solutions
I would like to see the option, when creating a new site collection or when managing navigation of an existing site collection, to either
- Inherit the managed navigation of a source site collection (as pinned and not editable nodes)
- Copy the navigation of a source site collection (and allow for additions and changes locally)
- Allow different nodes for different audiences
Some of these require changes to the core SharePoint system but I imagine a custom site creation flow where a site creation request is bundled with the navigation request. We could, by using the object model or remote PowerShell script batches, create local navigation copies and assign these to the newly created site collections. If we need custom audiences, then we could potentially use custom properties on the terms and use these during rendering and replace the default navigation control with a delegate.