In most organizations, the public
web site is of significant importance. The web site presents an
organization’s public image, along with the products and services it
offers, to a public audience and is susceptible to criticism if the
site breaks or is offline for any duration. Therefore, when it comes to
the infrastructure that hosts a web site, typically the organization
will maintain a production, staging, and perhaps a development copy of
the site.
Microsoft developed the web publishing aspects
of SharePoint with content integrity in mind. Content owners may edit
and add new content to the web site, free from worry that the public
audience will see their changes before new and changed content
undergoes an approval and publish process. The content approval process
and versioning/publish features in SharePoint allow complete confidence
that the public may view an approved version of content and design
while editors and designers work on the same infrastructure without
jeopardizing the public view. Even so, management and the IT group
often balk at the idea of making changes to the production web site.
This is where content deployment comes in.
Content deployment allows content owners to
work on one SharePoint farm—completely independent from the production
farm—and then deploy published changes to the production environment on
a schedule. The instructions in the following section provide
high-level configuration of content deployment from Farm A to Farm B.
Note Content
deployment deploys only user content from one SharePoint farm to
another—sites, list, list items, documents, metadata, and so on. It
will not deploy customizations (such as code deployed via features and
package solutions).
Configuring the Destination Farm
Take the following steps to configure a destination farm for content deployment:
- Open Central Administration on the destination farm.
- Click the General Application Settings link in the left navigation.
- Scroll to the section for Content Deployment.
- Click the Configure Content Deployment link to allow the destination farm to accept incoming content deployment.
- Set the import server in the destination farm to accept the import content (Figure 1).
Configuring the Source Farm
Take the following steps to configure a source farm for content deployment:
- Open Central Administration on the source farm.
- Click the General Application Settings link in the left navigation.
- Scroll to the section for Content Deployment.
- Click the Configure Content Deployment link.
- Configure the export server for this farm, by providing a path for
the export files and specifying whether you want to use encryption (in
case you are deploying across network security boundaries).
- Navigate back to the General Application Settings page.
- Click the Configure Content Deployment Paths and Jobs link.
- Click the icon to create a new path (Figure 2).
- Give the path a name and description, and specify the source web application and source site collection.
- Provide the URL of the destination Central Administration site.
- Provide the authentication
(I recommend using the Farm account on the destination farm), click the
Connect button, and make sure you see the “Connection succeeded”
message.
- Select the destination web application and site collection.
- Check the check box to deploy user names (typically a good idea if
you want the users to persist in the site collection, unless your
production farm allows new user login).
- Set the security information for the content deployment and click OK.
With the path defined, you now need to configure a job to deploy on a schedule.
- Click the icon to create a new content deployment job.
- Provide a name for the job.
- Provide a schedule and scope for the deployment job.
- You can use a SQL snapshot.
- Provide e-mail addresses for notification.
- Select the deployment type—Deploy All Content is a full deployment, New or Changed Content is an incremental deployment.
- Click OK.
- From the same page where you created the deployment path—Manage
Content Deployment Path and Jobs page—you can view the status of
current jobs and paths.
- Click the Status column of running and completed jobs to see the status of content deployment jobs.
Common Issues with Content Deployment
Content deployment is complicated to get
working right. Microsoft addressed a number of the bugs, since
introducing content deployment in SharePoint 2007, that frustrated
administrators. However, there are some known points to note when
configuring content deployment:
- The first time you configure content deployment to your production
environment, provide a new blank site collection as the destination.
Then run a full content deployment job.
- Once you complete a successful full content deployment job, run only incremental jobs from then on.
- Try to avoid deleting metadata elements from the destination
farm—content deployment balks when it cannot find a content type on the
destination farm that it finds on the source. This issue often comes
about when deploying content types via features, and deployment of the
feature on the destination farm may differ from that of the source farm.
- Ensure that the destination farm has all the same features deployed as the source farm.