Even after few years of delving in to SharePoint I did not cared enough to deep dive in to publishing features of SharePoint except the fact it supports publishing pages & wiki pages etc.
Recently I had a requirement to restore a particular publishing site collection as sub-site which led me to the following blog.
What is a publishing:
If you are governing a internet facing site, you are no stranger to this. Whatever feature in SharePoint which provides web page editing and approval all comes through the publishing infrastructure. If you are using SFIS 2010 (SharePoint for Internet Sites), this is a default which enabled UI designers and content managers to maintain artistic and dynamic websites like http://www.ferrari.com/Italian/Pages/Home.aspx. Oh yes! Its a SharePoint website!
Publishing sites vs publishing features:
When a site collection is created using publishing site template, it brings only publishing sub-sites such as wiki and publishing subsites in its site templates kitty. Meanwhile if you activate publishing infrastructure in a typical team site, it adds the publishing site templates along with existing templates such as meeting workspace, search center, reports center etc.
These are the some of the artifacts added along with this feature activation
Site templates : Publishing sites and Enterprise wiki sites – obviously
User groups: It adds UG’s such as designers, approvers, quick deploy users etc to support content authoring, approving and publishing.
Site settings: This enables an important feature called content structuring, which opened the doors for an interesting feature called “variation” and few other features depends on content structuring such as navigation etc.
On a nutshell, Variations allows copying sites and content from the source variation label to one or more target variation labels. This enables content managers to author a site or page in their native language say English and Variation Feature allows tailoring publishing this site or page for different cultures and languages seamlessly thus enabling “multi-lingual” sites without replicating the contents. Stefan Gossner’s article here will provide more reference.
Webparts: Publishing feature adds content query webparts (Not in SharePoint 2013), Media links, Summary links and table of contents to the webpart gallery which enables SharePoint site to pull information from multiple data sources.
It also adds Page editor tools, Approval timer jobs, Publish/Unpublish timer-jobs, Variations propagate timer-jobs to enable publishing framework inside SharePoint.
Issues with Migrating publishing sites:
To split the site collections or to restore sites as subsites or viceversa we use STSADM or PowerShell export/import scripts. But this wont work with publishing sites.
The reason for this limitation is that the publishing feature stores vital information like page layouts but also various properties like information about variation, reusable content and so on in the root site of a site collection.
When migrating a root site into a subsite the imported content will link to the new location of the previous root site. E.g. the page layout URLs will afterwards point to the page layouts library in the sub site and not of the root site which does not work as the publishing feature requires these items to be in the root site. So additional actions like moving the page layouts to the root site and adjusting all page layout urls would be required. Similar things would be required for variations and reusable content.
On the other hand when migrating a sub site to a root site it gets even worse: in this situation important content which was stored in the root site of the site collection is no longer available as the sub site does not contain the necessary information as they haven’t been exported in the first place. So after importing the subsite as new root site items based on the publishing feature will be non functional.
These are some of the supported scenario’s provided by Microsoft:
- export the site collection starting at the root site and import as root site into a new site collection
(using a custom application you can specify which sub sites to export if you would like to avoid to export all of them)
- export sub sites of the site collection and import them as sub sites into an existing site collection that has the publishing feature enabled
In my own experience, I didn’t face any issues on exporting publishing sites and restoring it on non-publishing sites (sites without publishing infrastructure) when you just need your contents to be imported. But make sure publishing feature is disabled when you export the site.