Grails Diary - Week 22 and 23 in 2014

10 June 2014

The diary this time covers two weeks, as the last week was GR8conf EU week, and I didn't have the time to write it, being one the crew for the conference. 

The last couple of weeks have offered a new release of Groovy: 2.3.2 . The previous two on the 2.3 branch generates faulty bytecode for inner classes, so an upgrade an a recompilation with the new version is recommended.

There have been lots of other releases in the Groovy community:  Griffon 2.0.0.BETA , Gradle 2.0-rc-1 , and Ratpack version 0.9.5

Groovy now runs on Android, as Cédric Champeau demoed during GR8Conf. There have been quite a bit of twitter activity on this, and Gregor Petrin has made a Flappy Bird style game as a demo.

The GR8Ladies in Minneapolis is running workshops for women interested in Groovy, the next one is at june 28th.


A few notes from GR8conf

The presentations I went to was impressive, and probably forgetting a lot, here are a few thoughts on the conference talks.

I attended Lari Hotari's very first conference talk with the title "Ratpack and Grails 3", and it was a great debut, later I also attended his "Performance tuning grails applications", the later also a general reminder on how to do performance tuning. 

Göran Ehrsson was impressive in demoing his work on a CRM system based on lots of plugins handling each their separate part of the application. It was a nice talk on architechture, with an convincing demo.

The most enternaining (and WTF generating) session was Noam Tenne and his Groovy Puzzles, catching lots of traps, pitfalls and end cases. If you find a small example that would fit as a problem, please email them to, the best ones are promised a cool Jfrog T-shirt! 

All the talks will be available as videos, once procesed, and the one I'm looking forward to the most is Rob Fletcher and his "Idiomatic Spock" talk. He mentioned afterwards that it was one of his best experiences as a speaker, and he is pretty good. I did not see the talk, but have heard it was fantastic.

Coolest gimmick award definitely goes to Cédric Champeau, for live merging the pull request for Groovy support on Android during his "Developping Android Applications with Groovy" talk. 

Next years GR8conf EU will be june 2nd.- 4th. so mark your calendar already now :)


Podcasts and Videos of Presentations

Blogs, Articles, etc.

New Plugins

Updated Plugins

  • CRaSH Grails Plugin Integrates the Common Reusable SHell (CRaSH - ) into Grails.
  • AngularJS Resources Plugin Angular JS resources plugin
  • SeedMe Plugin Implements a standard convention for adding seed data to your application.
  • Time Series GORM Plugin GORM implementation of time series.
  • Time Series Plugin Provides a simplified service for reading/writing timeseries and counter data and storing it in a variety of time resolutions. Read method output is intended to support javascript charting libraries. The plugin defines an interface for pluggable storage providers and includes an implementation in-memory storage provider
  • Arrested Plugin Generates RESTful controllers for domain classes and maps them in UrlMappings, generates single-page AngularJS-based views, and provides simple token-based security
  • Novamail Plugin The Novamail plug-in provides e-mail sending and retrieving capabilities to a Grails application. It is also capable of sending emails asynchronously by using a scheduled Job.
  • 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.
  • Spud Cms Plugin Provides CMS functionality for Spud
  • Grails JCaptcha Plugin Makes using JCaptcha within a Grails app simple
  • Spud Permalinks Plugin Creates a filter for redirecting urls from one location to another and provides an admin interface for defining these permalinks.
  • 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.
  • 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.
  • Security Bridge Plugin Defines a standard corss-plugin security bridge implementation for better decoupling of authentication in plugin heavy applications.
  • JavaMelody Grails Plugin Integrate JavaMelody Monitoring into grails application.
  • Time Series Elastic Search Plugin Elastic Search implementation of time series.
  • Build Info Provides a controller/view that display basic information about the war file including the date/time the war file was built Source Control Revision Number (Git and Subversion) application version number grails version grails environment (currently running, not necessarily the environment used to build the war file) plugins installed (and which version) If Hudson/Jenkins is used to build the war file the following Hudson environment variables are also displayed: BUILD_NUMBER BUILD_ID BUI...
  • Grails Scaffolding Plugin Handles the configuration of dynamic scaffolding
  • Jsx Asset Pipeline Plugin Implements JSX to JS compilation in the asset-pipeline plugin.
  • Grails Plugin for Apache Pivot Grails Plugin for Apache Pivot
  • Mailing List Plugin Schedule emails to a mailing group or to a person using dynamic quartz scheduling. Schedules stored within DB and upon application restart incomplete or future schedules are re-added to quartz queue.
  • Redis Session Plugin Stores HTTP sessions in a Redis data store.
  • Spud Core Plugin Spud Admin is a dependency package that adds a nice looking administrative panel to any project you add it to. It supports easy grails app integration and provides core functionality for spud modules.
  • Remote Pagination Plugin Remote-Pagination plugin provides tags for pagination and to sort columns without page refresh, using ajax and loads only the list of objects needed. It supports multiple paginations as well. More than one remotePaginate, remotePageScroll, remoteNonStopPageScroll and remoteSortableColumn can be used on the same page unlike non-ajax pagination tags.
  • Atmosphere Meteor Plugin This plugin incorporates the Atmosphere Framework, which includes client and server-side components for building asynchronous web applications.
  • Spring Security REST Plugin Implements authentication for REST APIs based on Spring Security. It uses a token-based workflow
  • Yahoo for Spring Security OAuth plugin Integrate Yahoo to Spring Security OAuth plugin.
  • VK for Spring Security OAuth plugin Integrate VK to Spring Security OAuth plugin.
  • Twitter for Spring Security OAuth plugin Integrate Twitter to Spring Security OAuth plugin.
  • LinkedIn for Spring Security OAuth plugin Integrate LinkedIn to Spring Security OAuth plugin.
  • Google for Spring Security OAuth plugin Integrate Google to Spring Security OAuth plugin.
  • Facebook for Spring Security OAuth plugin Integrate Facebook to Spring Security OAuth plugin.
  • AngularJS Template Asset-Pipeline Plugin Provides AngularJS template support for the asset-pipeline static asset management plugin.
  • Log Hibernate Stats Plugin A simple plugin to log Hibernate statistics across controller actions.
  • MongoFile Plugin The MongoFile plugin provides a MongoFileService that saves, retrieves and deletes files from a MongoDB file store. Furthermore, the domain classes have methods injected to handle the
  • Redis Plugin The Redis plugin provides integration with a Redis datastore. Redis is a lightning fast 'data structure server'. The plugin enables a number of memoization techniques to cache results from complex operations in Redis.
  • Teamspeak3 Plugin Adds integration between a Grails application and a TeamSpeak3 server
  • CoffeeScript Asset-Pipeline Plugin Provides coffee-script support for the asset-pipeline static asset management plugin.
  • SASS/SCSS Asset-Pipeline Plugin Provides SASS/SCSS Compass support for the asset-pipeline static asset management plugin.
  • Hd Image Utils Plugin High quality image manipulation plugin, for scaling and cropping images. Uses the pure Java java-image-scaling library
  • Criteria Js Plugin GORM criteria for javascript
  • Remote Control Remotely control a Grails application (for functional testing)
  • Grails Plugin The Coveralls Plugin allows you to send Grails code coverage report to Coveralls. Coveralls works with your continuous integration server to give you test coverage history and statistics.

Interesting Tweets


Conferences and meetups

Gradle Summit, Santa Clara, USA, june 12th - 13th, 2014
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.