Continuously synchronise between contents in dev and prod environments | Community
Skip to main content
Level 2
November 6, 2023
Solved

Continuously synchronise between contents in dev and prod environments

  • November 6, 2023
  • 2 replies
  • 4244 views

I need to move all contents from AES development to production environments. To do this, I used package manager. The problem was that some folders have large sizes, so I had to build each subfolder and upload them to the development branch. Additionally, I need to copy all changes made in the future from development to production. It is not possible to accomplish this with package manager. Please suggest some appropriate mechanism for achieving this.

Best answer by MarkusBullaAdobe

Hi @anas_r!

There are multiple tools for content transfer between AEM environments available. Have you already seen the following community article?

Automated Content Sync

 

Depending on your exact requirements, you might also want to look at the following list of tools for content transfers:

 

Please note that not all tools will work with AEM Cloud Services and some might be a bit outdated.

 

Hope this helps!

2 replies

MarkusBullaAdobe
Adobe Employee
MarkusBullaAdobeAdobe EmployeeAccepted solution
Adobe Employee
November 6, 2023

Hi @anas_r!

There are multiple tools for content transfer between AEM environments available. Have you already seen the following community article?

Automated Content Sync

 

Depending on your exact requirements, you might also want to look at the following list of tools for content transfers:

 

Please note that not all tools will work with AEM Cloud Services and some might be a bit outdated.

 

Hope this helps!

Level 3
February 11, 2025

Hi,

 

Can this tool be used for sync between Publisher to publisher . 

Considering there are content changes that are authored but not published . We want to sync content from publisher to publisher . 

 

building catalog from

 

https://publisher1.preprod65.cloud.com/apps/acs-commons/content/contentsync/jcr:content/sync.catalog.json?root=/content/about/copyright&strategy=com.adobe.acs.commons.contentsync.impl.LastModifiedStrategy&recursive=false java.io.IOException: Failed to fetch data from https://publisher1.preprod65.cloud.com/apps/acs-commons/content/contentsync/jcr:content/sync.catalog.json?root=/content/about/copyright&strategy=com.adobe.acs.commons.contentsync.impl.LastModifiedStrategy&recursive=false, HTTP [404] Response: Resource at '/apps/acs-commons/content/contentsync/jcr:content/sync.catalog.json' not found: No resource found

 

 

MarkusBullaAdobe
Adobe Employee
Adobe Employee
February 11, 2025

In theory and for AEM on-premise (and potentially AMS), it should be possible to use these tools to sync content from one publish instance to another. For AEM CS, this is not possible (but most of the tools won't apply here at all).

 

In general, it is not a recommended practice to sync content between publishers. There are various challenges that arise with this kind of approach. In the past, AEMs approach was to pull changes that had been applied to one publisher (for user generated content, e. g. user comments, ratings and the like) back to the authoring system via reverse replication and the publish/propagate them to all publish instances (see also this article). This practice is no longer recommended and would not even work for AEM CS.

 

To guide towards a proper solution, it would be helpful to share some background and the underlying business requirement.

aanchal-sikka
Community Advisor
Community Advisor
November 6, 2023

@anas_r . In addition to @markusbullaadobe suggestions, please refer to https://adapt.to/2023/schedule/lightning-talks/acs-content-sync 

https://adobe-consulting-services.github.io/acs-aem-commons/features/contentsync/index.html

 

It incrementally synchronizes content between AEM Author instances

 

 

The comparison between various tools is available on: https://adapt.to/2020/schedule/content-sync-automation

 

Aanchal Sikka
Anas_RAuthor
Level 2
November 16, 2023

@aanchal-sikka Tried ACS Content Sync tool as mentioned in the article. Configured the source environment with the url, user name and password, gave the path to synchronise and then on clicking 'Submit' button, I got an error

building catalog from https://author-p42404-e166196.adobeaemcloud.com/apps/acs-commons/content/contentsync/jcr:content/sync.catalog.json?root=%2Fcontent%2Fportfolio&strategy=com.adobe.acs.commons.contentsync.impl.LastModifiedStrategy
java.io.IOException: Failed to fetch data from https://author-p42404-e166196.adobeaemcloud.com/apps/acs-commons/content/contentsync/jcr:content/sync.catalog.json?root=%2Fcontent%2Fportfolio&strategy=com.adobe.acs.commons.contentsync.impl.LastModifiedStrategy, HTTP [401]

Could you please tell me what is the issue?

Anas_RAuthor
Level 2
November 28, 2023

@anas_r  schrieb:
  • Tried a manual login with these credentials? Yes, that was fine
  • Tried accessing the path mentioned in the error message via browser? Yes, I was getting the required json response from this.

One more check would be to try a call from the source AEM host, e. g. logging in to the command line and using curl, wget or similar. That way you could verify if there are any components on network level that might be blocking the call (e. g. because the target is only accepting requests from a dedicated list/range of IP addresses or similar restrictions). There could also be a WAF in place that might block the request based on certain criteria (including IP ranges, user agents and others).

@anas_r  schrieb:
  • Checked the log files on the instance where the sync tool is running for additional information? I couldn't find any log file from this tool. Only log I got is from the activity log area. That was a stack trace which I mentioned in the question.

You could try and setup a dedicated logger (via OSGI web console as explained here), ideally with a DEBUG or even TRACE log level for the relevant java classes of the tool. Apart from that, I recommend to check the error.log of the instance to see if there is anything interesting.

 


@anas_r  schrieb:
  • What is access.log and request.log ? Where can I find it? Do we need access to system/console to get these log files ?

Your target environment does seem to be a Cloud Service setup. In that case you won't have direct access to neither system console nor the file system where log files are stored. You need to go through Cloud Manager and Developer Console or use the Adobe I/O CLI Cloud Manager plugin as explained in this article. This documentation provides detailed information on available log files and log levels for AEM Cloud Services.

 

Just to double check: What AEM versions/flavors are you working with?

The instance running the sync tool is AEM 6.5? Is that self hosted or AMS based?

The instance that you are trying to reach is AEM Cloud Service?


@markusbullaadobe I was not able to get enough details from the logs. I am using AEM cloud service and my target environment also. Version is 2023.11.14227.