I'm designing an application (few pages) for users to create some structured content which will be exposed to a third party application as an API providing the data as json response. I'm using AEM cloud service and I have to store the data in AEM itself (jcr or dam), I'm hesitant on storing the content in publish service as creating the content in the jcr isn't supported and also doesn't seem like a good CMS design considering the content not managed through author service.
I'm inclining towards creating the pages in author service and disabling the the authoring mode and storing the data as json property in the jcr and publishing for the API. Not the ideal solution but if anyone has some ideas or suggestions please share.
Topics help categorize Community content and increase your ability to discover relevant content.
@pm31415 I would recommend manage the page content through appropriate component authoring and write an exporter which can return the required JSON for the page. Now this JSON can be cached in the dispatcher and CDN based on the Cache-Control and /cache configurations in dispatcher. This way you do not need to store the JSON in JCR and is not a best practice.
Views
Replies
Total Likes
That's one of the options we are thiking, the authors will be adding the list of attendees and other fields and save/edit those entries on regular basis, there are few pages with similar related fields that needs to be stored in jcr as well. Authoring will have to be done in a preview mode (wcmmode=disabled) which isn't the ideal way, I believe there are some other options available to improve the authoring experience for pages like this in author instance.
Views
Replies
Total Likes
@pm31415 What do you mean -
Authoring will have to be done in a preview mode (wcmmode=disabled) which isn't the ideal way
Content authoring is done in Author in Edit mode and is the only way to author the content on a page.
Your solution should be optimal enough for ease of content changes, performant enough for the scalability and easy governance. So the approach I mentioned above.
Views
Replies
Total Likes
I wasn't very clear there. We'll author the actual page for data entry but once the page is authored, our users will have to open the the page in preview mode and use it for the data entry. The data will be stored in jcr, published and available to the external application as api.
Ideally, we would have published the page and our users would do the data entry in the live site in publish service but the data entered by the users will have to be saved in jcr which isn't allowed/recommeded in the publish service. This is the reason why our options are limited and thinking about serving this site in author service in preview mode for our users do the data entry.
Views
Replies
Total Likes
@pm31415 In your question, you mentioned you wanted to create. structured content, so is the concept of authoring in AEM comes into picture. But your earlier comment mentioned something else on the ability to do the data entry in preview or live site. Feel free to elaborate on your use case you are trying to achieve, so appropriate solution can be recommended. Thank you!
Views
Replies
Total Likes
Hi @pm31415,
I would very much advise against the approach of storing user-generated data in AEM/JCR. A proper solution for your use-case would be to set up an external database and serverless APIs in AWS/Azure. If you don't have a lot of data and you can clean it up periodically, then it won't be expensive at all. Since your client is already paying for the AEM license, this cost should be negligible for them, and it would enable you to create a proper, future-proof solution.
Good luck,
Daniel
Views
Replies
Total Likes
Views
Likes
Replies