[Seaside] Comet and #call:

andres andres at lifia.info.unlp.edu.ar
Fri Jul 30 15:41:10 UTC 2010


Hi Julian, thanks for the response. I tried working with "self session 
returnResponse:" but the problem remains since the response I send 
replaces the whole page. I guess that if that behaviour is wired in the 
render loop I would need to go deeper and somehow change the way 
callbacks are handled. I am thinking two alternatives here:

1. Create a new call mechanism that somehow cancels the response, so 
that the web client stays unaltered (is this possible?). Then push the 
page via comet to update the required id. The question here is: can I 
cancel the response but let the continuation keep its flow?

2. Use an ajax update, which works ok from the rendering point of view 
and emulate the continuation flow. Can this be done? Is something in 
Seaside as "forking" a new continuation (like a child process)?

Also, could you recommend any readings on seaside internals to 
understand how the control loop works? Again, any hints are much 
appreciated!

Best regards,
         Andrés

Julian Fitzell escribió:
> That's because the Render Loop, after processing callbacks, then
> returns the rendered page as the response. If you want to return
> something else, either you don't want to be using the Render Loop, or
> you need to manually return a response in the callback (in 2.8: "self
> session returnResponse: ..."
> 
> On Thu, Jul 29, 2010 at 10:01 PM, andres <andres at lifia.info.unlp.edu.ar> wrote:
>> I guess I must be missing something because I see no difference between
>> #call: and #show:, except for the fact that #call blocks and #show does not.
>>
>> When I do
>>
>> MyApp>>...
>>        self
>>            update: #componentPane
>>            with: Component1 new.
>>
>> The network traces in firebug shows that only the required resources for
>> Component1 are requested to the server. On the other hand when I hit the
>> link rendered by:
>>
>> Component1>>renderContentOn: hmtl
>>
>>            html anchor
>>                    callback: [self show: Component2 new];
>>                    with: 'A call'.
>>
>> firebug shows that everything that belongs to the page is requested again to
>> the server (all the .css, .js, etc).
>>
>> Thanks,
>> Andrés
>>
>>
>> Lukas Renggli escribió:
>>>> code in WAComponent>>call: without any luck :(. So, do you think this can
>>>> be
>>>> done? Am I missing something important about the way Seaside works? Any
>>>> hints are very much appreciated!
>>> Did you look at #show:/#show:onAnswer:? This is the #call:/#answer:
>>> without continuations and without the forced full-page refresh.
>>>
>>> Lukas
>>>
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 


More information about the seaside mailing list