Community Content Storage

New, as of AEM Communities 6.1, is the ability to use a common store for community content, also referred to as user generated content (UGC).

When community content is stored in a common store, all UGC is directly accessible for create, read, update, and delete (CRUD) operations from all AEM author and publish instances.  Thus, with the common store approach, there is no need to synchronize UGC across AEM instances using reverse/forward replication, as was necessary in previous releases of AEM social communities.  

There is a choice from several options for storing community content.  All options implement a new interface through which UGC is accessed, the SocialResourceProvider API (SRP), but not all options provide a common store for UGC.

Understanding the characteristics of each option is crucial to the decision process for choosing the appropriate common store and underlying deployment.

For deployment information, visit Recommended Topologies.

 

Attention

The common store applies only to UGC.  It does not affect where site content is stored (such as page content), and does not affect the secure handling of user registration, profiles and groups between AEM instances (see Managing User Data).

Storage Options Overview

The available options are :

  • Adobe Social Common Store
    Enabled with configuration steps described later. With this option, the UGC is persisted remotely in the Adobe Social cloud using a cloud service hosted and managed by Adobe.  It requires working with an account representative to provision the account with a specific license for AEM Communities Extension.
  • Mongo Common Store
    Enabled with configuration steps described later. With this option, the UGC is persisted directly in a local MongoDB instance.
  • JCR Store
    Enabled by default. With this option, the UGC is persisted in the same JCR repository as the AEM instance invoking the SRP API. Achieving the required common store concept with JSRP requires the use of a cluster for the publish instances.

Characteristics of Storage Options

The characteristics of each option are :

  • Adobe Social Common Store
    • uses Adobe Social Resource Provider (ASRP) implementation of SRP
    • requires an associated cloud service provided and supported by Adobe
    • requires choice of a datacenter in a specific geography (US, EMEA, APAC)
    • makes available "Unified Moderation" when an Adobe Social license is obtained
    • requires all programmatic access to UGC be through the SRP API
      • no JCR access nor browsing of UGC
    • suitable for TarMK publish farm
    • suitable when there is no intent to invest in local MongoDB technology
  • Mongo Common Store
    • uses Mongo Social Resource Provider (MSRP) implementation of SRP
    • requires a local, licensed install of MongoDB
    • requires a local install of Apache Solr
    • requires all programmatic access to UGC be through the SRP API
    • suitable for an exisiting TarMK publish farm
    • suitable for a MongoMK or RdbMK cluster
    • suitable when expecting large volumes of community content
  • JCR Store
    • uses JCR Social Resource Provider (JSRP) implementation of SRP
    • requires all programmatic access to UGC be through the SRP API
      • supports portability to future deployments
      • only stores UGC in the JCR repository associated with the local AEM instance
      • no replication mechanism between author and publish
      • no replication mechanism among publish instances in a TarMK farm
    • moderation is performed only from the publish environment
    • does not support a TarMK publish farm
      • UGC is not synchronized among each publish instance's JCR repository
    • suitable for a single publish instance
    • suitable for a MongoMK or RdbMK publish cluster
    • suitable for development, demos, training  (non-production environments)

Remarque

SRP for Custom Components : The SocialResourceProvider API is available to developers of custom components for the purpose of accessing UGC without regard to the underlying topology.  See Accessing UGC with SRP coding guideline.

Storage Configuration

Selection of the default storage option, based on the underlying deployment, is made through the

Storage Configuration console

For additional configuration requirements, view

If no storage option is actively selected, JCR store is enabled by default, which supports a non-production environment.

UGC Never Replicated

In the author environment, an author creates page content and replicates it to the publish environment.  When a page includes an interactive AEM Communities feature, such as comments, reviews, forums, or Q&A, the interaction by (registered) site visitors on a publish instance results in user generated content (UGC) entered in the publish environment.  

Previously, this community content was replicated among publish instances and reverse replicated to author instances to enable moderation of UGC by administrators.  This forward and reverse replication was problematic.

Beginning with AEM Communities 6.1, the need for replication of UGC has been eliminated by using shared storage for UGC, as described above.

Managing User Data

Also of interest to Communites are usersuser groups, and user profiles.  This user-related data, when created and updated in the publish environment, needs to be made available to other publish instances when the topology is a publish farm.  

As of AEM Communities 6.1, user-related data is synchronized using sling distribution instead of replication.  When the topology is a single publish instance or a publish cluster, synchronization is not needed, therefore user synchronization is not enabled by default.

For more information visit User Synchronization.

Upgrading to AEM Communities 6.1

When upgrading to AEM Communities 6.1, if pre-existing UGC needs to be retained, then steps should be taken depending on whether the AEM 5.6.1 or AEM 6.0 community used Adobe Social cloud or on-premise storage of UGC.

For details, visit Upgrading to AEM Communities 6.1.

​