In many ways, customizing SharePoint 2010 My Sites is a bit of a mystery. This is probably because there isn’t a ton of documentation available on the topic today.
One question I get a lot is about changing the navigation and/or the top bar of the My Sites UI. The good news is that changing that Global Navigation and Sub-Navigation links for the My Site host is very simple, as long as you are logged into the My Site host from an account with Site Collection administrator access.
Here is an example of the Global Navigation bar:
You can easily change the links here by clicking Site Actions > Site Settings > Top link bar
Here is an example of the Sub-Navigation Links:
You change these links just as simply by clicking Site Actions > Site Settings > Quick launch
So that covers adding and removing links, but what if you want to do something more with the top bar like add a logo or some other navigation control? Unfortunately, the answer isn’t nearly as easy. This area of the page can’t be edited just by changing a setting or even by changing the master page. If you open the mysite.master master page in SharePoint Designer, you would see that this area is controlled by a delegate control named “GlobalNavigation.” Behind the scenes, by default, this control is loaded from the 14 folder on the server. The exact file is: 14TEMPLATECONTROLTEMPLATESMySiteTopNavigation.ascx.
If you are on a development server or a local virtual machine, you could edit this file and see the changes appear immediately in your My Site Global Navigation area. You can add a logo, rearrange the items, add a new control, or pretty much do whatever you like.
However, editing out-of-the-box files in the server 14 folder is not a good idea for a production environment. Instead, you should make your changes in a copy of the MySiteTopNavigation.ascx file and use it to override the default delegate control through the use of a custom Feature. Creating a feature like this is beyond the scope of this article, but there are plenty of resources on the Web that show how to override the GlobalNavigation delegate control with your own content.
Randy Drisgill is a consultant with SharePoint911, a Rackspace company.