[Seaside] Seaside + Comet
Esteban Robles Luna
esteban.roblesluna at gmail.com
Fri Jan 19 22:29:32 UTC 2007
Thanks for your replay Lukas!
On 1/19/07, Lukas Renggli <renggli at gmail.com> wrote:
> > I`m a newbie with seaside and comet. After loading successfully
> > SeasideComent on VW, I looked at the examples of Comet.
> > In the counter example we can see these code:
> > id: 'count';
> > update: self count contents asString)
> > The update method receives a string to be updated in the page. I`m
> > trying to reproduce the renderOn: behaviour of a SUComponent so that
> > the string to be pushed is a result of the rendering process.
> SUElement has that already. Try something like:
> id: 'count';
> render: [ :r | r anchor callback: [ ... ]; with: ... ])
The problem is that html is undefined in my context. May be what I`m
trying to reproduce is somewhat complicated. I`m going to explain it
* I have a component that understands renderOn:
* Also the component has a pusher for updating itself.
* I have a process that periodically (5 seconds) sends an update
message to the component.
I want to reuse the renderOn: behaviour. For example the update
message to the component don`t have a reference to the render, so my
problem is to get a render in order to use the renderOn message.
How do I get the render in that context? is it possible?
> > The problem is that the updater is not working after the re-rendering.
> > I supposed that the problem is with the push-like code. Is there a
> > solution for using comet and the renderOn: transparently?
> I don't exactly understand what you are trying to do. If you push code
> containing callbacks, then all the connected sessions will receive
> exactly the same string. This means all the callbacks will point (and
> be evaluated) in the session that did the rendering. Moreover people
> will be able to hijack the initiating session, as you just hand out
> your private key to everybody. I don't think you want that, but
> unfortunately this cannot be avoided easily.
> What I suggest you to do is to just trigger an event handler in all
> your clients so that they can make an update request on their specific
> Was this what you wanted to do?
> Lukas Renggli
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
More information about the Seaside