This Week in Grails (2012-05)

Rob Fletcher has been doing some great work on scaffolding. Check out this slick demo app on Cloud Foundry. It uses his Fields plugin (the successor to the bean-fields) and Twitter Bootstrap.

I realized this week that I’d missed the transition of Rob’s blog to its new home and had missed some interesting posts: Organizing Functional Tests and Optional Tag Bodies.

When I switched to 2.0 for development of the Spring Security Core plugin, the PDF of the docs was clipped on the right and I assumed it was because of a 2.0 bug so I removed the PDF from the docs page. I tried generating PDF docs this week for another project and it worked fine and I realized that it was actually a combination of long non-breaking strings and the new larger font that was the issue, so I added in some spaces to allow line breaks and updated the docs page with a link to the PDF.

I also did some work to make working with Heroku a bit better. There was a reported issue with using SSL and Spring Security so I released a small update of the spring-security-core plugin (v1.2.7.2) to address that and updated the Heroku docs about how to use it. There wasn’t a need to update the Heroku plugin – it involves a configuration setting for the security plugin. I’m now also generating PDF docs for the Heroku plugin which you’ll see at the docs link.

Another standing issue with Heroku and Spring Security has to do with sessions when running multiple instances of an application. Heroku doesn’t offer any session clustering or session affinity options, so authentication will usually fail because after successfully logging into one instance, you’ll get redirected and there’s a good chance you’ll end up on an instance that doesn’t have your authentication details in its session. I started playing with an approach to session management that stores sessions in a database (either a database or a NoSQL store or even Memcached) and released a preliminary version of the database-session plugin to test it out, but it’s not ready yet. It was a mistake to release it as 1.0 – it should have been a snapshot release – so don’t use it yet.

I also updated the runtime-logging to work with Grails 1.3 and 2.0.

If you want to keep up with these “This Week in Grails” posts you can access them directly via their category link or in an RSS reader with the feed for just these posts.

Translations of this post:


There were 8 new plugins released:

and 22 updated plugins:

  • asynchronous-mail version 0.4. Send email asynchronously by storing them in the database and sending with a Quartz job
  • auto-test version 1.0. Monitors the project directory and attempts to run only the subset of tests affected by what changed
  • bean-fields version 1.0.BUILD-SNAPSHOT. Provides a suite of tags for rendering form fields for domain and command objects
  • cxf-client version 1.2.6. Use existing (or new) Apache CXF wsdl2java generated content to invoke SOAP services
  • dojo version Integrates the Dojo javascript toolkit
  • elasticsearch version Adds support for the RESTful search engine
  • external-config-reload version 0.4.9. Polls for changes to external configuration files (files added to grails.config.locations), reloads the configuration when a change has occurred, and notifies specified plugins by firing the onConfigChange event in each
  • fields version 1.0.1. Customizable form-field rendering based on overrideable GSP template
  • grom version 0.2.3. Sends notifications on Windows, Linux, and Mac
  • jesque version 0.3.0. Groovier approach to using jesque
  • jesque-web version 0.3.0. Web interface to view and manage jesque queues, jobs and workers
  • jquery-mobile version 1.0.4. Provides jQuery mobile framework resource files
  • lesscss-resources version 1.0. Optimises the use of css files, compiling .less files into their .css counterprt, and place the css into the processing chain to be available to the other resource plugin features
  • paypal version 0.6.5. Adds PayPal integration
  • redis version 1.2. Provides integration with a Redis datastore
  • routing version 1.1.7. Send and route messages to a wide variety of destination endpoints directly from your Controllers and Services using Camel
  • runtime-logging version 0.4. Control Log4j logging at runtime
  • spring-security-core version The official Grails security plugin; integrates with Spring Security
  • spring-security-saml version 1.0.0.M13. SAML 2.x support for the Spring Security Plugin
  • spring-security-shibboleth-native-sp version 1.0.3. Shibboleth Naitive SP support for the Spring Security grails plugin
  • twitter-bootstrap version Twitter Bootstrap CSS framework resource files
  • twitter4j version 0.3.2. Send and receive Twitter messages using the twitter4j library

Interesting Tweets


User groups and Conferences

2 Responses to “This Week in Grails (2012-05)”

  1. I have a client that has a policy of no-session-affinity. I ended up using a variation on TokenBasedRememberMeFilter/Services. I also gave them the option of using a distributed cache, but they wanted to use the cookie approach.

  2. […] rest is here: An Army of Solipsists » Blog Archive » This Week in Grails (2012-05) Bookmark on Delicious Digg this post Recommend on Facebook share via Reddit Share with Stumblers […]

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.