2007-04-03

Customizing My Site

As I was about to customize My Site - by changing the onet.xml - I came across an article by Steve Peschka (SharePoint Rangers Team). Good for me! :-) It is not recommended to ever change the onet.xml when making changes to My Site (unsupported state, issues when upgrading to later versions, etc) and how the private view of My Site is provisioned. Features (and more features), master pages and custom server controls is the way to do it in 2007.

These are the recomended steps that should bring you home safe:

  1. Create a new master page to be used for your my sites.
  2. Create a feature that runs a code snippet that directes SharePoint to use your new MySite master page instead of default.master
  3. Add a feature stapler feature which will run your my site master page feature when a new My Site has been created. Not only does this feature set the new master pages, but also other properties needed to control the behavior and logic in the custom web control (see step 4)
  4. Add your own custom server control to your my site master pages. This control will be responsible for adding and changing web parts to your my site (the private view)
  5. The public view of my site may be changed in SharePoint designer. Open the page http://mysitehost/person.aspx?yourdomain\username

And when I had done a lot of work I found this great release of a My Site Create customization solution on CodePlex. You will find it here. Written by Steve Peschka with others.

I'm currently adding new customization elements, such as:

  • adding and removing navigation elementes
  • adding and removing lists
  • adding list items to lists
  • etc.

It will grow with time as the requirements for customization changes.

13 comments:

craig baker said...

I've also been using Steve Peschka's mysite create. Do you have an example of adding a list with itemms that would work with the my site create? TNX

KDK said...

You are now part of the Buzz, SharePoint Buzz.

maclau said...

hey there
do you know how to delete the Shared Documents, and the Shared Pictures Libraries that My Site create by default??
any ideas on how to do it?
i'm using the mysite create by steve!

Frode Sørhøy, Avenir, Bergen, Norway said...

maclau,

You can hide the menu, or if you want to delete the libraries completely I would create a small feature (with a custom feature receiver) which are called after the mysite has been created to "clean up" the "Shared" libraries.

Frode

chris said...

any idea how we can create a list that can be shared among all mysite users?

Ilam said...

Do you know how can I delete Web Parts by default in My site, So that I could not see this web part in the Add Web Part List when edit a Web Part Page?

Thank for your help

Philip said...

on the my profile tab within a my site the following appears:

Edit Details

How can this be deleted from
person.asps

Philip said...

How can person.aspx
be modified to delete the

Edit Details

from the page/template?

TIA

Anonymous said...

I too would love to know how to hide the "Edit Details" link.

Thanks

Seth said...

Does anyone here know how to include images that are used in the customized master page? I added all the related images in the elements file using the Module element and when the feature is installed and activated, the sites look fine. But when I create a new My Site, it fails.

Frode Sørhøy, Avenir, Bergen, Norway said...

Be aware that MySite is NOT using ~/custom.master (as a publishing site), but [12]/template/global/default.master as the master page. Therefore a solution as implemented by Mr Peschka is needed to take control of your My Sites - including the master page to use. I've just implemented his solution (with some modifications of course :-)) for one of my customers. It works ok.

Frode

Peter said...

Thanks for the explicitation of Steve's article. You give a comprehensive overview of necessary steps to take, that the original article somehow lacks. Maybe you should propose to Steve to include these bullets in his article?

We are about to launch a project where the top navigation is the same no matter where you are - on the corporate portal, on department sites, on team sites, or on the user's mysite (both the personal and public/profile view).

How would we achieve this?

Another question: is it correctly understood that if we only want to change the public/profile view, this can be achieved by simply having the administrator change HIS public/profile template? Then this will be replicated to all users? But exactly which person.aspx is it that you need to change? Is it the one in the database, or 12 hive, or...?

Anonymous said...

I downloaded(MySiteCreate 1.0 Release.zip) and installed but nothing happened! I followed the steps 1 - 5 on the readme file that comes with it but not sure what I am doing wrong. Any ideas?