I'm working in a case require fairy complex use of page views.
Each content object will have page view, and this should be accessed easily so that we can do various things related to it (sorted on catalog result, display, calculate popular metter ...). The closest equivalent is the youtube video's view.
I'm thinking of some possible ways to implemented this:
Use annotation storage & indexer to create portal_catalog index & metadata.
Use indexer only (either use volatile attribute or update index base on the previous index) so that we don't have to write a frequently changed data twice. Page view is only store in object brain.
Use a relational database. Then how can we make it work with portal_catalog ?
Use a wrapper layer before Plone to do analytics and get desired data through some API. This scarify flexibility but helps reduce much work on Plone side (write event subscriber, check session, cookie ...), and the performance should be better ?
Your ideas/experience on this ?