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.
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.
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.