Quelle est la meilleure manière de mettre en œuvre une activité sociale stream?

Je suis intéressé à entendre vos opinions dans ce qui est la meilleure façon de mettre en œuvre une activité sociale (flux de Facebook est l'exemple le plus célèbre). Problèmes/défis sont:

  • Différents types d'activités (poster, commenter,..)
  • Différents types d'objets (message, commentaire, photo ..)
  • 1-n utilisateurs impliqués dans les différents rôles ("Utilisateur x a répondu à l'Utilisateur d'y commenter l'Utilisateur Z post")
  • Vues différentes de la même rubrique de l'activité ("vous avez dit .." vs "votre ami x, a commenté:" par rapport à "l'utilisateur x a commenté .." => 3 les représentations d'un "commentaire" de l'activité)

.. et un peu plus, surtout si vous le prenez pour un haut niveau de sophistication, comme Facebook, par exemple, la combinaison de plusieurs éléments d'activité dans l'une (les"utilisateurs x, y et z, a commenté sur la photo"

Des pensées ou des pointeurs sur les modèles, les documents, etc sur la plus flexible, efficace et puissant approches pour mettre en œuvre un tel système, le modèle de données, etc. serait appréciée.

Bien que la plupart des questions sont à la plate-forme agnostique, les chances sont que je finis par mettre en place un tel système sur Ruby on Rails

InformationsquelleAutor | 2008-10-14