Grails Diary - Week 26 to 29 in 2014

22 July 2014

Back from a vacation where I helped build the IT infrastructure at the Roskilde Festival, and a busy couple of weeks at work, it is now time for an extended version of the Grails Diary, covering the last weeks. I expect to be back on a weekly Grails Diary track again now :)

Since the last diary, there have been a new release of Grails: 2.4.2 and 2.3.11. This release consists primarily of bugfixes and performance tuning improvements.

The Groovy team has provided a bug-fix release, version 2.3.4 is available, with the release notes here. The new Groovy webpage is available in a beta version. It is really looking great, but there is still a few things that are missing. Guillaume has written a blog on 'Feedback and actions for the new Groovy website', and Cedric elaborates a bit on the technical details.

The Gradle team has just updated to the major version 2.0. It has been released with Groovy 2.3 and Java 8 support, and you can find the release notes here.Hans Doctor reveals the roadmap for Gradle beyond version 2.0. Ratpack has been updated to version 0.9.6.

The videos from GR8Conf EU has started to be published. There are a few sessions, where the recording failed or are missing, but most of the talks are already online, and the last of them will be comming shortly. Check the Videos section of this blog post. Göran Ehrsson has since started to release a series of plugins for a CRM system he demoed in his talk (GR8 CRM). You can find more info at, but the presentation is really hands on, and a great way of architecturing your application with plugins!

Tickets for GR8conf US is still available, the conference starts next week, and the lineup is impressive!

My printed version of 'Grails in Action 2' arrived the other day. Congratutlations to Peter and Glenn for this great book on using Grails!


Podcasts and Videos of Presentations

Blogs, Articles, etc.

