Expand my Community achievements bar.

SOLVED

Synchronizing content between QA and live author

Avatar

Level 4

We've had a question from the content editors that I can't find a solution for.

When creating test content, they are currently doing this on the live environment. This is because a lot of the customers reviewing the test content don't have access to the author so can only see it once it has been published. In addition to this, the test content cannot be created on the QA environment because the content editors would then need to rebuild the page in live once it has been approved.

They are asking if there's a way for them to create the content on the QA environment to test with then copy across to the live author.

I'm aware that the content could be packaged up and copied across but the content editors don't have access to this part of the CMS. As a development/platform team, we would also prefer to not be burdened by regular requests to do this.

Is there any other way for content to be created on a QA author then synchronized or pushed to the live author without having to use content packages?

1 Accepted Solution

Avatar

Correct answer by
Level 10

Do you plan to push from QA author to live author or QA publish to live author? How do you plan to handle content that depends on certain code/configuration deployments? Is this a valid use case where your content could move to Prod (due to live sync) before your code/config is deployed in Prod author?

There are solutions to consider & evaluate pros/cons of each solution based on your project's constraints. Your existing setup & governance would play a bigger role to implement any solution. There might be scenarios where the content is not easily portable. E.g. If in some use case, the content has hard-coded urls, absolute urls or some environment dependent configuration which may not be pushed to live environment. Hence, you may need to revisit your setup and fix those global design pieces to support this kind of automation across environments. 

From solutions viewpoint, you may have workflows launchers or custom event listeners in-place to perform some action (create a package, replicate, push for review, send out emails for review before replicating etc.) on some event.

You could run a custom query (via custom service) to pick newly added/updated/deleted content/assets/configs, create a package out of it and then replicate it automatically. You may schedule this custom service to run periodically.

You could also setup a content-sync between author to author but that would've a more downsides and restrictions.

You may want to attach a log/audit/review/notification process to this 'automated task'.

As Fernando mentioned above, you may run into an issue where one of your authors bypass this process and directly author content in live environment or do it at both places or something. You would definitely want to have strict governance processes around this.

Check these-

View solution in original post

2 Replies

Avatar

Level 2

I don't see a way of doing what you want without creating a package in QA's Package Manager and scheduling a deploy to the Live server, but this can be catastrofic if you send all files from your `content` package. It could potentially overwrite content that is in production.

You could create a package containing only the individual pages you want, but it would give you some headache because you also need to send policies, images, templates, styles (and not only pages).

The way we do here is that authors create content directly in Production Server.

Then, time to time we (maybe once a month) we do a production copy from Live to QA.

Avatar

Correct answer by
Level 10

Do you plan to push from QA author to live author or QA publish to live author? How do you plan to handle content that depends on certain code/configuration deployments? Is this a valid use case where your content could move to Prod (due to live sync) before your code/config is deployed in Prod author?

There are solutions to consider & evaluate pros/cons of each solution based on your project's constraints. Your existing setup & governance would play a bigger role to implement any solution. There might be scenarios where the content is not easily portable. E.g. If in some use case, the content has hard-coded urls, absolute urls or some environment dependent configuration which may not be pushed to live environment. Hence, you may need to revisit your setup and fix those global design pieces to support this kind of automation across environments. 

From solutions viewpoint, you may have workflows launchers or custom event listeners in-place to perform some action (create a package, replicate, push for review, send out emails for review before replicating etc.) on some event.

You could run a custom query (via custom service) to pick newly added/updated/deleted content/assets/configs, create a package out of it and then replicate it automatically. You may schedule this custom service to run periodically.

You could also setup a content-sync between author to author but that would've a more downsides and restrictions.

You may want to attach a log/audit/review/notification process to this 'automated task'.

As Fernando mentioned above, you may run into an issue where one of your authors bypass this process and directly author content in live environment or do it at both places or something. You would definitely want to have strict governance processes around this.

Check these-