Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a custom branding (masterpage that I created for my main web site) with company logo and navigation that I have used for all my site collections. I have also modified it to work with my search center as well.

Now, Is it possible for me to use the 'same' custom branding on MySites?

And I need to make sure that all my global navigation gets carried over and not interfere with any of the content place holders.

share|improve this question
1  
Both Andrew and James have provided answers on the solution management piece, so I won't post another "answer" (both of them are correct). To answer your question about using the same branding solution... you can use the same solution as long as you don't have wildly different requirements for MySites. Do not brand the MySite Host with the same master, but the individual MySites can use the same as a team site (if that meets your needs). Note that there's additional CSS you may have to override to ensure your branding styles carry over as there's an additional style sheet SP uses for MySites. –  webdes03 May 25 '12 at 21:54
    
It worked for globally deploying my solution but the feature is not activated. I have to manually activate the feature for every site collection. any ideas how that can be done within the code? –  user13533 Dec 10 '12 at 21:38

2 Answers 2

up vote 3 down vote accepted

The trickiest part of this is making sure the brand gets used for all new mysites created from this point on. To do so you need to make sure your branding conforms to a key prerequisite. Is your brand packaged up in a visual studio .wsp and can it be applied to a given site collection by activating one or more features? If so then you can apply it to all future mysites using a technique called Feature Stapling.

To use this technique, first create a new feature inside of your sharepoint solution. It should be a Farm scoped feature. Call it something like "MySiteStaperFeature"

Then in your solution create a new empty sharepoint Elements file called something like "MySiteStapler". In the Elements.xml file for this element put the following code

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureSiteTemplateAssociation Id="<Your Branding Feature ID>" TemplateName="SPSPERS#0"/> 
</Elements>

This code will tell sharepoint that whenever a new site is created using the mysite template (SPSERS#0) that sharepoint should automatically activate the feature with corresponding ID. If you have to activate multiple features for your brand, create additional FeatureSiteTemplateAssociation elements, in the order that the features need to be activated.

Add this new SharePoint element to your MySiteStaperFeature. Then you can deploy your solution, activate the farm feature, and your branding will be applied to any new mysites.

share|improve this answer

If you have created the branding in a Feature within Visual Studio, you can use PowerShell to iterate all the site collections in your MySite host and activate the feature in each site collection.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.