Hi Ben,

I'm sure tapestry-cometd can handle this. Just add a PushTarget component
to each user's page providing a "topic" and an "event". Messages are pushed
to the PushTargets via PushManager.broadcast(topic, message). Every message
will fire the component event and will either return a block or add a
script via the AjaxResponseRenderer (or both). The response is then pushed
to the client. Block updates will either append or prepend to the
PushTarget's element or will replace the current contents.

One improvement that could be made to tapestry-cometd is to allow 1
PushTarget to subscribe to multiple topics. This way each user could have a
private topic (for peer to peer messages) and a public topic that everyone
can see. The current workaround is to have two PushTargets on a page.

More info here:
https://github.com/uklance/tapestry-cometd/wiki/Pushing-javascript-to-the-client
https://github.com/uklance/tapestry-cometd

Demo app here:
https://github.com/uklance/tapestry-cometd-demo

Reply via email to