Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Automated Content Sync for Better Quality & Performance

Avatar

Employee

12/5/22


Automated Content Sync for Better Quality & Performance by Irina Chirita (@irina-chirita)


 

 

In today’s world, AEM content authors make frequent changes to live content. This often makes the Production environment the only place where at a given time, a combination of edits and configurations produces a certain behaviour (read: bug). Typically, it may also be the only environment with high-enough volume of relevant data to perform accurate performance testing. But it doesn’t have to be this way. Meet “Automated Content Sync”.

 

AdobeStock_415398625.jpeg

 

What is Content Sync?

 

Content sync is a repeatable approach to copy content from one environment to another, also referred to as reverse content migration, backflow, copyback etc.

While the copying process can be done manually in various ways, it has several important drawbacks: align the timing with the technical team’s schedule, reduce impact on authoring, risk of human error, costly process. A bigger challenge is the requirement to update certain references or authored properties that may be environment-specific but not driven by OSGi settings.

So how can we automate content refresh so that it happens on a daily, weekly, or on-demand basis? Could we also automatically update some properties on the lower environments to ensure accurate references?

 

 

How to “best” perform Content Sync?

 

As with most technology endeavours, it depends. One should clearly understand the asks and the constraints; for instance, do only certain content paths need syncing or would copying the entire disk volume be acceptable? Is downtime an option? Do versions need be synchronised?

Answers to these questions could feed into a personalised decision tree pointing to the solution that fits best your requirements. As an example, it could look like this:

sophieklassen_5-1670246154978.png

 

 

 

Let’s look at one option implemented by our team.

 

 

 

Example: Vault Remote Copy

 

Known also as VLT-RCP, it is a simple method to copy nodes between repositories. It can be used in CLI by passing various arguments to the “vlt rcp” command or through REST by sending calls to a server bundle installed in AEM.

The REST option gives flexibility and control of the configuration throughout the end-to-end process. For example, commands exist to create / edit / delete a task, start / stop it, retrieve progress information etc.

There can be fine-grained configuration of the nodes to be synced, the batch size, choosing only newer nodes, dealing with existing nodes, etc. It is usually a good idea to translate the selected options into business rules, so that authors have a clear understanding of (and agreement on) what the target should look like. For example:

sophieklassen_7-1670246229399.png

 


 

 

For more details check the Apache Jackrabbit site here.

 

 

 

So… what’s new?

 

Content sync options have been around for close to 10 years, so why are we talking about this now? In one word: automation.

We can more easily and readily hook content sync tools’ calls into automation software, such as GitHub actions, Azure pipelines, AWS CodePipeline etc.

This integration enables scheduling of content sync operations (for example outside of working hours) with notifications sent out automatically to Slack or Teams. Using these tools does not require admin access to AEM, the task status could be surfaced into the pipeline output.

If parametrised, the mechanism could allow synchronising Production content into a different Staging content branch. This can be used for performance testing without affecting any UAT happening on the regular branch. Possibilities are varied.

Furthermore, the pipeline could include extra steps to tailor content to the lower environment or make other updates, for example, via Groovy script.

 

Next steps

 

Understanding the various requirements and agreeing with the business users are key in choosing the best option to perform content sync, as well as documenting the expected outcome from a data perspective.

 

Automation tools bring to life the marketers’ desire of getting regular, fresh content from Production with the benefit of identifying bugs as early as possible in the software lifecycle. We could even take this idea further and design a system where the content sync processes are orchestrated so that the sync happens from Production all the way to Development.

 

All this is very exciting and there are clear benefits in terms of business ops continuity, reduced automation costs, higher quality delivered and others.

 

 

Feel free to reach out to us if you’d like to learn more about how Adobe’s consulting services can support your journey.

 


Q&A

Please use this thread to ask questions relating to this article