Grails Diary - Week 6 in 2015

09 February 2015

Guillaume has estimated the number of downloads of Groovy in 2014 totalling 5 million plus!
That is quite a jump from the previous year (3 million).

Geb now have both a logo and a twitter account. You can follow @GebFramework

Spock framework lost the "first to get a logo" bet - who gets to 1.0 first? :)
The documentation for Geb, "the Book of Geb" is being migrated to Asciidoctor allowing for all code snippets to be tested, and eliminating incorrect or stale examples! A few notes on geb can also be found here

Peter Ledbrook hosted the 6th edition of the Groovy Podcast, this time co-hosting it with Ken Kousin. It is available on youtube and as Podbean (MP3). They covered a lot of great information on the new Grails 3 Milestone, and Ken came with the explanation of the #ReGina hashtag (Yes a cliffhanger, you'll have to listen to the podcast yourself to get it).

At some point, hopefully in milestone 2, the upgrade to Grails 3 guide should be available at

Congrats to Ivan Lopez, winning the #LearningSpringBoot contest with, made completely with Groovy. Check out the notes on how it's build.

The third release candidate for Gradle 2.3 is now available. Read the release notes before upgrading, as there are a couple of potential breaking changes.
You can help decide which totorials on Gradle should be prioritized by filling out this survey

Dierk Köenig has handed in all chapters for the second edition of Groovy in Action. With 20 chapters plus 9 appendices it'll take the editor a few days to get through it. Congrats #Regina

Grailsflow,an open source Workflow and Process Engine, has been released in version 1.5 (with Bootstrap3), with a version for Grails-2.4 comming soon, see the release notes

The Greach conference announced a lot of speakers this week, and speakers and the abstracts are now online too. It looks like an exciting program! I'm looking forward to a trip to Madrid in April :) Hope too see you there!


Podcasts and Videos of Presentations

Blogs, Articles, etc.

New Plugins

Updated Plugins

  • AngularJS Template Asset-Pipeline Plugin Provides AngularJS template support for the asset-pipeline static asset management plugin.
  • Grooscript Plugin Use grooscript to work in the client side with your groovy code.It converts the code to javascript and your groovy code will run in the browser.
  • Shiro Protect Any Plugin Allows to setup authentication for static resource calls against Apache Shiro.
  • 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 )
  • React Asset-Pipeline Plugin Provides react support for Asset-Pipeline.
  • Grails err-buddy Plugin Err-buddy Grails client, and LogAppender
  • 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.
  • Drools Plugin This plugin integrates the Drools Business Rules Management System.
  • Build Test Data Plugin Enables the easy creation of test data by automatic inspection of constraints. Any properties that are required have their constraints examined and a value is automatically provided for them.
  • Dynamic Logs With Rabbit Plugin Allows you to dynamically change log levels on all instances listening to a particular topic via RabbitMQ Messages.
  • Spud Cms Plugin Provides CMS functionality for Spud
  • HTTP Compression Plugin Integrates the ziplet compression filter into Grails for controller content. This plugin replaces the deprecated compress plugin that used the same filter under a different name. Use the asset-pipeline or resources plugin for compressing static resources.
  • Improved Geb-SauceLabs integration Grails plugin to provide better Sauce Labs support when using Geb functional testing. Adds Sauce Connect, test results, and application information to the Sauce tests.
  • Jasper Plugin Adds easy support for launching jasper reports from GSP pages. After installing, run your application and request (app-url)/jasper/demo for a demonstration and instructions.
  • Webfile Admin Plugin Edit your web files(eg. js/css/html) online. You can create new folder , new file or upload an exists file from your local disk.
  • Swaggydoc Plugin Uses swagger to document Grails Controllers
  • j2ssh SSH Plugin Java J2SSH library combined with default websockets to provide your Grails web application with live SSH interaction functionality. Version 1 New Client/Server Websocket call: Make multiple connections and broadcast commands to a group of servers. You can either use default Websockets method which is a live interaction with your back-end ssh connection(s) or use Ajax polling which only supports 1 concurrent connection at any one time.
  • Grailsflow GrailsFlow is an open source Workflow and Process Engine.
  • Spring Security REST Plugin Implements authentication for REST APIs based on Spring Security. It uses a token-based workflow
  • Handlebars Asset-Pipeline Plugin Provides Handlebars precompiler support for the asset-pipeline static asset management plugin.
  • ElasticSearch Grails Plugin The revived Elasticsearch plugin for Grails.

Interesting Tweets

  • @kyleboon new configuration for @ratpackweb is awesome. Layering configuration is great, and supporting env vars makes docker/heroku deployment easier
  • @mittie Even if the copy editor can do one chapter each day, it will take him more than 4 weeks to go through #ReGina 20 chapters plus 9 appendices
  • @bitboss I've been programming for the new @Allschools site today and I have to confess that the decision to do it with Grails has been a good one
  • @pledbrook TIL that #groovylang type checking can infer component type of list literals, i.e. ["a", "b"] is a list of strings.
  • @craigburke1 Once I get fonts and tables figured out in PdfBox I can cut an 0.2.0 release of the #groovylang document builder.
  • @craigburke1 The PdfBox #groovylang document builder is getting there. MPL license :)
  • @java The More You Know: All The 2014 #JavaOne Sessions Are Live!
  • @CedricChampeau It was a pleasure delivering a talk about #groovylang to an audience that mostly didn't know anything about it. Hope I succeeded! #mceconf
  • @pledbrook @cedricchampeau More details will follow once I have a solid couple of chapters down. I want to make early drafts available publicly.
  • @pledbrook Are there any plans to make #groovylang ready for Java 9 modules? Or does nothing need doing?
  • @CedricChampeau Slides for my #groovylang for #androiddev talk at #mceconf are online!
  • @ldaley New Gradle plugin for running tests within Docker containers »
  • @burtbeckwith Today, like every day, Gradle is my friend. That is all.
  • @ysb33r I’ll be talking at @greachconf again this year. Hint: Something to do with #Gradle
  • @aalmiray remember boys and girls, JDK7 becomes EOL in 2 months. Inform your managers and upgrade to JDK8 asap #MoveJavaForward
  • @pledbrook TIL that #groovylang always treats an array last arg as varargs. Can be a little confusing.
  • @CedricChampeau @rfletcherEW @pledbrook it is a gotcha, as explained here :)
  • @ldaley It's conflicting watching your children gain independence… The @GebFramework twitter account does not follow me.
  • @ilopmar Yesterday I won @gregturn's #LearningSpringBoot contest with #Polaromatic. I used #groovylang (FTW!) EVERYWHERE:
  • @objectpartners Upcoming Tech Talk: Creating RESTful Applications with Grails
  • @craigburke1 The #groovylang equivalent of “there’s an app for that” is “there’s an AST transformation for that."
  • @davydotcom Asset-Pipeline 2.x series now supports SASS/Compass with sass-asset-pipeline:2.0.4 #grailsfw . Sprite support coming soon, give it a shot.


Conferences and meetups