Our content managers are adding content to our production Tridion CM. We want to sync that content to our test servers on occasion. These are the options I know of, what does everyone else do?

  • Content Porter - This is a hassle to use, especially if you have a lot of content.

  • New Import Export service in 2013 SP1 - Has anyone used this yet? It sounds like a potential solution.

  • DB migration - Anyone do direct DB migration? This may sound extreme, but if you sure that your test region does not have anything you need to save, then it should work.

What is your experience?

3 Answers 3


You've listed the typical approaches I've seen. Though with cloud options you might add a fourth. I'm personally seeing testing done on separate branches of entire (all-in-one) environments. This might not apply to most Production setups, though.

The documentation (requires login) confirms your thoughts in terms of:

  • DTAP - Dev, Test, Acceptance, and Production diagram with a DB restore from Production to Acceptance
  • Flow - Simpler diagram, with content managers only adding content to Production

Other Useful Features

Also consider Bundles, Tasks, and Virtual Folders to manage and track what might be in development.

  • Tasks could simply inform or ask certain groups of your changes
  • Virtual Folders can show recently updated items (I'll use this when working on test or training environments to double check what I've updated)
  • Consider Bundles to explicitly manage content ports as Nuno describes, also see a Release Management example from Will Price (for porting developer items up)

I don't find the amount of content a problem with Content Porter, but rather the dependencies, especially if Production and Staging differ in Organizational Items, Schemas, Keywords, etc. I see this getting easier with Bundles, the API, and having certain publication dependencies relaxed (e.g. users don't need parent Publication Permissions as described in this post).

  • Thanks for the comments. If I do a DB restore from prod to acceptance, then what is the best way to handle permissions in acceptance? This assumes that I grant more permissions in acceptance than prod and I want to add those back after the db restore. Adding them back manually is a hassle.
    – Mr Smith
    Commented Apr 6, 2014 at 1:54
  • You can automate your permission updates with the core service. Check out my blog article (indivirtual.nl/blog/…) for an example, although you'd probably need some changes to match your use-case exactly. Commented Apr 6, 2014 at 18:38

Get to a point when all Dev is stopped and deployed to Prod, so that Prod has latest code and content. Then do a DB clone from Prod back to Dev. When you do this, you'll need to update the publish target configs, possibly your list of users and set all the content to unpublished.

For small amounts of content use Content Porter.


One of the main ideas behind the ImportExport Service in 2013 SP1 was indeed to improve automated content porting between environments. The idea I had back then was that developers (or someone, or automatically) would maintain bundles of items that need to be moved to different servers, and then someone would write scripts to automatically export & import the content of those bundles between servers.

Obviously, you can do it differently, but that was the use case. Do realize that functionally, it is still content porting, and all the logic around dependencies, mappings, etc, still applies, even if you're using the API. There are a LOT of good examples on how to use these APIs on this blog.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.