This is the second article in a series which explores the SharePoint 2010 MySite features. This article will examine the various elements that get brought together to form a MySite in SharePoint 2010. Gaining a detailed understanding of these elements will help us to target areas during customisations. As with most areas of SharePoint I believe it’s important to understand what you have before cracking open Visual Studio to make customisation.
If you’ve never setup MySites before there is information in TechNet http://technet.microsoft.com/en-us/library/ee624362.aspx.
Series contents:
- Overview, which details the MySite functionality provided by SP2010
- Anatomy, we delve inside the MySite and dissect its inner secrets – This Article
- Customisation for Branding, how to change the look and feel
- Customisation of My Content page, how to change the page layout and contents
- Customisation of a MySite Blog, how to alter the Blog
- The MySite centric intranet, putting the MySite at the centre of the universe
The MySite Host
The MySite Host is the shared site collection which provides shared elements within the MySite such as profile page, newsfeed page. This site is created as the root site collection of a web application configured for MySites.
MySite Host site definition
The site definition is located in {SharePointRoot}\TEMPLATE\SiteTemplates\SPSMSITEHOST\
Top bar navigation
The definition provisions the following global navigation nodes:
- ‘My Newsfeed’ which goes to the default.aspx page.
- ‘My Content’ which goes to the _layouts/mysite.aspx page.
- ‘My Profile’ which goes to the person.aspx page.
Quick Launch navigation
The definition provisions the following quick launch navigation nodes:
- ‘Overview’ which goes to the person.aspx page.
- ‘Organization’ which goes to the organizationview.aspx page.
- ‘Content’ which goes to the personcontent.aspx page.
- ‘Tags and Notes’ which goes to the _layouts/thoughts.aspx page.
- ‘Colleagues’ which goes to the _layouts/MyContactLinks.aspx page.
- ‘Memberships’ which goes to the _layouts/MyMemberships.aspx page.
Configuration 0
The primary configuration activates the following Site features:
- ‘My Site Host’ {49571CD1-B6A1-43a3-BF75-955ACC79C8D8} located in {SharePointRoot}\TEMPLATE\FEATURES\MySiteHost\Feature.xml.
- ‘My Site Layouts’ {6928B0E5-5707-46a1-AE16-D6E52522D52B} located in {SharePointRoot}\TEMPLATE\FEATURES\MySiteLayouts\feature.xml.
The primary configuration activates the following Web features:
- ‘My Site Navigation’ {6ADFF05C-D581-4c05-A6B9-920F15EC6FD9} located in {SharePointRoot}\TEMPLATE\FEATURES\MySiteNavigation\Feature.xml.
- ‘Shared Picture Library for Organizations logos’ {5EDE0A86-C772-4f1d-A120-72E734B3400C} located in {SharePointRoot}\TEMPLATE\FEATURES\MySiteHostPictureLibrary\Feature.xml.
- ‘Team Collaboration Lists’ {00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5} located in {SharePointRoot}\TEMPLATE\FEATURES\TeamCollab\feature.xml.
Default Module provisions the following files:
- blog.xsl
- tagprofile.aspx
- person.aspx
- default.aspx
Blog xsl
The blog.xsl is used for the blog web part.
Tagprofile.aspx
The tag profile page displays the tag profile information. It is reached from the tags and notes page tag hyperlinks.
The web parts provisioned to this page are:
- TagInformationWebPart which displays the information about the tag.
- TaggedUrlListWebPart which displays the items (urls) that have been tagged.
- TaggedPeopleListWebPart which displays the people following this tag.
- SocialCommentWebPart which provides the social comment note board.
Person.aspx
The person profile page displays the information about an individual profile. It is reached from the ‘My Profile’ link in the global navigation or from the people search results links for other individuals.
The web parts provisioned to this page are:
- AskMeAboutWebPart which displays the individuals ‘ask me about’ entries from their profile.
- PublishedNewsFeedWebPart which displays the activity events for the displayed individual.
- SocialCommentWebPart which provides the social comment note board.
- ProfileManages which displays the organisation chart for the individual.
- MySharedContext which displays what other people who view your page have in common with the individual.
Default.aspx
The default page displays the individuals news feed. This is all the activity from their colleagues.
The web parts provisioned to this page are:
- ConsolidatedNewsFeedWebPart which displays all the activity from the individuals colleagues.
The MySite Personal
The MySite Personal is the individual MySite site collection which provides elements within the MySite. This site is created as a site collection of a web application configured for MySites under a managed path, normally ‘personal’. The site collection is created when an individual requests access to the Mysite.aspx for the first time.
MySite Personal site definition
The site definition is located in {SharePointRoot}\TEMPLATE\SiteTemplates\SPSPERS\
Top bar navigation
The definition provisions no global navigation nodes.
Quick Launch navigation
The definition provisions the following quick launch navigation nodes:
- ‘Documents’ as an area.
- ‘Pictures’ as an area.
- ‘Libraries’ as an area.
Configuration 0
The primary configuration activates no Site features.
The primary configuration activates the following Web features:
- ‘Personalization Site’ {ED5E77F7-C7B1-4961-A659-0DE93080FA36} located in {SharePointRoot}\TEMPLATE\FEATURES\PersonalizationSite\feature.xml.
- ‘My Site Navigation’ {6ADFF05C-D581-4c05-A6B9-920F15EC6FD9} located in {SharePointRoot}\TEMPLATE\FEATURES\MySiteNavigation\Feature.xml.
- ‘Team Collaboration Lists’ {00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5} located in {SharePointRoot}\TEMPLATE\FEATURES\TeamCollab\feature.xml.
Default Module provisions the following files:
- public.aspx
- default.aspx
Public.aspx
The public page contains a redirection control.
There are no web parts provisioned to this page.
Default.aspx
The default page is the content view for the individuals personal MySite.
The web parts provisioned to this page are:
- UserContextFilterWebPart which filters the data displayed based on whether the viewer is the site owner or not.
- UserContextFilterWebPart which filters the data displayed based on preferred name.
- ContentEditorWebPart which displays the welcome message.
- ContactFieldControl which displays a contact link.
The web parts are then manipulated during the feature activation to give the final result below.
What’s next?
Hopefully this has given you an insight into what makes up the SharePoint 2010 MySite. In the next article we’ll examine in more detail how to customise the branding and other visual elements.
that is one detailed post! thanks for sharing
Thanks for these posts .
Just I have one note that : Site Template for personal site is \14\TEMPLATE\SiteTemplates\SPSPERS
Regards,
Thanks for noticing the mistake, amended it now.
Wes
Very nice post. I guess public.aspx is not part of SPSPERS template and hence not provisioned when the personal site is created.
public.aspx belongs to SPSMSITE template which has the redirection control, but I’m not sure if this template is used anywhere.
Hi Wes
Thanks for sharing these details. Really helps us understand more about how all the underlying parts work together.
Few points for your consideration….
SharePoint standard terminology (as we know) is often ambiguous and hence confusing. This is certainly the case with My Site….
What is “the” My Site HOST?? I have been confused for years!
There are really two of these – each used for a different purpose
1 A selected SP – web application
– used to HOST
– a separate SP – site collection for each user
– as a personal – site collection
– each created, based on SP – single-site (TEMPLATE) = SPSPERS
– can then be changed freely by that specific user
2 A selected SP – site collection
– used to HOST
– a few standard “template” pages
– within a SP – single-site (INSTANCE)
– based on SP – single-site (TEMPLATE) = SPSMSITEHOST
– that really provides a “front-end” to a specific associated
– SP – UPS – application (INSTANCE) with associated databases
– profile database
– social database
– synch database
The “template” pages get user-specific information
– NOT from the
– SP – content database (associated with the SP – site collection (INSTANCE) )
– but from the
– SP – UPS – application (INSTANCE)
The SP – UPS – application (INSTANCE)
– can be considered as a wrapper around
– Forefront Identity Manager services
Hi, is there an OOTB way to get the MySite Blog’s entries as an XML filde?
Guess the best way would be pulling the RSS feed for the blog ‘Post’ list.