Branding MySites: fixed width & centered?
-
Wednesday, September 22, 2010 8:53 AM
I'm trying to brand MySites, though finding it very difficult. I tried editing the MySites custom master and default master by the normal way:
1) scroll="no" away from the <body> tag.
2) Rename the s4-workspace ID to s4-workspace-mod.
3) Append these CSS in a CSS file:body {
overflow:auto !important;
font-size: 8pt;
}#s4-workspace-mod {
width:980px;
margin-left:auto;
margin-right:auto;
}form {
width:980px;
margin-left:auto;
margin-right:auto;
}However in the blank MySite, I noticed that if I select 'Edit page', I get into the page edit state, but the normal 'Page' toolbar in the ribbon doesn't appear. There's just a blank space where it should be. So I cannot e.g. stop editing among other things. I can however add web parts and so on.
My question is, is there any way to brand MySite with fixed width and centering without breaking the functionality?
To make things worse, I can't seem to be able to fix things once I broke them. I tried undoing my changes and resetting the master pages to the Site Default, however it did not fix the Edit page state. Is this broken permanently until a new My Site Host is created or what?
All Replies
-
Wednesday, September 22, 2010 9:10 AM
This is the absolutely the oddest thing:
If I log on as the Domain admin (it's a virtual environment with backend & AD, and separate frontend), I get the missing 'Page' tab. However, if I open IE as SP_Farm account, and go to the MySites page and open Edit Page, I get the 'Page' tab with all buttons.
What on earth is going on here? Any ideas anyone?
-
Wednesday, September 22, 2010 9:13 AM
Even better: I just created another My Site host site collection. I put the domain admin as the site collection admin. I went in as domain admin, hit Edit Page, and voilá, the problem is there again.
I copy the link, paste it into the SP_Farm browser window address bar and hit enter. Voilá, I see the 'Page' tab.
Errgh, what's wrong?
-
Wednesday, September 22, 2010 9:17 AM
The problem is also replicated with a freshly created AD account set to Site Collection Administrators group. This is in the fresh MySite host. :/
-
Wednesday, September 22, 2010 9:44 AM
I've dug a bit further. Apparently on all our RTM installations of SharePoint 2010 (our intra, one general testing environment configured by using the configuration wizard, the customers environment and our customers testing environment) suffer from the same problem:
No matter which user account I go to My Site and try to edit the page, I get the problem. If I go with SP_Farm (which is identified as the System account), the page tab works just fine.
-
Monday, December 06, 2010 6:56 PM
Kaerwek,
I know this thread is a few months old but I ran into a similar issue, using some reflection magic I was able to figure out why this is happening. WebPart pages on the MySite host derive from MySitePublicWebPartPage which has an overridden OnPreRender method. Sharepoint is removing the "Browse" tab, and removing the "Page" Tab conditionally for any user who is not a Profile Administrator and a Site Administrator.
Here is the segment I pulled from MySitePublicWebPartPage from Microsoft.SharePoint.Portal.dll
SPRibbon current = SPRibbon.GetCurrent(this.Page);
if (current != null)
{
current.TrimById("Ribbon.Read");
SPWeb contextWeb = SPControl.GetContextWeb(HttpContext.Current);
if (!(ProfileLoader.GetProfileLoader().GetUserProfile().IsProfileAdmin && contextWeb.CurrentUser.IsSiteAdmin))
{
current.TrimById("Ribbon.WebPartPage");
}
}So the OOTB functionality is no ribbon for most. If you need the ribbon back it's simple enough, Create your own class derived from MySitePublicWebPartPage,override OnPreRender and Wallah! you should be good to go.

