5

The question I’m going to ask might have a very simple answer, but I couldn’t figure it out myself yet.

So here is the simplified scenario...

  1. I created a Site on Dev. SharePoint 2010, added a couple of SPD workflows, customized lists and views etc. Presented the functionality to the Stakeholders and it was accepted.
  2. Now the Site will be used as a template and many instances of this Site will be created using these settings (template), so I just went ahead and saved the Site as a template.
  3. Deployed the Site template to the live environment by deploying the .wsp file, and activated it on the desired site collection.
  4. THE PROBLEM I'M FACING IS IN THE CHANGE MANAGEMENT: i.e. now the sites are being created and at some point in the future there is a suggestion to add functionality or a bug to be fixed.

MY APPROACH: I have created a sample instance of the template. I made all the changes to that template and re-saved it. This way the new sites which are created from that template do have all the fixes and enhancements.

THE PROBLEM: How can I update the existing sites that have already been created, to apply the same fixes and enhancements.

0

2 Answers 2

2

SharePoint app-lifecycle capabilities are realized in the feature framework. Custom site definitions and web templates now are really just collections of feature activations. Being able to update sites created from templates is accomplished by virtue of upgrading the features individually the templates are based on. Otherwise, there is no ALM around templates saved from the UI.

4
  • Thank you Chris. Your brief round up indeed gave some pointers, very useful. Now when I looked back at my portal, I do have the "Web Template feature of exported web template XYZ" enabled on the site collection level. I understood that the ALM is best manageable when doing it all the way with programming in feature framework. But could this feature which is deployed by web template (wsp) i.e. "Web Template feature of exported web template XYZ" not be updated using Power Shell commands. If yes, could you suggest how to do it? Thanks
    – Amir Riaz
    Commented Jan 26, 2012 at 6:51
  • 1
    When you create a custom site template from the UI, it does package it as a "Web Template" feature. You can import this into Visual Studio, but it would require a lot of cleanup and hand-tooling by a developer to make it something that could support application lifecycle considerations. Commented Jan 30, 2012 at 20:13
  • Yes, after deploying a site based on a template, you could customize the site further using PowerShell, assuming that Farm Administrator with suitable permissions was responsible for provisioning the site and applying these customization's manually. Commented Jan 30, 2012 at 20:14
  • A more automated approach could be to implement event handlers that hook up on site creation (eg WebProvisioned event) and then execute code that customizes the site further -be aware though that the event will only fire for subsites not the root site. In general "save site as template" has limited use as it does not contain all artefacts and does not work properly for publishing sites. Feature upgrade is another option. Commented Jun 5, 2013 at 7:51
1

You can look at this question and try to explore each answer to find best upgrade method for your needs:

When to use Custom Site Definitions... and not

And you are wrong because there is no simple answer to your question.

1
  • While not specifically an answer, the linked community wiki provides a wealth of information. +1 Commented Jun 5, 2013 at 22:31

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.