Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events
SOLVED

AEM MongoMK for UGC

Avatar

Level 1

Hi 


I have started using AEM 6.0, one of customer requirement is to persist the user generated data in MongoMK, now how to approach that I can't find any good document on this topic, although adobe documentation is there but it is not enough.

 

My problem is that I have been able to run the AEM author with Mongo DB , but whenever I enter any comments in Geometrix site , I am unable

to find where the data goes because there are tons of data in nodes collection and blobs collection.

Can some one provide some pointers on these

Thanks
Indranil

1 Accepted Solution

Avatar

Correct answer by
Employee

When UGC is stored in JCR, it can be inspected by using CRXDE. It is not supported to inspect or operate on the mongomk nodes directly as the format or structure may change in future releases. Beginning with social communities 1.4 which was available in 5.6.1 the recommended API to interact with UGC is to use SCF or the sling resource provider API directly. Using these APIs rather than JCR will allow components and applications to continue to work independent of where UGC is stored. In Communities 1.4 (in AEM 5.6.1) and 1.5 (in AEM 6.0), UGC can be stored either in JCR (JSRP) or in Cloud Storage (ASRP). Beginning with Communities 1.7 that will be released soon, UGC can also be stored in a local mongo storage (MSRP).

Documentation on SCF can be found here: http://docs.adobe.com/docs/en/aem/6-0/develop/social-communities/scf.html

An example for extending Community components is here https://github.com/Adobe-Marketing-Cloud/aem-scf-sample-components-extension

View solution in original post

3 Replies

Avatar

Employee Advisor

Hi,

The MongoMK does store the node data in its own format, so you cannot directly consume them directly. You are not supposed to do that, because at that level you are bypassing all the mechanics of JCR and the MongoMK implementation. So use the JCR API to access the data.

kind regards,
Jörg

Avatar

Correct answer by
Employee

When UGC is stored in JCR, it can be inspected by using CRXDE. It is not supported to inspect or operate on the mongomk nodes directly as the format or structure may change in future releases. Beginning with social communities 1.4 which was available in 5.6.1 the recommended API to interact with UGC is to use SCF or the sling resource provider API directly. Using these APIs rather than JCR will allow components and applications to continue to work independent of where UGC is stored. In Communities 1.4 (in AEM 5.6.1) and 1.5 (in AEM 6.0), UGC can be stored either in JCR (JSRP) or in Cloud Storage (ASRP). Beginning with Communities 1.7 that will be released soon, UGC can also be stored in a local mongo storage (MSRP).

Documentation on SCF can be found here: http://docs.adobe.com/docs/en/aem/6-0/develop/social-communities/scf.html

An example for extending Community components is here https://github.com/Adobe-Marketing-Cloud/aem-scf-sample-components-extension

Avatar

Level 10

The reason why there is no documentation about saving user data in Mongo in AEM is because this was not an intended use case. The use case was still the JCR or relational database. I will check with product management to see if they want an article on how to build an OSGi service that saves data in Mongo.