New Plugins

  • GR8 CRM Contact Management UI This plugin extends crm-contact and provides contact management user interface for GR8 CRM applications.
  • GR8 CRM Contact Management Provides "headless" contact management features for GR8 CRM. This plugin provides no user interface, just domain classes and services for contact management. For user interface see the crm-contact-lite plugin which provides a twitter bootstrap user interface.
  • Sencha Grails Asset Pipeline Plugin for Sencha Applications An add-on for the Asset Pipeline Plugin that understands how to resolve file dependencies for Sencha Ext JS applications.
  • GR8 CRM Tagging Support Provides tagging support for GR8 CRM
  • Twitter Bootstrap UI for GR8 CRM This plugin provides Twitter Bootstrap layout for GR8 CRM applications.
  • Apache Shiro Security for GR8 CRM This plugin leverage the shiro plugin to authenticate and authorize GR8 CRM users.
  • Basic Security Features for GR8 CRM This plugin provides basic security feature for GR8 CRM. Specific security implementations exists for Apache Shiro (crm-security-shiro).
  • Manage installed features in GR8 CRM This plugin manages installed "features" in GR8 CRM. A feature is a unit of functionality that can be enabled or disabled per user role.
  • GR8 CRM Dynamic i18n Override i18n messages in your database to allow sysadmins to modify labels, help texts, etc. in your application. This plugin is based on the 'i18n-db' plugin and adds GR8 CRM multi-tenancy support. If you're not using GR8 CRM please use i18n-db instead.
  • GR8 CRM Core Plugin GR8 CRM Core Functionality. See for more information.
  • Runtime Datasources Plugin Allows an application to add or remove JDBC datasources at runtime
  • Groovyschema Grails plugin Declaratively validate deserialized JSON objects.
  • j2ssh SSH Plugin Uses the j2ssh library to provide ssh access
  • Grails Cloudinary Plugin Simplifies the usage of the cloudinary service at
  • AngularJS Annotate Asset-Pipeline Plugin Provides AngularJS dependency injection annotation support for the asset-pipeline static asset management plugin.
  • Sequence Number Generator A Grails service that generate sequence numbers from different sequences, formats, etc. You can control the starting number, the format and you can have different sequences based on application logic. The method getNextSequenceNumber() is injected into all domain classes annotated with @SequenceEntity. It returns the next number for the sequence defined for the domain class.
  • Repository for Persistent Selections This plugin is an add-on to the 'selection' plugin ( and let users save selections to the database for later use. The plugin provides SelectionRepositoryService to interact with selections and a Twitter Bootstrap user interface for saving and managing saved selections.

Updated Plugins

  • AngularJS Resources Plugin Angular JS resources plugin
  • AngularJS Template Asset-Pipeline Plugin Provides AngularJS template support for the asset-pipeline static asset management plugin.
  • Facebook Authentication for Spring Security Facebook Authentication for Spring Security Core plugin
  • Unified Selection The selection plugin provides unified selection of information. It uses a URI based syntax to select any information from any resource. Grails plugins can add custom search providers. Example 1: gorm://person/list?name=Gr%25 Example 2: ldap:dc=my-company&dc=com&cn=users Example 3: bean://myService/method Example 4:
  • Drop Box Plugin for Grails Adds integration with the DropBox API. Here with this plugin you can use all DropBox services within from your Grails application
  • Grails Postgresql Extensions Plugin This plugin provides hibernate user types to support for Postgresql Native Types like Arrays, HStores, JSON,… as well as new criterias to query this native types
  • MongoDB Create-Drop Provides applications using MongoDB with the ability to mimic the "create-drop" behaviour available for other databases.
  • Grails Mandrill Plugin This is a simple wrapper for the Mandrill REST API (
  • Poly Driver Plugin Provides the ability to specify a different preferred browser for a specific Geb specification class.
  • Ajax Dependancy Selection Plugin Defines next auto completion/selection form field values ensuring it is bound on previous auto completed/selected form field. This can be used on two or more objects of hasMany and belongsTo. Provides: g:autocomplete, g:autoCompletePrimary, g:autoCompleteSecondary, g:autoCompleteSecondaryNR, g:selectPrimary, g:selectSecondary , g:selectSecondaryNR & g:selectController. g:selectAutoComplete and g:selectPrimaryNR. Now also supporting 1 object with multiple dependencies.
  • Mini Profiler plugin Shows timing and sql query information in a head-up display in a web page, useful for debugging database and other performance problems.
  • Jquery Date Time Picker Plugin Makes it easy to use jQuery date and time pickers.
  • Clover Code Coverage for Grails A plugin that integrates Clover into GRAILS projects. Clover is a Code Coverage tool that produces beautiful reports which are highly configurable and extensible. Clover not only reports which lines of code were executed during a test run, it also reports which tests hit which lines of code. Clover's reports include: Tag Clouds of your entire project that compare Complexity with Coverage A TreeMap to visualise the most complex, uncovered areas of your project Fully Cross Referenced HTML view...
  • AWS SDK Plugin The AWS SDK Plugin allows your Grails application to use the Amazon Web Services infrastructure services. It provides simple wrapper service around the official AWS SDK
  • Spring Security REST Plugin Implements authentication for REST APIs based on Spring Security. It uses a token-based workflow
  • Console Plugin A web-based Groovy console for interactive runtime application management and debugging
  • Restapidoc Plugin a RESTful API documentation plugin for the Grails web application framework. Very much inspired by Swagger API documentation, this plugin reuses the available information of Grails Domain classes and Controllers to minimize documentation effort and to improve consistency.
  • Asset Pipeline Plugin The Asset-Pipeline is a plugin used for managing and processing static assets in Grails applications. Asset-Pipeline functions include processing and minification of both CSS and JavaScript files. It is also capable of being extended to compile custom static assets, such as CoffeeScript.
  • SASS/SCSS Asset-Pipeline Plugin Provides SASS/SCSS Compass support for the asset-pipeline static asset management plugin.
  • LESS Asset-Pipeline Plugin Provides LESS support for the asset-pipeline static asset management plugin.
  • Atmosphere Meteor Plugin This plugin incorporates the Atmosphere Framework, which includes client and server-side components for building asynchronous web applications.
  • RestApiDoc Plugin The RestApiDoc plugin allows to document your Grails Rest API. Thanks to some Annotations (@), you will be ready to build a full API report (with a playground to perform test request). The plugin is based on
  • Groovy Template Grails Asset Pipeline Plugin Provides Groovy Template support (including Grails Config access) to asset pipeline js/css files
  • Plugin Bootstrap CSS framework resource files Provides Bootstrap CSS framework resour
  • Spring Security Core Plugin Spring Security Core plugin
  • Joda-Time Plugin Joda Time integration for Grails
  • Api Toolkit The Grails API Toolkit is a complete set of API tools and an API abstraction layer that automates alot of the tasks needed to build your API like api docs, real time notifications / webhooks, generated headers, responsive content type and more. This also abstracts the API away from the Controller/model with a more universal API Object that can be defined with roles, rules and definitions for handling the request and response at the front controller.
  • Cucumber Plugin Test your Grails apps with Cucumber
  • Easygrid Plugin Provides a declarative way of defining Data Grids. It works currently with jqGrid, google visualization and jquery dataTables. Out of the box it provides sorting, filtering, exporting and inline edit just by declaring a grid in a controller and adding a tag to your gsp. It also provides a powerful selection widget ( a direct replacement for drop-boxes )
  • Karma Test Runner Plugin Runs javascript unit or e2e tests with karma. Provides a test type "javascript" which can be run in any test phase.
  • Criteria Js Plugin GORM criteria for javascript
  • CXF plug-in for Grails Brings easy exposure of service and endpoint classes as Apache CXF SOAP Services to Grails.
  • Spud Blog Plugin Provides Blog / News functionality for Spud
  • REST Client Builder Plugin Grails REST Client Builder Plugin
  • Cache Plugin Grails Cache Plugin

Interesting Tweets


Conferences and meetups

GR8conf US, Minneapolis - USA, July 28th-29th, 2014.
SpringOne 2GX 2014, Dallas - USA, September 8th - 11th, 2014.
Groovy Grails Exchange, London - GB, December 12th - 13th, 2014
G48, global, TBD
GR8conf Europe, Copenhagen - Denmark, June 2nd -4th, 2015.