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.
Solved! Go to Solution.
Views
Replies
Total Likes
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
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
Views
Likes
Replies