For the production environment, it is strongly recommended to setup a replica set, a cluster of MongoDB servers that implements master-slave replication and automated failover.
- JK
I was going through AEM 6.1 TarMK setup. Here, we have multiple AEM instances with its own TarMK. Author is setup to replicate changes to all instances while changes in from publish are replicated using reverse replication to author and replication to all instances.
But the problem here is that AEM 6.1 has stopped reverse replication of UGC and users. Reverse replication only works for pages. So what if I have any component for UGC in AEM implementation. Does that mean, I should never go for farm implementation? Setting up MongoDB is the only option?
Solved! Go to Solution.
Views
Replies
Total Likes
You can still use a farm deployment model for your publish instances, however; starting with 6.1, UGC requires the use of Mongo SRP or Adobe SRP. To be clear, the SRP is only for UGC, other site content can continue to reside in the TarMK. More details can be found here - https://docs.adobe.com/docs/en/aem/6-2/administer/communities/srp.html
Views
Replies
Total Likes
You can still use a farm deployment model for your publish instances, however; starting with 6.1, UGC requires the use of Mongo SRP or Adobe SRP. To be clear, the SRP is only for UGC, other site content can continue to reside in the TarMK. More details can be found here - https://docs.adobe.com/docs/en/aem/6-2/administer/communities/srp.html
Views
Replies
Total Likes
Also, OOTB, Sling Content Distribution is used to distribute content instead of reverse replication now. https://docs.adobe.com/docs/en/aem/6-2/administer/communities/sync.html
Views
Replies
Total Likes
How does this sync work between all TarMK instances? Does enabling Sling Distribution agents, reverse replicates user data to author and then it syncs to other publish instances in farm? All publish instances run in silos under farm and content syncs using author.
Views
Replies
Total Likes
kaushal_mall wrote...
Also, OOTB, Sling Content Distribution is used to distribute content instead of reverse replication now. https://docs.adobe.com/docs/en/aem/6-2/administer/communities/sync.html
To be clear, Sling Content Distribution is used to sync users and user groups across a publish farm. It is not used for page content nor UGC. It does not sync users and user groups from publish back to author nor from author to publish. It is not often the case that publish users (members) should have accounts on author.
UGC requires a shared store - a storage resource provider (SRP).
In AEM 6.2, JSRP (JCR SRP) is suitable for production on a publish cluster, but the UGC will still not be visible on author, so moderation will need to take place on publish. In order to moderate on author, you need MSRP (MongoDB) or ASRPP (Adobe cloud).
- JK
Views
Replies
Total Likes
How about content moderation? If content is not available on author then how the moderators moderate the content? In other words, how to prevent unwanted/non approved UGC content to be displayed on publishers?
Views
Replies
Total Likes
rajeev.yadav wrote...
How does this sync work between all TarMK instances? Does enabling Sling Distribution agents, reverse replicates user data to author and then it syncs to other publish instances in farm? All publish instances run in silos under farm and content syncs using author.
(I think we posted at the same time.)
Just in case, the answer is No - site visitors who create accounts, or are given accounts, on a publish instances are NOT copied/reverse replication/sync'd to author. Those accounts are not approprite for author.
It may be that the synchronization of user adata among publish instances in a publish farm is managed by a process in the author environment, but the publish accounts are not created on author.
See also https://docs.adobe.com/docs/en/aem/6-2/administer/security/security/sync.html (fixed link)
- JK
Views
Replies
Total Likes
Thanks JK.
The link you share does not seems to be working. I am still wondering how the process on author will sync the data across various publish instances without syncing the content back in author. Lets say the author process triggers command on instance 1 to replicate the data on other publish instances, it can only happen if there is a relationship setup/configured with all other publish instances. Secondly, does process on author keeps on pinging each publish instance to check if something changed in user data that need to be synced across all publish instances?
Views
Replies
Total Likes
Hi,
SCD is explained here[0], basically the author instance acts as the orchestrator, so users and groups are sync'd via the author, but the content is never persisted in the author instance.
SCD is only for users and groups. There is a console on the author instance from which the communities/forum users registered on the publish instances can be viewed, the calls are made via tunnel service to pull the users from the publish instance(i.e.just the data is pulled back and displayed in the console, content is never persisted in the author instance). In this way you can administer the publish users from the author console, i.e. approve/ban users
For content, you must use AEM Communities and the storage option is xSRP. In which all the publish instances connect to a central storage area, thus when one instance writes to this storage area, the other will pick up the new content when the page is refreshed. The storage option can be Adobe or Mongo Storage Resource Provider.
The design for UGC was done with performance and scalability in mind, once you start increasing the volume of UGC, reverse replication ran into issues, hence why it is no longer supported for UGC.
Regards,
Opkar
[0] https://github.com/apache/sling/blob/trunk/contrib/extensions/distribution/README.md
Views
Replies
Total Likes
JSRP is only really suitable for single publish instance deployments, as setting up Mongo for a cluster on the publish tier is not recommended, you would need to get approval for your use case and architecture from daycare/engineering before Adobe would support it [0].
Unfortunately, quite a few of the UGC components that were previously available in previous versions of AEM are no longer available in AEM Sites and you would need to use the communities components.
Regards,
Opkar
[0]https://docs.adobe.com/docs/en/aem/6-2/deploy/platform/aem-with-mongodb.html
Views
Replies
Total Likes
rajeev.yadav wrote...
The link you share does not seems to be working.
fixed it (sorry 'bout that)
- JK
Views
Replies
Total Likes
"setting up Mongo for a cluster on the publish tier is not recommended"
Be aware - the recommendations for the platform store and for UGC store are different as the storage locations and characteristics of working with the various forms of content are not the same.
For example, from MSRP - MongoDB Storage Resource Provider
For the production environment, it is strongly recommended to setup a replica set, a cluster of MongoDB servers that implements master-slave replication and automated failover.
- JK
Views
Replies
Total Likes
Yes rajeev, By default, author will poll for changes every 30 seconds. To alter this interval you can modify polling interval in below osgi servic from felix console.
Apache Sling Distribution Trigger - Scheduled Triggers Factory
regards,
Ankur Ahlawat
Views
Replies
Total Likes
JK Kendall wrote...
"setting up Mongo for a cluster on the publish tier is not recommended"
Be aware - the recommendations for the platform store and for UGC store are different as the storage locations and characteristics of working with the various forms of content are not the same.
For example, from MSRP - MongoDB Storage Resource Provider
MongoDB Replica Set
For the production environment, it is strongly recommended to setup a replica set, a cluster of MongoDB servers that implements master-slave replication and automated failover.
- JK
Hi Janice,
my advice was in response to your comment about a publish cluster:
>In AEM 6.2, JSRP (JCR SRP) is suitable for production on a publish cluster, but the UGC will still not be visible on author, so moderation will need to take place on publish. In order to moderate on author, you need MSRP (MongoDB) or ASRPP (Adobe cloud).
When talking about a "publish cluster", I assume you are talking about AEM clustering with MongoDB, which like I said is not recommended.
From the docs[0]: "JSRP is the default provider for accessing all UGC on a single AEM instance"
If a client wishes to use MSRP with a publish farm, then as you rightly point out, Mongo recommend a replica set.
Regards,
Opkar
[0] https://docs.adobe.com/docs/en/aem/6-2/develop/communities/scf/srp.html#JSRP
Views
Replies
Total Likes
Hi Opkar,
Opkar Gill wrote...
...When talking about a "publish cluster", I assume you are talking about AEM clustering with MongoDB, which like I said is not recommended.
From the docs[0]: "JSRP is the default provider for accessing all UGC on a single AEM instance"
If a client wishes to use MSRP with a publish farm, then as you rightly point out, Mongo recommend a replica set.
Regards,
Opkar
[0] https://docs.adobe.com/docs/en/aem/6-2/develop/communities/scf/srp.html#JSRP
The quote from the docs is in the developer section in regards to what you get OOTB when setting up a single author and single publish.
If you go to topologies section [1] you'll see there is a reference to an Oak cluster (though I make no claim to expertise on setting up AEM for production!)
Hope that helps.
[1] Recommended Topologies for Communities : For Production
- JK
Views
Replies
Total Likes
Views
Likes
Replies