Feature Stapling In SharePoint 2010

Feature Stapling  is the great way if the site definition is already in use (and sites have been created). Feature Stapling has two features. A “Stapler” feature which staples another feature to the site definition and the “Staplee” feature which will be stapled.
For Example suppose you want to apply a custom Theme to all of the “Publishing site” site definitions. This can be solved by creating a feature which will apply the Custom theme to the site and it can be associated with the publishing site’s site definition. Or Suppose if you want to activate a custom list to all the Team sites , this can also be solved creating a feature which on activating when you create a team site the custom list gets created.

How to Create Feature stapler .

1.      First we need to create the Features (Staplee) which we want install on creation of site (publishing or team site etc.). How to Create feature. 


2.      Create a Feature Stapler as below

          <?xml version=”1.0″ encoding=”utf-8″ ?>

        <Feature xmlns=”http://schemas.microsoft.com/sharepoint/ Id=”C384D136-79A8-48BD-AF73-C630547F4D8E Title=”ExampleStapler Description=”This feature staples the 

           other feature to the Team Site definition. Scope=”Farm Hidden=”False Version=”” />  

3.    Create an element xml which is nothing but where feature association takes place.In order to add element.xml we need to create a module in Visual studio 2010 and then add the element.xml

    <?xml version=1.0 encoding=utf-8 ?>

    <Elements xmlns=http://schemas.microsoft.com/sharepoint/>

    <FeatureSiteTemplateAssociation Id=b8f334a0-1ffe-420d-b6e2-54a9faa6ba95 TemplateName=STS#0 />

    <FeatureSiteTemplateAssociation Id=07cb8bd4-7004-4021-8355-48d17de287e5 TemplateName=STS#0 />

    <FeatureSiteTemplateAssociation Id=90C924A7-32F7-4C19-BD4C-AF49EF0563A9 TemplateName=STS#0 />


The FeatureSiteTemplateAssociationID element maps feature(The Features which we want to install on creation of Site) GUIDs to site definitions.
Feature-stapling won’t affect any sites which have already been created from a site definition, only subsequent sites. The only way to do this is to activate your features individually on the site.

So Once you deploy Feature Stapler to web application level and then you create a team Site the associated(Stappled)  features will get activated.

Comments (6)

  1. Azher says:


  2. LSmith says:

    "How to Create feature" link fails …

  3. Santa says:

    sucks – try actually walking through the process next time – or fix your broken links

  4. Bill Crider says:

    What I find with this method is when I use a "module" project type, it can only be deployed to Site collection ro web level, not web application or farm, which is more common for a feature stapling feature.

  5. Deleep says:

    I believe this is the  "Create feature" link that is mentioned int he article: