Many of you must have noticed that the “Save site as template menu” under “Look and Feel” site settings category is missing.
So, this brings several questions to mind, like:
How do I get it back? And more important: Why was it removed?
Let me try to answer these two questions in the following article.
In WSS sites, when you go to site settings page, this is how your “Look and Feel” category looks like:
Notice you have the “Save site as template” menu option there.
It is important you understand everything in SharePoint 2007 is based on features. So – you would be correct to assume this menu option was declared in a feature as well: (Note: the percise details may vary in different systems)
Feature folder: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\SiteSettings
Feature file: SiteSettings.xml
Once you create a publishing portal site (internet facing or intranet collaboration portal) you will notice that among other changes, the “Look and Feel” site settings category changed a lot:
Notice, there is no more option to save site as template.
So, saying everything in SharePoint is controlled by features – you need to think of a publishing site as a normal WSS sites that had some features activated in it. This is not 100% accurate, but it's easier to understand that way.
Looking further in our Feature folder, you will easily find several feature folders that belong to the publishing site. In one of these features there is a call to hide the save as template menu from the site settings: (Note: the percise details may vary in different systems)
Feature folder: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\Publishing
Feature file: PublishingSiteSettings.xml
Notice the use of HideCustomAction tag, with the corresponding HideActionId “SaveAsTemplate”.
According to my vast experience with many customer that are using publishing sites, a lot of them tried to use the save as template option (some using code, some using a feature like the one below) and we all came to the same conclusion:
Since publishing sites has pages in them and layouts that are all connected to a content type that is configured at the top level site of the site collection, and because these content types are not saved and moved within the site template STP file – this makes the STP file not self-describing as it should.
This means that if you save a publishing site as template and use it in the same site collection, providing all site content types it uses were not changed, it will work OK.
The problem is when you try to move it to a different site collection, or when you changed or deleted some content types in your current site collection – this will result in an un expected behaviour (that is from my experience mend-able with some work).
So, if you do want to use the site templates within the same site collection, or if you use only the out of the box content types (welcome and article) with no changes, you should be safe.
Here is what you need to do to add this option back to your publishing site (very simple, 5 minutes work):
Create, install and activate a feature that will bring this menu option back to life!
Simply create a feature that re-registers a “save as template” action to site settings. I said 5 minutes, right? So here is a feature ready to use (click to download)
Save the folder inside the ZIP file under your server’s features folder.
Run STSADM command:
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm" -o installfeature -name AddSaveTemplateToPublishingSiteSettings –force
After installation, you should have this new site collection feature:
If you did everything correct, here is your new publishing site settings “Look and Feel” section:
* There may be other side effects of saving a publishing site as template. This article is for the community information benefit only and will not hold KWizCom responsible to any issues caused by this. It is strongly recommended you test on a pre production environment before you use this tip in a production server.