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]
