Performance consideration for user generated content | Community
Skip to main content
Level 2
September 13, 2021
Solved

Performance consideration for user generated content

  • September 13, 2021
  • 1 reply
  • 590 views

Hello community, 

 

We are designing a solution where users will bookmark/save articles, data will therefore be generated by end-user and requested on each page(article) load.

 

We are considering different solutions but taking into consideration:

- Performance on page load:  (Request data (isBookmarked/isSaved) on page load or asynchronously) 

- Caching, Dispatcher and CDN: We are looking at Sling Dynamic Include but sill would like to cache this info if possible to reduce traffic

 

We are not utilizing AEM communities as it adds an unnecessary overhead in infrastructure for what we need here. 

 

Would appreciate to hear your experiences and the different solutions implemented out there with pros and cons. 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Shubham_borole

@hadriz 

Few questions to consider initially.

How many users (max) can use this functionality?

How many article pages will be there? (consider the growth)

 

 

Consider following:

- Provide a button/icon on all pages for user to bookmark or unbookmark. A servlet can be used for that.

- Manage ugc storage in Mongo/Solr set up (Specially if there are other ugc items that might be generated.) Each bookmark  can be an entry or just save an entry for each user which contains a list (may be tricky if sorting).

- Manage ugc storage in jcr. If there are going to be large number of nodes (millions eventually say after couple or more years) ugc sync for all publishers may be a problem later. In this approach utilizing cache can be helpful. But the path has to be unique per user. This can create lot of files to be cached.

 

Also consider managing bookmarked pages that will be deactivated and how those can be cleared from user's bookmarked list. This may lead to unnecessary 404s

1 reply

Shubham_borole
Community Advisor
Shubham_boroleCommunity AdvisorAccepted solution
Community Advisor
October 3, 2021

@hadriz 

Few questions to consider initially.

How many users (max) can use this functionality?

How many article pages will be there? (consider the growth)

 

 

Consider following:

- Provide a button/icon on all pages for user to bookmark or unbookmark. A servlet can be used for that.

- Manage ugc storage in Mongo/Solr set up (Specially if there are other ugc items that might be generated.) Each bookmark  can be an entry or just save an entry for each user which contains a list (may be tricky if sorting).

- Manage ugc storage in jcr. If there are going to be large number of nodes (millions eventually say after couple or more years) ugc sync for all publishers may be a problem later. In this approach utilizing cache can be helpful. But the path has to be unique per user. This can create lot of files to be cached.

 

Also consider managing bookmarked pages that will be deactivated and how those can be cleared from user's bookmarked list. This may lead to unnecessary 404s