We want to create our own site template to be used as a template for team sites, this should include security groups, a specific set of lists and libraries with required settings and a selection of content types added. There may also be some branding required.

What is the best way of doing this? It seems that there are many ways of doing it in SharePoint, the ones i have read about are:

  • New site definition - i've read that this is to be avoided as it caused problems when upgrading to a new version of SP.
  • Create the site using an in-built template (blank, team etc.) and then use code to acitvate required features, set required properties and add required libraries
  • Feature stapling (don't full understand this but don't think it meets our needs as it's not just features we want automatically activating, we want settings changed)
  • Site provisioning provider - my understanding is that this involves defining the site in code but allows the site to be available as a site template through the GUI. It sounds like this could be the best option. Any comments of caveats on this?

I would have preferred the site to be templated declarively using CAML as this seems easier to maintain, but it doesn't seem to be viable.


1 Answer 1


That's a nice writeup, but you missed two options:

If you want to go with a "nocode solution" I would go for option 1, but I have to admit that I don't have any experience with it. The best option is, in my opion, to go with webtemplates. These ar "feature based sitedefinitions" and seem to be a best practice. More information on them can be found on the blogs by:

Another advantage of webtemplates is that they fit into the sandbox and I bet that they will be compatible with vNext.

edit: I wouldnt go with feature stapling on OOTB site definitions: it affects every single site that will be created, based on that definition. It's possible that your customizations are not needed by other people who want to create an OOTB site.

  • Thanks for your response, further reading to do but it seems like web-templates is what i was looking for. None of the options I gave really felt like a best practise solution. The Vesu blog post is excellent, recommended reading!
    – toby
    Jul 21, 2011 at 12:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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