I am trying to create a dynamic top navigation based on the users geographic location. How do can achive it? what is the best solution for that. I was wondring to use custom profile properties, is it a god option? thanks for helping me.


The best way to go about this would be to use SharePoint Audiences. You can create an audience that is based on a user profile property. And then you create your navigation to use the audiences when determining who to show the links for.

Alternatively you can write your own navigation provider that feeds the top navigation with whatever data you want.

| improve this answer | |
  • thank you. "Navigation Provider" did you mean PortalSiteMapProvider? – user12955 Mar 11 '13 at 8:14
  • This should get you started: msdn.microsoft.com/en-us/library/bb897739(v=office.14).aspx – John Chapman Mar 11 '13 at 13:48
  • Yes, I hava already created a customized top navigation Control by implementing PortalSiteMapProvider. But I didn't know how you get all nodes of that based on an audience or profile property. I want to hide one or two of nodes based on a profile property (audience). – user12955 Mar 12 '13 at 9:09

You can create audiences based upon a set of user profile / AD properties. It requires some administration in Central Admin and it's not immediate. Audiences need to be compiled first. This is done automatically or you can start it manually.

You can assign an audience to a website, lists, web parts, navigation links, ... It becomes very easy when the publishing feature is enabled on your site. In the site settings you can set the navigation options and assign an audience to each link. So depending in which audience(s) a user resides he will see different links in the navigation.

Keep in mind that audience is not security. An audience will not prevent the user accessing a site. If you have the direct link you will be see the content. You still need to configure the site permissions correctly.

| improve this answer | |

Agree with John, I have just completed a similar solution which is working fine.

Note that we are referring to Global Audiences which are configured in the User Profile Service within Central Admin.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.