[Bese-devel] expired sessions
Marco Baringer
mb at bese.it
Fri Jul 23 11:04:09 UTC 2004
thanks to a break down on the bus i had some time to think about
this, here's what i've come up with:
we know that the server will call the application's SERVICE method,
which will call the session's SERVICE, which will call the
session-frame's SERVICE method, which will call the action, so if we
bind a special variable around the call to the application's SERVCIE
method all of the interested entities can set it, and if they do we
get the overriding of the defaults in the order we want (ie if the
application sets "it" to something the session can still override that
value, that second value can then be overridden by the action, all of
this via a simple assignment to a special variable.). after the
various SERVICE methods have been called (and have returned) we then
call render-on on the current frame' root-component. this component
can then, by rebinding this special variable around calls to render-on
of nested components, setup whatever values its wants (which resoles
the range-view issue we had with ideas 1 and 2). so while in the
"action phase" we'll probably set the value directly during the
"render-on phase" we'll probably just rebind it.
to allow makimum flexibilty the value of this special variable (called
*action-url-generotor* or something) will be a methed which takes 4
args, the current context, the session id, the frame id and the action
id, and returns a string which we append to (application.url-prefix
application) to generate a valid url.
afaict this solves all of the use-cases i had in mind. i like this
idea for 2 reasons:
1) i find it simple conceptually.
2) it's easy to implement.
unless someone points out a major flaw with this idea i'll implement
it in the next few days (before 0.3 (yes, i know, ucw will never
stabilize and the docs will never get written, sorry)). if anybody has
ideas for improvements, or just questions, please speak up.
--
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list