Accessing UGC with SRP accessing-ugc-with-srp

CAUTION
AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our technical support periods. Find the supported versions here.

About SRP about-srp

All AEM Communities components and features are built on the social component framework (SCF), which invokes the SocialResourceProvider API to access all user generated content (UGC).

Before a community site is created, the storage resource provider (SRP) must be configured to select an implementation consistent with the underlying topology. The SRP implementations are based on three storage options:

  1. ASRP - Adobe on-demand storage
  2. MSRP - MongoDB
  3. JSRP - JCR

About UGC Storage about-ugc-storage

What is important to know about storage of UGC is, when a site is configured to use ASRP or MSRP, the actual UGC is not be stored in AEM’s node store (JCR).

While there may be nodes in JCR which shadow the UGC to provide useful metadata, these nodes are not to be confused with the actual UGC.

See Storage Resource Provider Overview.

Best Practice best-practice

When developing custom components, developers should be careful to code independently of the current chosen topology, thus retaining flexibility to move to a new topology in the future.

Assume JCR Not Available assume-jcr-not-available

Methods specific to JCR should avoided.

Methods to use:

Methods to avoid:

  • Node API
  • JCR events
  • Workflow launchers (which use JCR events)

Use Search Collections use-search-collections

Different SRPs can have different native query languages. It is recommended to use methods from the com.adobe.cq.social.ugc.api package to invoke the appropriate query language.

For more information, see Search Essentials.

Resources resources

recommendation-more-help
5d37d7b0-a330-461b-814d-068612705ff6