[Seaside] multi-windows and javascript and frames

Derek Brans brans at nerdonawire.com
Tue Jul 8 18:01:28 CEST 2003


>
>> What about
>>
>> html  anchorWithPopupOn: someComponent
>> callback: aOneArgumentBlock
>> text: aString
>>
>> When someComponent answers,
>> the one-argument block is evaluated with the answer
>> and the parent page is reloaded
>
> Sounds good.
>
Much easier said than done.  Here is my line of working so far:

With a popup I now have two component hierarchies.  As a result, I need 
to have two loops of code like the one in WAComponentSession>>render 
(which get repeated).  It seems that with a popup there are now two or 
more "dialogues" going on between the user and the server.

My instinct is that using one cache of continuations and one state 
registry for every popup, frame, or "dialogue" is abusing Session.  A 
session has up until now represented a linear flow of one dialogue 
between user and server.

This leads to the idea of moving all backtracking / response behaviour 
into a separate object, perhaps called a "Scene" or "ControllerScene".  
A Scene would represent one linear dialogue (and all it's backtracking) 
between user and server.  I think of Scene because in theatre a scene 
has a setting (the window and the component hierarchy) and dialogue 
(linear flow), among other things.  Several scenes could be taking place 
at the same time in different windows or different frames.  The idea is 
1 Scene = 1 Window or Frame = 1 linear dialogue

That leaves a Session to be responsible for timeing-out and other 
details of continuity between "scenes" (like inter-scene communication).

In this view of the world, Scenes would become the request handlers, 
instead of Sessions.

How does this sound so far?



More information about the Seaside mailing list