I used the Team Site Template for all Site Collections so I needed to activate the SharePoint Server Publishing Infrastructure Site Collection Feature and Deactivate the Minimal Download Strategy (Messes up short URLs) Site Feature for each site collection/web created.
- First, in order for you to access this from all site collection you cannot create the term set under the “Site Collection – site collection name”
- To do this DO NOT click Create Term Set from the Navigation screen. Instead open the Term Store Management Tool and click New Group and create a group. For example: Created a group called “Navigation” and create all site collection navigation term sets underneath this
- Make sure to check the box “Use this Term Set for Site Navigation” under Intended Use for the term set
- You can only pin a term with children and not an entire term set, which means any new top level terms added to the global navigation menu must be pinned to all other term sets for other site collections.
- Create your navigation menu in term set 1 and then create term set 2, which we will pin terms to
- Click the arrow next to the new term set and click Pin Term With Children
- Select the term and click OK
- In order for this to work all links must be absolute URLs since we are using it cross site collections.
- Now if I go to the root web of the site collection and select Navigation > Check the radio button for Managed Navigation and select the term set we created above everything will look good
- If creating a new web (For example: Web3) and select yes to “Use the top link bar from the parent site?” it will not work right away. (I tried running the timer jobs Taxonomy Update Scheduler and Persisted Navigation Term Set Synchronization with no luck)
- You will need to go back to Site Settings > Navigation and just click OK.
- Before Clicking OK:
- After Clicking OK:
- Everything at this point is working cross site collections though, which is a plus!
- Now let’s say down the road I want to update the navigation menu (Adding a new site collection, SC2) so I go to the Term Store Management Tool and add the new term to the root
- I create the term SC2 and point it to the absolute URL of http://mmdnav2013.ajb.local/sites/sc2 and then went and pinned it to my 2 other term sets
- I went to the Root Site Collection’s Root Web (/) and it updated correctly:
- I went to the other webs underneath the root site collection and everything looked the same
- I checked all other site collections and everything looked the same
- Now, what if I wanted to add a child term to an existing term (For example: Create SC2/SubSC2)
- After creating the new term it will automatically be pinned to all inheriting term sets..cool!
- I type the absolute URL of http://mmdnav2013.ajb.local/sites/sc2/subsc2/ under “Simple Link or Header” and click Save
- I went to the Root Site Collection’s Root Web (/) and it updated correctly:
- I went to the other webs underneath the root site collection and everything looked the same
- I checked all other site collections (And webs underneath them) and it did not update:
- After further investigation this is because when pinning a term if you make a change to that term (For example: Change the simple link), this will not propagate to the other term sets. So, since I created the term as a child term right away and it then propagates to all other inheriting term sets, it propagates out without the URL specified. Then, when I go and make the change to the source term, it doesn’t get propagate to all inheriting/pinned terms.
- Now if I go back to the Term Store Management Tool and do things in a different order it behaves differently
- First, delete the child term that we just created (SubSC2), which will be propagated out to all inheriting term sets. Then, create the term at the top level as we did prior.
- Add the URL under simple link or header
- Then, pin the term with children to all other Term Sets being used for navigation
- You can confirm that you have pinned the term by viewing the General tab for the term:
- This works as expected and all site collections/webs show the correct navigation
- Now, if I go to the Term Store Management Tool and move the term as a Child Term of another top level term (For Example: Move it underneath SC2), this will propagate to all inheriting term sets.
- I went to the Root Site Collection’s Root Web (/) and it updated correctly:
- I checked all other site collections (And webs underneath them) and it updated this time: