I have a solution to this exact problem. I'll post it shortly.  


On Sep 20, 2011, at 7:24 PM, Geoff Callender 
<[email protected]> wrote:

> Hi Taha,
> 
> Let's say there was a @SessionRequired annotation to put on methods. When 
> session expires it redirects to a "session expired" page. But how would it 
> determine whether session has expired vs. first time in? It would have to 
> register sessions centrally somehow. More than that, it would have to 
> register current page(s) within session, and remove them as you leave the 
> page. Is that what you have in mind?
> 
> On 21/09/2011, at 12:05 AM, Taha Hafeez wrote:
> 
>> Hi Lenny
>> 
>> I am using ajax grid in many of my applications. As I am using 5.2.6
>> on some of the projects, I use my tapestry.js hack for it.
>> 
>> The inability of grid to provide zone parameter (as others components
>> do) instead of inplace is a limitation but I think this can be sorted
>> out with the new ajax support.(I have not tried it yet but I think it
>> can be done).
>> 
>> Regarding session expiry, I think a simple redirect to a session
>> expired page can be useful both for ajax and non-ajax situations.
>> 
>> 
>> On Tue, Sep 20, 2011 at 1:24 PM, Lenny Primak <[email protected]> wrote:
>>> Hi guys,
>>> 
>>> I just want to share my thoughts with you regarding my experience building 
>>> pretty simple infrastructure.
>>> Don't get me wrong, I love tapestry but I think there's definitely room for 
>>> improvement here.
>>> 
>>> My goal was simple:  Develop a page that has an Ajax Grid that is backed by 
>>> a database table.
>>> 
>>> To get this into somewhat decent shape it took about one man-month, which I 
>>> think could be improved.
>>> After a minor hiccup with JPA and problems with multiple database support, 
>>> I got the basic page up and
>>> running rather quickly. (kudos)
>>> Afterwards, I started noticing minor issues that took major time to fix.
>>> What I wound up with is a hodgepodge of hacks/workarounds to get everything 
>>> just right.
>>> Lots of JavaScript and event handling code.
>>> I believe that this stuff should work out of the box.
>>> 
>>> It all boiled down to one major issue:
>>> Tapestry does not know how to deal with Ajax and expiring sessions.
>>> I would either get an error dialog, an exception, NULL data, or all of the 
>>> above when:
>>> - clicking on the Grid pager
>>> - clicking on a button that would update the grid (Ajax)
>>> 
>>> Basically there are about 10 corner cases that deal with expired sessions 
>>> that
>>> were very hard to track down.
>>> 
>>> All my hacks/workarounds do one thing:  When Ajax call is made,
>>> and the session is invalid (or new w/o SetupRender being called)
>>> I redirect to the same page, causing a reload or relogin if security 
>>> credentials also expired.
>>> 
>>> I will try to post as much of this as I can as soon as I can on the wiki or 
>>> github or both,
>>> but I think this functionality should work out-of-the box.
>>> 
>>> Thanks for the great product, and will be going into production soon.
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>>> 
>> 
>> 
>> 
>> -- 
>> Regards
>> 
>> Taha Hafeez Siddiqi (tawus)
>> http://tawus.wordpress.com
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to