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

I have created a site with some lists and libraries. I have also set up the quick launch with some items and created a home page with some web parts.

I created a template from that site, so I can use the same structure for all the sites.

But sites are changing, new requirements, ...

My question: how can i easily update the existing sites with the new requirements. Changes on list and libraries I can easily do with content types. But what about the views? What about new items in the quick launch, new web parts (or delete web parts) from the default.aspx page, setting different properties in web parts, ...

If I have to change e.g. 100 sites manually, it is a lot of work. So, is there an easy way to "update" an existing site template.

share|improve this question

1 Answer 1

When you save sites as templates, this is called Web Templates (in SP2010 and SP2013 that I assume you are using).

The ONET.XML in the Web Templates are only executing the features you mention, so as you note, only sites created with the updated web templates will change, not sites you already provisioned.

There are several approaches you could use to upgrade the existing sites. I prefer doing this with a PowerShell script that iterates the existing sites and pushes out the changes (eg. adding artifacts, enabling features, upgrading features, adding content).

But there is no Out-Of-Box way to achieve this.

To get you started, iterating existing site collections can be done like this

Get-SPWebApplication -Identity "YourWebApplication" | Get-SPSite -Limit All | % { $_ #do site collection stuff }

and on sites

Get-SPWebApplication -Identity "YourWebApplication" | Get-SPSite -Limit All | Get-SPWeb -Limit All | % { $_ #do site stuff }

For example activating a site collection scoped feature:

Get-SPWebApplication -Identity "YourWebApplication" | Get-SPSite -Limit All | % { Enable-SPFeature -Identity "MyFeature" -Url $_.Url } # add -EA SilentlyContinue to skip errors from already activated featues
share|improve this answer

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.