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

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.

share|improve this question
    
thanks for the edits @Vedran –  Amir Riaz Jan 26 '12 at 6:37
add comment

2 Answers

up vote 2 down vote accepted

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.

share|improve this answer
    
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 Jan 26 '12 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. –  Chris Beckett Jan 30 '12 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. –  Chris Beckett Jan 30 '12 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. –  Anders Rask Jun 5 '13 at 7:51
add comment

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.

share|improve this answer
    
While not specifically an answer, the linked community wiki provides a wealth of information. +1 –  David Clarke Jun 5 '13 at 22:31
add comment

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.