Estoy interesado en escuchar sus opiniones sobre cuál es la mejor manera de implementar un flujo de actividad social (Facebook es el ejemplo más famoso). Los problemas / desafíos involucrados son:
- Diferentes tipos de actividades (publicar, comentar ...)
- Diferentes tipos de objetos (post, comentario, foto ...)
- 1-n usuarios involucrados en diferentes roles ("Usuario x respondió al comentario del Usuario y en la publicación Z del Usuario")
- Diferentes vistas del mismo elemento de actividad ("usted comentó .." vs. "su amigo x comentó" vs. "usuario x comentó .." => 3 representaciones de una actividad de "comentario")
.. y algo más, especialmente si lo lleva a un alto nivel de sofisticación, como lo hace Facebook, por ejemplo, combinando varios elementos de actividad en uno ("los usuarios x, y y z comentaron esa foto"
Cualquier comentario o sugerencia sobre patrones, documentos, etc. sobre los enfoques más flexibles, eficientes y potentes para implementar dicho sistema, modelo de datos, etc. sería apreciado.
Aunque la mayoría de los problemas son independientes de la plataforma, es probable que termine implementando dicho sistema en Ruby on Rails