Expand my Community achievements bar.

SOLVED

How to replicate content from one Auth instance (live env) to another Auth/Publish instance(Internal Testing Env)?

Avatar

Level 1

Hi there,

When we use AEM, we built Live/Staging/QA environment. And we need to have a way of sync content from Live Auth to QA Publish instance therefore our application in QA env can consume those content. After this, we will publish content to publish instance. 

It seems that Replication Agent/Reverse Replication is a similar function we want (sync data without activation between instances).

But it shows that the outbox in Auth is disabled.

So I just want to know, if we want to sync Live Auth instance content to a publish instance in QA env, is it a right solution to use something like reverse replication? And it is the right solution, how to enable outbox in Auth?

We were stuck here for quite long time (since there is no more document :( )

Thanks a lot for your support!

1 Accepted Solution

Avatar

Correct answer by
Level 10

If I understand correctly, you are looking at pushing the content from Live author -> QA publish 

for this, you can just configure the replication agent on live author instance and publish only to the QA publish replication agent.

you can also do a package of all the content and put that on QA publish aswell

View solution in original post

10 Replies

Avatar

Correct answer by
Level 10

If I understand correctly, you are looking at pushing the content from Live author -> QA publish 

for this, you can just configure the replication agent on live author instance and publish only to the QA publish replication agent.

you can also do a package of all the content and put that on QA publish aswell

Avatar

Employee Advisor

Hi,

so what's your workflow? You create content on production author, then you want to replicate it to a testing system (for QA); and if it passes QA, the content is then replicated to prod publishs? Why don't you do your QA process on the prod authoring instance using the preview functionality?

(To answer your question: Don't use reverse replication there.  You can implement the above mentioned solution just using (forward) replication, but then you need to have 2 "activation" buttons: "Activate to QA" and "Activate to production". When you need to enforce that content is first QAed and only then published to PROD, you need a workflow. And if someone receives a message "please review" he needs to review on QA publish and accept or deny on Prod author to continue the workflow. That's not the way this process should be executed, and therefor that's also not a recommended way to implement it. See my question above.)

kind regards,
Jörg

Avatar

Level 1

Will we still able to publish the same content to Live publish instance after that?

I mean, assuming the deactivated content change has some sort of flags which will be removed after activation, is that true?

If we publish the content to QA publish instance, I assume that the flag will be removed and then there is no way for us to re-publish to Live Publish instance.

Avatar

Level 1

Jörg Hoh wrote...

Hi,

so what's your workflow? You create content on production author, then you want to replicate it to a testing system (for QA); and if it passes QA, the content is then replicated to prod publishs? Why don't you do your QA process on the prod authoring instance using the preview functionality?

(To answer your question: Don't use reverse replication there.  You can implement the above mentioned solution just using (forward) replication, but then you need to have 2 "activation" buttons: "Activate to QA" and "Activate to production". When you need to enforce that content is first QAed and only then published to PROD, you need a workflow. And if someone receives a message "please review" he needs to review on QA publish and accept or deny on Prod author to continue the workflow. That's not the way this process should be executed, and therefor that's also not a recommended way to implement it. See my question above.)

kind regards,
Jörg

 

Thanks for your replying.

We cannot use CQ preview function.

Our content is not HTML based. We have some XML resources (in another application), I18N resources(in another application ) and media files (in AEM) . We need to preview those things together to make sure different types of content collaborate correctly. So the preview function is done by application.  

We will try to use 2 different activation buttons as you suggested. But due to our scenario, do you have other suggestions?

Avatar

Former Community Member

you replying : ... just using (forward) replication, but then you need to have 2 "activation" buttons: "Activate to QA" and "Activate to production"  ...

how to do it ?   2 "activation" buttons: "Activate to QA" and "Activate to production" , How to bind the activate button to the specified replication agent ?  I only konw ( agents.author  --> Setting --> Agent User Id )  agent can bind to the user.

Avatar

Employee Advisor

Hi,

the replicator interface offers a method, where you can specifiy Options [1]; in the ReplicationOptions (a simple POJO) you set a Filter [2], which is called for every agent to validate, if this agent is supposed be included in the replication. Here you can provide your own logic.

HTH,
Jörg

 

[1] https://docs.adobe.com/docs/de/aem/6-0/develop/ref/javadoc/com/day/cq/replication/Replicator.html#re...

[2] https://docs.adobe.com/docs/de/aem/6-0/develop/ref/javadoc/com/day/cq/replication/ReplicationOptions...()

Avatar

Level 1

Hi Wu,

See if I am uderstanding your use case (workflow) rightly...! 

Your content authors do site assembly process on your Prod(Live) systems only. E.g. create some new 5 or 10 webpages along with necessary assets upload.

Now, you need these newly generated stuffs (webpages & content) to be moved on QA once to be verified. Once you get go green from QA Team, you can go live (publish on Prod system) for new content.

In my point of view, you are having two options, either you can follow:

1. Create a replication agent from your Prod(live) Author to QA Publish. And Publish your newly generated pages/content. [ Mind well - while you do first time such publish disable your Prod. Publish Agents - so your not QA content will not go on Publish undesirably]   And once content are QA passed re-publish them on rest of publish by re-activating respective agents.

2. Create a specific Package of newly created Webpages & content from your Prod. Auth. and import same on your QA Pub (even I recommend to import on QA Auth and from there do publish)

In my point of view - I do not encourage this approach 1  rather I like to canvas more for Approach # 2

Avatar

Former Community Member

How to do it use the replicator interface ? Shoud I must modify resource code or add new servlet to implement the replication function?

like:
the button name "activate" use this SiteAdmin.js (/libs/cq/ui/widgets/source/widgets/wcm/SiteAdmin.js) to
call CommmandServlet (com.day.cq.replication.impl.servlets.CommandServlet)

Avatar

Employee Advisor

Hi,

the easiest way is to add a new button to the UI which then calls a custom servlet (of course adding a new command to /bin/wcmcommand is also possible).

kind regards,
Jörg