Saturday, March 30, 2013

Managed metadata navigation and friendly URLs in Sharepoint 2013 – part 1

Managed metadata navigation and friendly URLs is one of my favorite features in Sharepoint 2013. Finally we may get rid of /pages/default.aspx and live with SEO (remember that Google uses URLs in the ranking) and user-friendly URLs for pages and sub sites. This feature allows also to show content from different locations inside one site in Sharepoint, so end users even won’t actually know that it actual content is stored somewhere else. In this part I will make overview of basic functionality and in the second part will describe more complicated features (Update 2013-04-21: second part is here and third part is here).

Let’s see how it works. First of all you need to enable managed metadata driven navigation in Site settings > Navigation:

image

After that you will be able to manage navigation nodes in the local site collection’s managed metadata group. It can be found in Site settings > Term store management:

image

Note that each site collection has own local managed metadata group, which is shown only for its own site collection, i.e. when you open Term store management in context of its site collection. E.g. local groups are not shown when you open term store in Central administration > Managed service applications > Managed metadata service. You can use predefined Site Navigation term set or create your own. In the last case you will need to change default navigation term set in Site settings > Navigation:

image

Let’s add several terms into term set and check how navigation will look like. If we have the following terms:

image

then global and current navigation will look like this:

image

As you can see it reflects the hierarchy of the terms which we created in the term store. Note “Edit links” link near both navigations. This is very useful tool from my point of view which allows to modify navigation in WYSIWYG mode:

image

In the example above I’ve added Investors link which points to external http://example.com URL, i.e. links are not limited by the local Sharepoint URLs. If you will check navigation term set after that, you will see that Investors link is added on appropriate level, i.e. Sharepoint automatically synchronizes changes made in the navigation editor and term set:

image

For current navigation 2nd higher level links by default are shown in the dynamic menu. It is also possible to edit these nodes using WYSIWYG editor:

image

Also you may hide (see eye icon near each node), rearrange by using drag and drop, add new and modify existing nodes – and all this can be done without leaving the public view of the site. The same actions can be done in Site settings > Term store management, but it will require knowledge of the term store functionality for content producers. Using WYSIWYG editor it is more simpler and intuitive.

This was basic overview of managed metadata navigation for Sharepoint 2013. In next part I will write about more advanced features and will describe another details of its behavior.

16 comments:

  1. Hi, I am not able to find SiteCollection - xxxx in MMS?

    ReplyDelete
  2. Hi Vamsi,
    yes, I also saw that on some environments local site collection term sets are not created. But it is not big problem: it is possible to use regular groups and term sets for navigation. The only drawback in this case is that they always be visible in the term store.

    ReplyDelete
  3. Hi, great post! Does Friendly URL required SharePoint 2013 Enterprise or can you use it with SharePoint 2013 Standard?

    ReplyDelete
  4. hi Emelie,
    this link http://technet.microsoft.com/en-us/library/jj819267.aspx (see "SharePoint feature availability across on-premises solutions") shows that:
    - Managed Metadata Service is available for SharePoint Server 2013 Standard and Enterprise licenses
    - Managed navigation is also available both for Standard and Enterprise licenses
    These features are not available for Sharepoint Foundation only. So I think the question on your answer is yes, friendly urls will work with Standard license as part of managed navigation.

    ReplyDelete
  5. Thanks Alex! The link was very helpful and you answered my question. I will continue to follow your blog!

    ReplyDelete
  6. Hi alex , have you try it out on Site settings page?

    Means your Navigation remains same on site settings page?

    Or it is different?

    ReplyDelete
  7. Suresh Lakum,
    if you mean navigation shown on /_layouts/15/settings.aspx, which by default uses system master page, then yes, it also uses managed metadata navigation if it is currently used.

    ReplyDelete
  8. But I am not able to see same navigation on all content pages/application pages.

    ReplyDelete
  9. I am facing same issue from past 3 days and not able to configure it out.
    If I commented

    asp:Content contentplaceholderid="PlaceHolderTopNavBar" tag

    from settings.aspx I am able to view my navigation perfectly. But what for all other pages which uses default.master ??

    You are clear with my question?

    ReplyDelete
  10. Suresh Lakum,
    I just checked that on the custom application layout pages which have DynamicMasterPageFile="~masterurl/default.master", global navigation is shown correctly. Probably you have to check changes in your custom master page, probably they cause this problem.

    ReplyDelete
  11. Hi, I am using Managed navigation in SPS 2013, I am trying to restore my site from Dev. server to staging server. I have Export/Import-SPMetadataWebServicePartitionData & restoring managed service DB backup on target source and it did not work, i don't see anything in term store in target server, and one global navigation i get the error "Error loading navigation: The Managed Navigation term set is improperly attached to the site." while in log file i get error "Fetching app info failed: Microsoft.Office.Server.Search.Query.SearchServiceNotFoundException: The search request was unable to connect to the Search Service. at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.GetProxy(SPServiceContext ServiceContext) at Microsoft.Office.Server.Search.WebControls.SearchCommon.GetSearchCenterUrl()"
    please let me what I am missing or doing wrong

    ReplyDelete
  12. When you select to use managed metadata navigation, you choose the term set which will be used as a source for navigation items. Seems like Sharepoint stores guid of this term set internally (like it does in many other cases), so attempt to restore the site by copying only content database fails, because there is no such term set on another environment. In order to fix it you need to copy also database of managed metadata service applications from dev env and attach it to metadata service application on staging (NOTE: if you will do it with existing managed metadata service application existing metadata on staging will be lost. So it is safer to create new app and attach db to it). Another way is after restore go to navigation settings and reattach navigation to the term set manually.

    ReplyDelete
  13. Thanks for the reply, I have tried this but i cannot see my navigation in terms store. these are the steps I have take; backup managed DB from source, deleted managed service and its connection on target machine, restore DB on target DB server, made the service account as its owner, created new managed service on target machine pointing to the restored DB.

    ReplyDelete
  14. do you see any other term sets in restored managed metadata service application on staging? Are you sure that you backup correct instance of managed metadata service application on dev?

    ReplyDelete
  15. no term set in target server, also i have only one managed service at source server so there cannot be any confusion in taking backup. I am also facing few other issues in using Managed Navigation. My scenario is that i am using variation and have sub-sites. If possible, please let me know how i can share a detailed documents with screen shots (where applicable)

    ReplyDelete
  16. if there are no term sets in target env, then restore of managed metadata database was not successful (or mount of database to service application failed).

    ReplyDelete