Scenario:
Wanted to blog this long back - but :)
At times, SharePoint is very weird. Here's a situation. Client have customer master page , he applied to Root Site and also check the option to apply it to all the sub-sites. All good so far.
No what if client create a new sub-site in future.
Solution:
Created a new feature to bridge the gap and also creates a new feature to ensure that this feature get activated on all the newly created sub-sites.
Steps / Code:
1. Create a new feature ( Branding_Sync / Scope = Web )
2. Add a feature receiver with following code on activation
public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb web = properties.Feature.Parent as SPWeb; if (!web.IsRootWeb) { Hashtable hash = web.AllProperties; web.MasterUrl = web.ParentWeb.MasterUrl; hash["__InheritsMasterUrl"] = "True"; web.CustomMasterUrl = web.ParentWeb.CustomMasterUrl; web.SiteLogoUrl = web.ParentWeb.SiteLogoUrl; hash["__InheritsCustomMasterUrl"] = "True"; web.Update(); } }3. Create a new feature ( Feature2 / Scope = Web Application )
4. Add a new "Empty Element" manifest and paste following lines
5. Replace the "FeatureGUID" with the guid of Feature1 above
lt;?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="STS#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="STS#1" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="STS#2" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="WIKI#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="BLOG#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="MPS#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="MPS#1" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="MPS#2" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="MPS#3" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="MPS#4" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="SRCHCENTERLITE#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="SRCHCENTERLITE#1" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="BDR#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="OFFILE#0" /> <FeatureSiteTemplateAssociation Id="FeatureGUID" TemplateName="SPSREPORTCENTER#0" /> </Elements>
0 comments:
Post a Comment