I have a bizarre situation whereby if I deploy my custom branding solutions to my local SharePoint 2010 development environment, all the My Site pages automatically load a "portal.css" stylesheet (as expected!), however when I deploy these exact same solutions to our production SharePoint Online environment, the My Sites pages are no longer registering this stylesheet. This obviously causes the pages to appear incorrectly as there are a number of CSS styles missing.
Note: All other OOTB stylesheets are being loaded fine (i.e. corev4.css, controls.css, search.css etc.) -- just portal.css seems to be missing in the SharePoint Online site.
What control registers the "portal.css" stylesheet? And why is the control either missing in the SharePoint Online site, or just not outputting all the necessary CSS files?
My custom masterpage is currently only referencing the following CSS files:
<SharePoint:CssLink runat="server" Version="4" /> <SharePoint:Theme runat="server" /> <SharePoint:CssRegistration runat="server" Name="<% $SPUrl:~sitecollection/Style Library/Hub/Third Party/jquery-ui.custom.min.css %>" After="corev4.css" EnableCssTheming="false" /> <SharePoint:CssRegistration runat="server" Name="<% $SPUrl:~sitecollection/Style Library/Hub/Hub.css %>" After="<% $SPUrl:~sitecollection/Style Library/Hub/Third Party/jquery-ui.custom.min.css %>" EnableCssTheming="false" />
Some other points of interest... My branding solution is obviously a sandbox solution since it's being deployed to SharePoint Online. It also deploys a custom masterpage which is used across the entire SharePoint solution (intranet, search centre, My Sites etc). It's also worth noting that the exact same WSPs have been used for both my local and SharePoint Online deployments, so the custom masterpage, page layouts, scripts and stylesheets are all identical on both environments.
I'm left to believe that there must be some slight differences between the My Site Host site template that we are offered in an on-prem environment, and the My Site Host that is automatically provisioned for you by Microsoft in the SharePoint Online space. If I can find out which control registers this "missing" stylesheet, then I may be able to find a way to get it into my stylesheet and hence producing the necessary CSS files.