Skip to main content

Customize My Profile Tabs for SharePoint 2010

If you have a requirement to add, edit, or delete the tabs within the my profile pages its actually quite easy.  The default tabs are:

  • Overview
    • URL: /my/person.aspx
  • Organization
    • URL: /my/OrganizationView.aspx
  • Content
    • URL: /my/personcontent.aspx
  • Tags and Notes
    • URL: /my/_layouts/thoughts.aspx
  • Colleagues
    • URL: /my/_layouts/MyContactLinks.aspx
  • Memberships
    • /my/_layouts/MyMemberships.aspx

image

You can manage these tabs by navigating to the My Site Host http://sitename/my/ or the the my profile page http://sitename/my/Person.aspx.

Click on Site Actions > Site Settings > Look and Feel > Quick Launch

image

You will notice that all of the tabs are managed as quick launch links. This will allow you to easily add, edit, and delete tabs.

If you want to customize the look of the tabs to be vertical or place it somewhere else on the page you simply have to modify the person.aspx page within the My Site host Site collection.

Open up the site (http://sitename/my/) in SharePoint Designer 2010, and click on All Files.

image

Notice that 3 out of the 6 .aspx files are managed in SharePoint and the other three are stored on the server in the following location: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS

Check out the person.aspx file and edit in advanced mode.

The tabs on the profile page are actually a SharePoint:AspMenu menu control. Which has a horizontal orientation and a unique “s4-sn” css class to give it its unique look and feel.

<SharePoint:AspMenu
     ID="MySiteSubNavigationMenu"
     Runat="server"
     EnableViewState="false"
     DataSourceID="MySiteSubNavDS"
     AccessKey="<%$Resources:wss,navigation_accesskey%>"
     UseSimpleRendering="true"
     UseSeparateCss="false"
     Orientation="Horizontal"
     StaticDisplayLevels="1"
     MaximumDynamicDisplayLevels="0"
     PopOutImageUrl=""
     SkipLinkText=""
     CssClass="s4-sn">
  </SharePoint:AspMenu>
  <SPSWC:MySiteDataSource
     ShowStartingNode="False"
     SiteMapProvider="MySiteSubNavProvider"
     id="MySiteSubNavDS" 
     runat="server"/>

This control is placed on all 6 of the aspx pages to give the effect that a user is simply changing the content on the page by clicking on a different tab and not actually going to a different page.

The key is to keep that consistency throughout your custom profile pages so that the user does not get confused when navigating the tabs.

Comments

tatyaso said…
Changing the "default.aspx" in Sharepoint personal Mysite to "xyz.aspx"


i.e. i want to change the url of

http://server/personal/user/default.aspx to some other url.
JimNJ72 said…
What if you want to change the top portion that displays the profile fields. Does that need to be changed on all 6 pages or is it centrally located somewhere other then in Person.aspx?
Erik Swenson said…
JimN72,

Yes you will have to make those changes for all of custom pages if you want a seamless experience for the users when navigating between the different pages.
c_marius said…
I think you have to consider that if you activate publsihing features, then you have to use the Navigation features to change the headings, etc.
Anonymous said…
Hi,
How to customize the 3 files in LAYOUTS directory ?

Can you write a blog about changing global nav area in MySite (DelegateControl )?
Andreas said…
Thanks for the info didn't know it is so easy to remove the tabs...
Anonymous said…
How can we attach an Event Receiver to 'Add Colleagues' event.
Anonymous said…
Thanks for Gr8 article !!

Is it possible to modify the MySite link with MyProfile link and when Myprofile page opened then we should show default tab as Content ? Please provide me steps to achieve the above functionality.

Cheers,
Raj
Unknown said…
Thanks you share with me this great post.It is very useful for me.Thanks a lot.....bookmarks
Ofer Gal said…
So how do you include extra properties added to the profile?
I got the idea of new page under a new tab. I do not see a way to add my multi value properties.

Popular posts from this blog

SharePoint 2010 Base CSS Classes

This will be the first of many SharePoint 2010 posts. I will be focusing on a few of the main CSS classes used for SharePoint 2010 Public Beta. As the product becomes more final there might be some changes to the class names but I will be sure to create a new post if that happens. This will be quite a lengthy but it should be helpful. The default CSS given below are just highlights of the full CSS attributes for that class. I will be using a basic team site as my base for the screenshots. Here is a basic structure of the main areas that I will cover. Ribbon Row Table Row Left Site Actions Navigate Up Edit Tab List Browse Page Table Row Right Give Feedback Welcome Menu Workspace Body Container Title Row Title

How To: Create Hyperlink to Modal Pop-Up Form

I was asked by a client recently if there was a way to create a hyperlink to a New Item Form anywhere within a site but still get the rich experience of the Modal pop-up window that grays out the background. (Note this is for SharePoint 2010 Only…) I basically took the code directly from the “Add new item” and the “Add Document” link within the list view. What this allows you to do is simply add in the following code to any content editor web part, Master page, or Page Layout in any site collection and display the form to be filled out. The user will get the nice experience of the modal window and not have to navigate away from their current page. This could be used for example a feedback form that is included in the master page so whenever someone wants to give feedback it is always going back to a central list. The only that is required for you to know is the List ID and the site name. Full Code For a List Item: <a onclick="javascript:NewItem2(event, &quot

SharePoint 2010 Content Query for Blog Posts

I hope this post will help many of you feel comfortable with using the Content Query Web Part. In this post I will walk you through the process of creating a content query web part and configuring it to show custom field types. I will also give details on how to use XSLT to stylize and format the data being pulled. I will be using the following scenario as an example. Say that you had a site collection with a top level publishing site. This publishing site would display a the most recent blog posts from all blog sites within its own site collection. To solve this problem we will use a Content Query Web Part and a customized ItemStyle.xsl using XSLT. Please note that the “SharePoint Server Publishing Infrastructure” needs to be enabled at the site collection to display the content query web part. Step 1: Add a Content Query Web Part to Page Navigate to the site that you want the blog posts to show up and click on edit page. Under Editing Tools in the Ribbon, Click on