April 7, 2020
Estimated Post Reading Time ~

A cookbook for Replication

Before getting deep into the replication concept in AEM, I thought like “Replication is just activating/publishing a page from author to publish environment”. While going deep through this concept, I came to know about various faces and features of replication that excited me a lot. The overall objective of this article is to share comprehensive knowledge of the replication process in AEM. For some topic, as it needs in-depth expertise, I’m sharing the blog/article that I have referred so that you can get more insights on those topics.

In this article, we are going to explore the below things related to replication process in AEM:
  • A What is Definition for Replication in AEM
  • Types of Replication Agent
  • Different ways to trigger Replication
  • Replication Status
  • What is De-activation or unpublishing of a page
  • How to configure a default replication agent
  • How to ensure security during replication
  • Monitoring of Replication Agents
  • Troubleshooting  Replication Issues
  • ACS AEM Common Tools available for Replication
  • Different Replication Scenarios

Replication – Definition:

Once you are done with the authoring of your content in the author environment, the goal is to make it available on your publish environment. The process of moving a page from Author to Publish is known as Replication/ Activation/ Publishing of a Page.
When the activation request made to publish any content, the configured replication agent package the content & puts it on the replication queue. The content is lifted from the queue and transported to the publish environment using the configured protocol – HTTP. A listener Servlet at publishing instance receives the content package & updates it on publish instance. The default listener servlet in publishes instance is http://localhost:4503/bin/recieve.

Types of Replication Agent:

1) Default Replication Agent – To activate/publish content from Author to Publish Instance
2) Dispatcher Flush Agent – To explicitly flush the content from dispatcher cache
3) Reverse Replication Agent – To get user-generated data from Publish to Author
4) Static Replication Agent – To replicate a static representation of a node into the filesystem
5) Test and Target Replication Agent – To replicate your content to Adobe Test and Target, which will inherit the replication settings from the cloud configuration attached to a campaign
6) YouTube Publish – To replicate your content to YouTube whose authentication settings are managed under cloud services
7) Dynamic Media Hybrid Image Replication – To replicate Dynamic Media [Scene7] assets such as images, video metadata, etc.
8) Offloading Outbox Replication Agent – To offload the requests of Outbox Replication Agent
Apart from this, you can create your custom replication agent. For example, the following post of Nateyolles describes on how to create a custom replication agent that flushes the cached content from Akamai CDN [great post with a lot of info!]
http://www.nateyolles.com/blog/2016/01/aem-akamai-custom-replication-agent

Ways to trigger replication:

1) From the Page Editor – Publishing from the page editor is a shallow publish, i.e. only the selected page/pages is/are published and not any child pages. This is useful when you want to replicate specific pages after any content change.

2) From the Site Admin Console

3) By Tree Activation [Activating a complete section (tree) of your website] – If you are replicating your website content for the first time, then you can make use of this feature.

4) Using the Replication option in Package Manager – This wold be useful when you wants to replicate the specific set of content.


5) Using Workflows – You can approve and automate page replication by using workflows. After getting approvals for the edit, the corresponding Page/ Asset will get activated to publish environment [Example: Page Activation Workflow]

6) Scheduled Activation/Deactivation (On/Off Time) – You can schedule times for a page to be published/unpublished using the On Time and Off Time that can be defined in the Page Properties.


7) Using CURL Command – By using curl commands you can activate content from author to publish
Activate
curl -u admin:admin -X POST -F path=”/content/path/to/page” -F cmd=”activate” http://localhost:4502/bin/replicate.json
Deactivate
curl -u admin:admin -X POST -F path=”/content/path/to/page” -F cmd=”deactivate” http://localhost:4502/bin/replicate.json

Tree Activation
curl -u admin:admin -F cmd=activate -F ignoredeactivated=true -F onlymodified=true
-F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html


Replication Status Indicator [Classic UI]:

Deactivation/ Unpublishing:

When you want to remove a page from the publish environment, you can deactivate a Page in AEM and this is referred as unpublishing. While unpublishing, the page is de-activated only in Publish and it remains available on the author environment for further changes until you delete it.

Configuring a Default Replication Agent:  

We have seen the different types of replication agents available in AEM and various ways to trigger it. Let see how to configure a default replication agent in author instance, so that you can replicate your content from author to publish.
Go to Tools -> Replication -> Agents on Author
Or Hit, http://localhost:4502/etc/replication/agents.author.html
It will show you the list of replication agents available.

How to ensure Security during Replication:

While replicating a Page from author to publish environment, AEM uses the HTTP protocol. In addition to that AEM uses a proprietary binary format for replication called Durbo. Durbo includes the necessary check summing to ensure that replicated content is not corrupted during transport. If you wants to add an extra layer of security, you can go for mutual SSLMSSL for authenticating the replication request. Using MSSL, the replication agent in author and the HTTP service on the publish instance use certificates to authenticate each other.
For further info kindly refer,
https://helpx.adobe.com/experience-manager/6-3/sites/deploying/using/mssl-replication.html

Troubleshooting Replication Issues:

ACS AEM Common Tools available for Replication:

Package Replication Status Updater – As I mentioned earlier, you can do Package Replication from the Package Manager Console. This package replication status updater config will help us to check the replication status of the contents replicated through package. It is an Event handler that listens for JCR Package replications and updates the Replication Status of its content accordingly.
https://adobe-consulting-services.github.io/acs-aem-commons/features/package-replication-status-updater/index.html
Automatic Package Replication – This will explain how to auto replicate the packages using Schedulers on particular triggers or using workflow processes.
https://adobe-consulting-services.github.io/acs-aem-commons/features/automatic-package-replicator/index.html

Different Replication Scenarios:

Last but not the least, added different replication scenarios with a Pictorial representation to get a better understanding.
       
     
     



By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.