<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">The current recommended practice seems to be to subclass WAApplication[1][5][6] especially if one wants to handle session expiration/expiry[2].  One must then register the WAApplication as the application root, and use other tricks (override another method) to get one's component (or task) into the flow [3], it seems.  </div><div class=""><br class=""></div><div class="">I am a student of the HPI book[4] (since many years ago) which trains me to keep all of my application logic (model) in my custom WASession subclass.  If I am to also subclass WAApplication, am I to move all of my application logic to that instead[7]?  </div><div class=""><br class=""></div><div class="">I ask because I am recently dealing with the first Seaside app I have deployed to the wider internet (instead of an intranet), and sessions are not expiring, a'la [4].  They will stick around for days.  My app also seems to lock up after about 24 hours which is getting annoying.  :)     </div><div class=""><br class=""></div><div class="">When I look at implementors and senders of #unregistered[8], I see that perhaps I should now be subclassing WAExpirySession instead of WASession if I want my sessions to expire (or if I want to hook into the expiration process)...?  I cannot find much documentation on the net regarding WAExpirySession.</div><div class=""><br class=""></div><div class="">Also, I am on Seaside 3.2.2 — might it help to upgrade?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Tim</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">[1] <a href="https://github.com/SeasideSt/Seaside/issues/1113" class="">https://github.com/SeasideSt/Seaside/issues/1113</a></div><div class=""><br class=""></div><div class="">[2] <a href="http://www.seaside.st/documentation/faq/how-to#254979024" class="">http://www.seaside.st/documentation/faq/how-to#254979024</a></div><div class=""><br class=""></div><div class="">[3] <a href="https://kentreis.wordpress.com/2008/01/22/" class="">https://kentreis.wordpress.com/2008/01/22/</a></div><div class=""><br class=""></div><div class="">[4] <a href="http://forum.world.st/Seaside-sessions-not-being-either-unregistered-or-GCed-td4835659.html#none" class="">http://forum.world.st/Seaside-sessions-not-being-either-unregistered-or-GCed-td4835659.html#none</a></div><div class=""><br class=""></div><div class="">[5] <a href="https://stackoverflow.com/questions/43824202/catching-the-session-expiry-in-pharo-seaside-3-2" class="">https://stackoverflow.com/questions/43824202/catching-the-session-expiry-in-pharo-seaside-3-2</a></div><div class=""><br class=""></div><div class="">[6] <a href="https://stackoverflow.com/questions/41173162/how-to-configure-seaside-3-2-session-timeouts-age" class="">https://stackoverflow.com/questions/41173162/how-to-configure-seaside-3-2-session-timeouts-age</a></div><div class=""><br class=""></div><div class="">[7] <a href="http://forum.world.st/Subclass-WAApplication-td98970.html" class="">http://forum.world.st/Subclass-WAApplication-td98970.html</a></div><div class=""><br class=""></div><div class="">[8] <a href="http://forum.world.st/Sharing-Seaside-URLs-between-users-security-what-is-actual-way-for-session-expiration-page-td4916451.html" class="">http://forum.world.st/Sharing-Seaside-URLs-between-users-security-what-is-actual-way-for-session-expiration-page-td4916451.html</a></div></body></html>