[Seaside] Fatal Flaw in my Web App!

Richard K Eng richard.eng at rogers.com
Fri May 23 19:31:07 UTC 2008

I have a puzzling problem. I've made some changes to do what you suggest. 
I've subclassed WASession:

WASession subclass: #GSSession

...with instance variable #database. I've created #unregistered as follows:

    database ifNotNil: [database logout].
    super unregistered

I've put the following in #GSRegistrationLogin (my root component for the 

    self application preferenceAt: #sessionClass put: GSSession

And when the user logs out, the following is executed:

    html anchor
        callback: [self session expire];
        with: [html paragraph style: 'color: red'; with: [html strong: 

But the #unregistered doesn't always get executed. Sometimes, not at all! 
And sometimes, much later, as in the *next* time I login and logout (?!). 
What am I doing wrong?!! Shouldn't session expiry *always* cause 
#unregistered to execute?


John wrote:

I usually store my glorp session on the seaside session, and upon
expiring, it sends logout to the glorp session.

This has the dual benefit of the above, and having easy accessor to
glorp in the form of:

self session glorpSession

anywhere in my Tasks/Components.


More information about the seaside mailing list