Content Deployment – Step By Step Tutorial

I was looking around and realized that I couldn't find an easy set of instructions to set up Content Deployment in Microsoft Office SharePoint Server.

In this post, I'll show you how to set up content deployment from a staging site collection to a production site collection. For simplicity, I will host both site collections on the same server.

For a background on content deployment, see: https://blogs.msdn.com/sharepoint/archive/2006/05/02/588140.aspx

Create Production Site Collection

When setting up a content deployment path, the site collections must be in separate content databases so that the unique identifiers (GUIDs) do not conflict. The easiest way to ensure that the production site collection is in a different content database is to create it in a new web application.

Open Central Administration:

Under Application Management:

Select Create or extend Web application:

Select Create a new Web Application:

Choose an easy to remember port number, such as 12345:

Type in a user name and credentials to create a new app pool:

Type in a descriptive database name such as MOSS_PRODUCTION:

Leave all other settings at the default and click OK, then wait for the Web application to be created:

Click Create Site Collection:

Ensure that your new Web Application is selected:

Type in any name for the Title (it will be overwritten later):

Select "Blank Site" as the template. This step is IMPORTANT, because Blank Site is the only template that you can import any other template into:

Type in the names for the site collection owners:

Click OK.

Allow Incoming Content Deployment Jobs on the Production Site

Select Operation:

Select Content deployment settings:

Select Accept incoming content deployment jobs:

Select Do not require encryption and click OK:

 

Create Content Deployment Path from Staging to Production

Select Content deployment paths and jobs:

Click New Path:

Type a descriptive name for the path. Select the web application and site collection for the staging site. Then type in the URL of the Central Administration web site of the production site. Since we are putting both of our sites on the same server farm, the URL is the farm that we are on now.

Click Connect:

Once you see "Connection succeeded", select the web application and site collection that you created for production. You can also choose to deploy user names and security if you want the new site to have the same users and permissions.

Click OK.

Create Content Deployment Job

Click New Job:

Type a name, and then select the path you created:

Keep all other default values, and click OK.

Run Content Deployment Job

From the context menu on the job, select Run Now:

Refresh the page, and then click on the text Running:

Watch the status of the job:

When the status changes to Succeeded, you can click on the URL to the production site to verify that the content was deployed.

Run Quick Deploy Job

Select Quick Deploy Settings from the Quick Deploy context menu:

Select Allow Quick Deploy jobs along this path, and set the schedule to check every 10 minutes, then click OK:

Visit the staging site and edit a page:

Make some changes:

Publish the page:

Show the page editing toolbar:

From the Tools menu, select Quick Deploy:

The changes will be picked up and deployed to production within 10 minute:

References

Content Deployment Post by Tyler Butler:
https://blogs.msdn.com/sharepoint/archive/2006/05/02/588140.aspx

MOSS SDK on Content Deployment:
https://msdn2.microsoft.com/en-us/library/ms549024.aspx

TechNet on Plan Content Deployment:
https://technet2.microsoft.com/Office/f/?en-us/library/edcdacca-8013-460e-95a0-d2b83b6cc7ef1033.mspx

TechNet on Design Content Deployment Topology:
https://technet2.microsoft.com/Office/f/?en-us/library/1d6d6040-6cbb-4685-a40e-1e9086d426831033.mspx

