The site template requires that the Feature … be activated in the site collection

 

Site templates in SharePoint 07 were great. You could customize a site, save it as a template, and then create a new site using that template. If you needed to get a copy of the site on a different server, just copy the template file to the other server and proceed as normal. If the site used a custom web part, then obviously that web part would have to exist on the other server and be available for the site to work. But the site could still be created even if a web part was missing. All of this has changed in SharePoint 2010…

When you save a site as a template in SharePoint 2010, it saves the list of site collection features that were active at the time, and you will be unable to create the site using the template in any site collection that does not also have those features enabled.

Even better, when the exception is thrown:

  1. The exception doesn’t identify the name of the feature, just the GUID.
  2. The text is being displayed via Silverlight, and the GUID cannot be copied.

There are a few ways to try to resolve this. One is to simply open up the site collection features page for both the source and destination site collections and compare them. The same features should be active in both. Another route is to just do a web search for the guid of the missing feature. If it’s a feature that ships with SharePoint, the search should find it.

If the internet search doesn’t come up with any results, here’s another method of tracking this down:

1. Try to create the site, and wait for the error to be thrown (see above screenshot). The error contains the GUID of the feature that is missing.

2. Open up a SharePoint Command Shell on the Source Server. (The server that hosts the functional site that was used to create the template.)

3. Run the following command:

Get-spfeature | where-object {$_.Id –like “*anyPartOfTheGuidFromTheError*” }

For example, the screen-shot above shows that a feature is missing that has a guid that starts with “a392da…”. So, you could run the following:

Get-spfeature | where-object {$_.Id –like “*a392da*” }

The above will output the details for the matching feature(s):

Hope that helps.

And here’s hoping that site templates are improved in SharePoint vNext.

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s