Valid concerns I think ... Grid needs some TLC and maybe a rethink as to how to make it work best in Ajax. It may even be necessary to freeze Grid and create a Grid2.
Unlike BeanEditForm, people don't recognize Grid as scaffolding, everyone treats it as infrastructure, so it's time to move it in that direction. On Tue, Sep 20, 2011 at 12:54 AM, 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] > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
