Blog from January, 2012

Tapestry-security, the comprehensive security package for Tapestry just got a bit more comprehensive with the new 0.4.1 release! 0.4.x is tested with and meant both for T5.2 and T5.3.

We picked up the brand new Apache Shiro 1.2.0 release of which development snapshots we've been running against for months now. We also decided it's time to start eating our own dog food, so we delegated tapestry-security's exception handling to another module from, tapestry-exceptionpage, in order to gracefully handle security responses as redirects, ajax or not. Read more about what tapestry-security can do for you from tapestry-security guide. Special thanks to Lenny Primak for relentlessly bugging us until we just had to get the 0.4.1 out the door (tongue)

Release notes:


  • [TYNAMO-102] - Specify id for RequestExceptionHandler advice for preventing unintentional override
  • [TYNAMO-103] - @Security,, MetaDataConstants.SECURE_PAGE not honored by Tapestry security
  • [TYNAMO-105] - Warning is issued in the log file on every startup


  • [TYNAMO-87] - Redirects should honor localization
  • [TYNAMO-106] - Login screen background file (login-bg.png) is too large for the web - smaller file attached
  • [TYNAMO-109] - Allow Unauthorized and Login page to be a single page
  • [TYNAMO-110] - redirect to login page for pages secured with @RequiresXXX annotations
  • [TYNAMO-113] - Test for ajax in the AccessControlFilter.issueRedirect and issue a client-side "soft" redirect if so
  • [TYNAMO-117] - Add symbol for disabling redirect to saved request
  • [TYNAMO-118] - Store savedrequest into a cookie instead of session
  • [TYNAMO-119] - In SecurityFilterChainFactoryImpl, use componentClassResolver to resolve pageclasses to urls

New Feature

  • [TYNAMO-111] - Add support for SslFilter & PortFilter

Winter is still in full swing, but the hibernation period for Tynamo is clearly over. I don't want to steal any of Alex' thunder from his JDO release, but on the heels of it we quickly shipped another release from our module warehouse. Tapestry-exceptionpage 0.1.1 is particularly useful, so handy in fact that we even started using it ourselves (wink) Tapestry-exceptionpage forms the foundation for handling exceptions in our upcoming tapestry-security 0.4.1 release. Read more from tapestry-exceptionpage guide.

Release notes:


  • [TYNAMO-97] - tynamo-exceptionpage doesn't handle operationexceptions


  • [TYNAMO-112] - Properly handle ajax "redirects"
  • [TYNAMO-114] - Improve exception cause handling and documentation
I am excited to announce the release of the new addition to Tynamo's beautiful set of modules : tapestry-jdo . It brings the idioms that many Tapestry developers have come to enjoy w/ Hibernate and JPA to JDO users. Read more on the Tapestry JDO Guide.

This module has been a long time in the making - the initial commit of the basic functionality was added about 6 months ago when I had just finished working on a JDO based app running on Google App Engine. The module was inspired by the tapestry-jpa module at Tynamo. 

JDO as a standard is a curious beast. It was the first attempt at building solid ORM functionality for the Java platform, there were a bunch of solid implementations out there (Apache JDO, Kodo, etc); however, it somehow never managed to catch fire like Hibernate. For a while, at least for me, it felt like the standard was on its way out, giving way to JPA; yet, it keeps coming back: Google App Engine JDO support, MongoDB JDO API through DataNucleus, etc.  

Enjoy !