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]

Reply via email to