Comments

  • Anonymous
    February 26, 2007
    Great post, Jackie. There is also some documentation of this process (albeit without the pretty pictures) over on Technet as well. http://technet2.microsoft.com/Office/f/?en-us/library/edcdacca-8013-460e-95a0-d2b83b6cc7ef1033.mspx There's some topological overview as well: http://technet2.microsoft.com/Office/f/?en-us/library/1d6d6040-6cbb-4685-a40e-1e9086d426831033.mspx Cheers, Tyler

  • Anonymous
    March 14, 2007
    Having trouble deploying content. I'm using a single server, trying to make a job work with a path between two site collections in the same web application and getting only errors saying Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) at...

  • Anonymous
    March 26, 2007
    Hi! I'm having the same problem. I'm trying to shared content between two site collections on the same machine( Intranet and Internet) but the job gives me timeout and nothing if passed :( Any ideias? Thanks in advance! Nelson Santos

  • Anonymous
    May 02, 2007
    Hi, While creating paths, we are not able to see the web application which is in a seprate server farm. it is should web application which are only in same server farm? what should we do to deploy our content from staging to production enviorment? This will be a great help. Thanks Deepak Aggarwal

  • Anonymous
    May 03, 2007
    Hey Jackie,   How fast do you normally see the state go from preparing to running and have you seen the DST issue happen after or before the preparing?  Im on my second try to just move our top level site which is like 2 pages at most and SP is just reporting preparing. Regards, Eric Ramseur Software Engineer, Gridpoint Inc.,

  • Anonymous
    May 23, 2007
    One of the big pain points with SPS 2003 was the fact that once you went to production all subsequent

  • Anonymous
    May 25, 2007
    its very important article thank you very mauch

  • Anonymous
    May 26, 2007
    I like step by step guides with screenshots Content Deployment - Step By Step Tutorial http://blogs.msdn.com/jackiebo/archive/2007/02/26/content-deployment-step-by-step-tutorial.aspx

  • Anonymous
    May 28, 2007
    A good third-party solution for deploying/replication content and apps is R-1 by Repliweb (www.repliweb.com).  This solution automates the process of deployment and ties in workflow tools as well.  

  • Anonymous
    May 30, 2007
    The comment has been removed

  • Anonymous
    May 30, 2007
    This looks nice, but what about features, solutions packages and such? Are they also deployed or do you have to do that bit yourself? Does this content deployment-service mean that we can now expect to see the same Unique IDs on Webs, Lists, ListItems, etc. on both the stage server and the production server?

  • Anonymous
    May 30, 2007
    Hi JT, the problem you are facing is that you have both the site collection in the same Web App. create the destination site collection using a new web app(which will create a new content DB) and try. Also, please read this article carefully. Author, clearly mentions that Source and Destination site collections need to be from two different Web Application(meaning two different content databases). Hope that helps!

  • Anonymous
    June 04, 2007
    Hi, I am trying to share some content between an intranet site and an internet website,which are in the same server but are different site collections and different web applications.Any ideas how I can do the shareing? Thanks, MRB.

  • Anonymous
    June 15, 2007
    As promised... SharePoint for Developers poster http://www.microsoft.com/downloads/details.aspx?familyid=771aeb45-9d27-4d1f-acd1-9b950637d64e&displaylang=en

  • Anonymous
    June 18, 2007
    hello, i just want to asking 1 question...what is the different between microsoft office project server 2007 and micrsoft office share point 2007?

  • Anonymous
    June 27, 2007
    I like step by step guides with screenshots Content Deployment - Step By Step Tutorial http://blogs.msdn

  • Anonymous
    July 16, 2007
    When I click Connect I get error html from the destination server with the text "File not found" in it.

  • Anonymous
    August 16, 2007
    It is really not user friendly to have the Comment Notification link visible when I'm typing the post.  I clicked the link before submitting and lost my post.  The short version... Thank you for the screen shots. Not just "pretty", but save me minutes of translating text to UI; quickly put me in context; gave me confidence I understood post.  Wish more bloggers took the time. Came across your post while searching for resolution to Status Preparing message, which seems frozen.

  • Anonymous
    August 28, 2007
    FYI, Also would like to note. That do not name the destination site the exact same as the source site or the path creation will fail. "Source and destination Site collection cannot be the same".

  • Anonymous
    September 04, 2007
    I would like to know if there is a way to generate a report or log of content changes using the stsadm command or another utility once a content deployment job runs...

  • Anonymous
    September 05, 2007
    When ever i try to run the job it gives me this error--- The specified name is already in use. A list, survey, discussion board, or document library cannot have the same name as another list, survey, discussion board, or document library in this Web site. Use your browser's Back button, and type a new name. at Microsoft.SharePoint.Library.SPRequest.CreateListOnImport(String bstrUrl, Guid& pguidListId, String bstrTitle, String bstrDescription, Int32 lTemplateID, String bstrFeatureId, Guid guidRootFolderId, Int64 llFlags, Int32 iVersion, Int32 iAuthor, String bstrFields, String bstrContentTypes, String bstrImageUrl, String bstrEventSinkAssembly, String bstrEventSinkClass, String bstrEventSinkData, Guid guidDocTemplateId, String bstrViews, String bstrForms, Boolean bCompressedSchema) at Microsoft.SharePoint.Deployment.ListSerializer.CreateList(SPWeb parentWeb, Dictionary`2 listMetaData, Boolean usingPublicSchema) at Microsoft.SharePoint.Deployment.ListSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType, Boolean isChildObject) at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject, DeploymentObject envelope) at Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream) at Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream) at Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader) at Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects() at Microsoft.SharePoint.Deployment.SPImport.Run() Can u plz help to resolve this issue

  • Anonymous
    September 12, 2007
    2007 MOSS Resource Links (Microsoft Office SharePoint Server) Here is an assortment of various 2007 Microsoft

  • Anonymous
    September 19, 2007
    I was having the problem of the deployment job getting stuck on 'Preparing'. It was not the Timer service. Was not the account. It turns out that you need to make sure that both servers have the same settings as far as SSL are concerned. If one is requireing it and the other is not it will just sit and spin. No log or error will be generated till it times out then you will be left wondering what happened. So make sure that both exporting server and importing server are on the same SSL Setting.

  • Anonymous
    September 19, 2007
    I was having the problem of the deployment job getting stuck on 'Preparing'. It was not the Timer service. Was not the account. It turns out that you need to make sure that both servers have the same settings as far as SSL are concerned. If one is requireing it and the other is not it will just sit and spin. No log or error will be generated till it times out then you will be left wondering what happened. So make sure that both exporting server and importing server are on the same SSL Setting.

  • Anonymous
    October 03, 2007
    The comment has been removed

  • Anonymous
    October 12, 2007
    Content deployment is an excellent way to publish SharePoint content between farms. A few things to keep

  • Anonymous
    October 24, 2007
    What about stage and production web application have different web config file and we don't want the stage one overwrite the production one?

  • Anonymous
    November 08, 2007
    useful links for sharepoint 2007 customization

  • Anonymous
    November 23, 2007
    I've had a large number of emails from .NET developers who want more information about SharePoint Development.

  • Anonymous
    November 26, 2007
    Hi I can't see the content deployment links on Central Admin Operations tab.  Does anyone know why these would not appear?  Data Configuration is the last section on the right hand column of links. Thanks Andy

  • Anonymous
    November 26, 2007
    I don't see any graphics between the topics.  They only show up as boxes with x's in them.  Is there a way to see them?

  • Anonymous
    November 29, 2007
    I have the same issue.  the images don't exist anymore....

  • Anonymous
    November 29, 2007
    the site http://jackiebo.officeisp.net that references all the images is down.....

  • Anonymous
    January 15, 2008
    Hi Jacky, great post! Can you check you images used in this blog entry? I also can't see them.

  • Anonymous
    January 31, 2008
    Content Deployment Jobs its a new feature that comes with Microsoft Office SharePoint Server 2007, and

  • Anonymous
    February 15, 2008
    Two great blog entries describing MOSS Content Deployment and how to configure it: http://blogs.msdn.com/sharepoint/archive/2006/05/02/588140.aspx

  • Anonymous
    February 15, 2008
    Two great blog entries describing MOSS Content Deployment and how to configure it: http://blogs.msdn

  • Anonymous
    February 24, 2008
    While trying to create a new path, I am getting the error : Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: Can somebody help please?

  • Anonymous
    March 07, 2008
    For images, use the Way Back Machine: http://web.archive.org/web/20070716191414/http://blogs.msdn.com/jackiebo/archive/2007/02/26/content-deployment-step-by-step-tutorial.aspx

  • Anonymous
    March 12, 2008
    I am getting same error message: While trying to create a new path, I am getting the error : Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: Can somebody help please?

  • Anonymous
    March 14, 2008
    For the " Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'" error make sure that you are entering the port of the central administration Web application along with the host name in the textbox. I got that error because I didn;t append the port to the url and the server was actually trying to connect to my content web application at that point instead of central admin, which prompted the error.

  • Anonymous
    March 24, 2008
    Thanks for a great article about content deployment!

  • Anonymous
    April 03, 2008
    Great posting, much clearer than the MOSS adminitrator's companion!

  • Anonymous
    April 06, 2008
    where are the photos ????????????????????????

  • Anonymous
    May 03, 2008
    The images are not showing. Please make available Thanks

  • Anonymous
    June 03, 2008
    this would be great if i could see the photos!

  • Anonymous
    July 29, 2008
    The comment has been removed

  • Anonymous
    August 03, 2008
    Any chance of getting the pictures fixed?  I'd really like to see how this is done.  Thanks!

  • Anonymous
    August 21, 2008
    great post, can we see the images? Thanks!

  • Anonymous
    August 24, 2008
    The images are not showing. Can you please fix? thanks

  • Anonymous
    September 11, 2008
    The comment has been removed

  • Anonymous
    September 11, 2008
    Pls fix your images or delete this blog

  • Anonymous
    October 06, 2008
    Can you update your Web page so that we can see images ?

  • Anonymous
    October 20, 2008
    Use the link tat FER posted to see the images

  • Anonymous
    December 16, 2008
    It's great artical for site collection migration!!! Thanks for that! But I want particular contents of site to be migrated. For eaxample migrating Lists, Documents etc. So how to do that? Thanks in advance.....

  • Anonymous
    February 02, 2009
    Farm Topology This article assumes you have two server farms: one internal farm in your corporate intranet

  • Anonymous
    February 18, 2009
    Excellent article Jack. However the screen shot are not appearing for me. Are the images reference wrong path?

  • Anonymous
    April 02, 2009
    Hello, I have installed Sharepoint VHD, and did try out the above steps but got stuck when the gave source web application path and gave http://litwaredemo:port number/foldername as URL for destination Central Administration server. i get error saying "you have specified a URL that begins with http://. Communication to this URL will not be secure and can not be intercepted by malicous users." so i have https://litwaredemo:port number/foldername and clciked on Connect button. It says Either the URL for the destination web application is not valid, or you do not have permissions to the central administration site on the destination server farm. Error Details: The remote upload web requested failed. I want to know the reason why this happend. Waiting for your support Regards, Dnyaneshwari

  • Anonymous
    May 03, 2009
    @Denny, We got this error during content deployment as well: Content deployment job 'MyContentDeployment' failed.The exception thrown was 'System.InvalidOperationException' : 'Client found response content type of 'text/html', but expected 'text/xml'. The request failed with the error message [html ... ] There is a problem with the resource you are looking for, and it cannot be displayed. [ ... /html] It was occurring at the end of the export task.  Turned out the Destination Central Administration Web App was broken.  That's where this error is coming from - the end of the export task is the first time the Source farm tries to talk to the Destination farm.

  • Anonymous
    June 03, 2009
    Hi Dnyaneshwari, I think I know what issue you are seeing is.  Basically, you would have to go back to the Content Deployment Settings page (_admin/Deployment.aspx) and make sure you select the option "Encryption not required" on one of the radio buttons there.  By default, it is set to require encryption (https).  Once you select "Encryption not required", then you should be able to create a Path and just use "http://centraladminURLofDestination" and not "https://...". Hope this helps.

  • Anonymous
    June 10, 2009
    Hi, I am unable to see the images on this tutorial :(  Is there something wrong with my browser?!

  • Anonymous
    June 14, 2009
    Hi All, Check this link for viewing images also. http://web.archive.org/web/20070716191414/http://blogs.msdn.com/jackiebo/archive/2007/02/26/content-deployment-step-by-step-tutorial.aspx

  • Anonymous
    June 23, 2009
    hi I cannot see the pictures, please refresh them!

  • Anonymous
    June 23, 2009
    buddy this is not working, although I get a connection test passed during the test run, the job fails during the actual full run. I am deploying to a site collection

  • Anonymous
    July 05, 2009
    Thanks a lot. This works fine for me in my siple case. Best regards,   Evgeny

  • Anonymous
    July 05, 2009
    Thanks a lot. This works fine for me in my simple case. Best regards,   Evgeny

  • Anonymous
    September 09, 2009
    I have a customer that is looking to be able to track changes between what is in stage and what is in production. Is there a web part that allows you to track changes to the content in a visual way with aids like Word, before it is approved to be moved to production. Is there a way to do this ?

  • Anonymous
    September 14, 2009
    @Tony Sloggett : Had the same problem with access denied errors when trying to publish content from one site collection to another one in the same server. Changing the user of the Timer service of SharePoint fixed the problem. You saved my life man, thanx!

  • Anonymous
    September 21, 2009
    The post helped a lot but it would be better if the images were visible.

  • Anonymous
    October 08, 2009
    To deploy site from development to production server I have created deployment path. That's created successfully. But when I run the job to actually deploy the content it shown me Content deployment job 'Quick Deploy job for path 'External Server Deployment'' failed.The remote upload Web request failed. I have checked that no firewall restrictions are blocking me. Request goes to the remote server and also coming back with finish packet. So Please help me out.

  • Anonymous
    November 18, 2009
    HI, We can do backup and restore also ryt? By creating a content database in production server ,so that there will be no conflicts of GUID... Coz i had done like this only to get the sitecollection from stagging to production.

  • Anonymous
    April 14, 2010
    You should not be moving content from staging to production; content is added to production via the browser (typically), then moved to staging/dev as needed.

  • Anonymous
    December 18, 2010
    very nice tutorial really useful for beginners

  • Anonymous
    February 16, 2011
    Hi Stefan,              I have doubt in content deployment that, if we run the content deployment job, will it be deployed the search scopes from source to destination site? if it is yes, will it be overwritten the existed scopes in destination? Thanks, Naresh

  • Anonymous
    February 08, 2012
    One important thing i would like to share.... While creating the destination site collection (production site collection in this case), don't choose any template, not even 'Blank Site'. Because for import you need an empty site collection and Blank site template does not refer to an empty site collection and content deployment will fail. Instead choose <Select Template Later> in the Custom tab.

  • Anonymous
    March 22, 2012
    the deploy user names and security information doesn't help carrying over permission changes via incremental job. is there a reason for it? Thanks