Customising the "My Site" Templates

I know there are a number of people out there customising SharePoint Portal sites via the "Templates" (love to hear of your experience). This basically involves changing the files stored here:

Local_Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\<Locale ID>\

It is below this folder that all the area templates that drive the creation of a portal live, below is a brief summary of each of the folders and the templates that belong to them:

Folder

Area

SPS

Home

SPSCOMMU

Community

SPSMSITE

My Site Homepage

SPSPERS

My Site Team Site

SPSNEWS

News

SPSNHOME

News Home

SPSSITES

Site Registry

SPSTOC

Topics Home

SPSTOPIC

Topics

STS

WSS Team Site

MPS

WSS Multi-Page Team Site

This post is not about going through in detail how to modify a template, there are documents rolling out the door at Microsoft that cover this. The only thing I did want to clarify is how you go about modifying the "My Site" template. This is a little "non-intuitive", mainly because this is the only aspect of the portal that is actually controlled by two templates:

SPSMSITE

My Site Homepage

SPSPERS

My Site Team Site

So what's the difference between these two templates?

SPSMSITE – This is just like any other SPS Portal Area and it is from here that both the "Private" and "Public" views of a "My Site" is rendered. Your "My Site" view is nothing more that just a personalised view of an area, much like you can enable on any area of the Portal if you like (Hmmm...idea for another post! ). This explains why you can modify the layout of the "My Site" page for all users by accessing the page as an administrator and modifying the "Shared View". When you look in the template directory you will see Default.aspx (this is your private view) and Public.aspx (Your private view).

SPSPERS – This template is all about provisioning the "Team site" that sits behind your "My Site". The one behind SPSMSITE couldn’t be used as that would mean one team site would be shared by everyone, this approach is used so that everyone has their own individual team site.

To summarise.
- If you want to modify the Public/Private pages in "My Site" use the SPSMSITE template, changes to the ONET.XML file will have no effect because noone ever gets to team site it creates (it's hidden, and no I dont know how you might access it, never really looked into it, let me know if you find a way).
- If you want to change what lists, and the properties of those lists, for you "My Site" site then modify the ONET.XML file in SPSPERS (note this is at your own risk, review supportability constraints in the SDK) modifying the default.aspx page in this template has no effect as it is "hidden".