Simple Question, Complex Answer?


#1

I am trying to make a multi-user DB application. My question is how
do I keep the multiple users’ browser view in sync when a user updates
the database? I want to avoid polling the server client-side to see
if it has been updated. Is there any way the server can push a
notification to all the other clients that the database has been
updated and that it needs to refresh the data (I refresh will be done
via AJAX so I can avoid a hard refresh).

My problem:
User A logs in and viewing table A.
User B logs in and viewing table A.
User C logs in and viewing table B.

User A updates table A.
User B viewing old table A.
User C still viewing table B.

Solution I want:
User A updates table A.
User B viewing updated table A. (push notification received and table
is updated)
User C still viewing table B. (push notification ignored)

Any help would be appreciated.


#2

Have you looked at Comet?
http://en.wikipedia.org/wiki/Comet_(programming)

Do a quick search for Comet and Ruby - a few of the results point to
Juggernaut, a Rails plugin that implements Comet:

  1. http://ajaxian.com/archives/juggernaut-comet-for-rails

http://dineshakadinks.blogspot.com/2008/03/comet-ruby-on-rails.html

Good luck. Summarize back what you find if you get a chance.

– Bosco