[Seaside] Question about #call:, continuations and responses
karsten at heeg.de
Thu Sep 18 21:25:54 UTC 2008
> No. A new process is forked in the session and the stack is thus only
> restored back as far as that point. The response is always for the
> current request.
thx, i'll have a closer look at this!
> Well, you can't call #call: or #answer: in the rendering phase, and
> you can't render in the action phase. If you're trying to #call: and
> then render in the same method (after the #call: returns) something is
right. However, in seaBreeze you don't have a rendering phase and still
the developer has code executed in an ajax-callback. I don't really see
why he should care if this code is executed via ajax or via a standard
callback, that's why i try to fix this problem.
The "only" thing that doesn't work here is the continuation thing.
Without continuation the new component is show and on answer the old
component is back in place. But with the continuation in place, so that
the #call: can return a value from the called component, there's no way
to write back to the server....
> I think the problem is that the AJAX callbacks don't do the normal
> 2-phase action/render sequence - you just receive a request and return
> a response (it's more of an event-processing mechanism from the
> server's point of view). I'm not sure that calling from an AJAX
> callback makes sense.
Imagine some sort of form that only updates its error area and once all
inputs are correct, the callback doesn't update the errors anymore but
instead calls the next component or simply answers back to the previous
Karsten Kusche - Dipl.Inf. - karsten at heeg.de
Tel: +49 3496 21 43 29
Georg Heeg eK - Köthen
Handelsregister: Amtsgericht Dortmund A 12812
More information about the seaside