December 6th, 2011
Grails 2.0 RC 3 released
The Grails development team has already released the third release candidate for Grails 2. This RC addresses the issues found by the developers that tested RC 2, which was released just last week (how much coffee has SpringSource been going through lately? ). Do download this release and test it, if you’re into that sort of thing. The Grails team is working to make 2.0 final a solid release, and every bit of feedback helps.
Upgrading To Grails 2: Part 1
Speaking of Grails 2.0: Rob Fletcher of Ad-Hockery fame has put up a new post on what his team is doing to “[ensure] that our application is forwards-compatible with the upcoming Grails 2.”
Installing Weceem CMS
Tariq Ahmed gives us some tips for installing Weceem (the Grails-based CMS) on Mac OS X.
Integrating Google Plus In Grails Application
I don’t know why you would want to do this, but if you want to, now you know how (thanks to Vishal Sahu of IntelliGrape).
Five Cool Things You Can Do With Groovy Scripts
They involve Jenkins, CSV, Gretty, and more.
A Script To Run Grails Functional Tests In Parallel
You must be using Geb to run this script.
Grails Productivity Enhancer. The Unsung Hero ‘grails interactive mode’
In which Mohd Farid (also of IntelliGrape) describes (and encourages) the use of the Grails interactive mode.
Latest Happenings And Future Of Groovy: 1.8, 2.o And Beyond
Rick Hightower recently interviewed Guillaume Laforge (the Groovy project manager) for InfoQ. They discuss IDEs, annotations, Grape, JSON, GPars, AST transformations, and a deal more.
Compressing JPG Images With Groovy
Dustin Marx gives us a script for use in (surprise! ) compressing JPG images using Groovy.
November 22nd, 2011
Gaelyk 1.1 released
Last Wednesday, Guillaume Laforge announced the 1.1 release of Gaelyk, the lightweight Groovy toolkit for the Google App Engine. This version runs on Groovy 1.8.4 and version 1.6.0 of the App Engine SDK, and it includes a lot of additions or improvements to the asynchronous datastore (among, of course, many other things). See the announcement post for a complete change list (and an explanation of the three new annotations used for bean / entity coercion).
Using Browser Push In Grails
Robin Bramley explains how to make use of event-driven updates in a Grails app (the article begins with a detailed look at browser push methods).
Aaron Babcock has, after being disappointed by Groovy’s REPL for debugging purposes, created “an experimental utility [called] gdb.”
Gdb is a jar file (“gdb.jar”) you include in the classpath of a script you want to debug. In the script you add the line “com.gdb.GdbShell.gdb()” wherever you want to drop into a REPL….
Grails, PhoneGap And Fun @ OSDC2011
Glen Smith reports the happenings of the first Australian GR8Conf (and the OSDC following).
Tips And Resources For Creating DSLs In Groovy
Jakub Holý summarizes tips given by Paul King in his JavaZone 2011 talk on Groovy DSLs.
Up and Running Groovy: An O’Reilly screencast for my Manning book (wait, what?)
Ken Kousen is back from a venture into the dark ages of 2009. He comes to us with a screencast and a long story.
November 8th, 2011
Source Code, PDF and Presentation about Groovy 1.8 from JFall 2011
Mr. Haki (of “Groovy Goodness” fame) has posted slides and code from a Groovy 1.8 presentation of his at JFall 2011 (an annual conference put on by the NLJUG). There is also “an extensive PDF with content” (1.8 recipes, similar to his Groovy Goodness posts). The whole of it is on GitHub.
Groovy Static Type Checker: Status Update
For the last month, Cédric Champeau has been employed at SpringSource and working on Groovy. Among other things, he is working on a static type checker for Groovy. (As he puts it: “…the main goal of this project is to make the compiler grumpy, meaning it will complain where regular Groovy does not.”) This project has been discussed on the Groovy mailing list for some time now. The official (well, by Cédric) update, posted on the 3rd, goes into some detail on what is and is not dealt with, and in what manner, in Groovy’s “grumpy mode.”
Converting Groovy Maps To Query Strings
Ken Kousen has put up another classic ( ) “Stuff I’ve learned recently…” post (“Yesterday I was teaching a class on Groovy when I suddenly realized there was a simpler way to do something I’d been doing for years”), this time on converting a Groovy map to a query string for use in a RESTful web service.
Gaelyk Presentation At SpringOne2GX
Guillaume Laforge has posted the slides from his Gaelyk session at SpringOne 2GX.
November 1st, 2011
Our sources tell us that Groovy and Grails people across the world have been conspiring together to make this week one with scarcely any Groovy news whatsoever. However, they were unable to counteract the powerful groovy forces that, left unattended, resulted in
Last month, which is to say “last week” (literally, “yesterday”), on the 25th, about 21 groovy Groovy and Grails experts got together with some Spring people for the third annual SpringOne 2GX. The attendees (and speakers) have started the review posts. These are currently available:
Glen Smith: “SpringOne2GX 2011 was one Groovy Show!”
“What a fantastic time we all had at SpringOne 2GX in Chicago over the last week. My head is jam packed full of information and I have so many new things to add to my list of cool Groovy tech to explore!”
Guillaume Laforge: “Groovy Domain-Specific Languages in Chicago”
“With my friend Paul King, we ran our Groovy Domain-Specific Languages talk again this year in Chicago, for the SpringOne2GX conference. I’ve uploaded the slides on Slideshare, and Paul has pushed the examples on Github.”
The Grails Podcast: “Episode 128: Groovy Grails BOF at SpringOne2GX”
“This episode is a live recording that was made at SpringOne2GX on the Wednesday night, so there’s about 50 or 60 Groovy and Grails guys hanging out, talking with the project leads and the core committers about all things Groovy and Grails.”
October 25th, 2011
Andres Almiray, having already warned us that there was Griffon news to be coming up, has this week put up a couple of new posts on various Griffon-related topics:
Griffon: to SQL or NoSQL
A common question asked in the Griffon mailing list is: can GORM be used with Griffon? Sadly the answer is no, not yet. However this doesn’t mean there’s no persistence support for Griffon at all….
Griffon: hanging by a thread
Java Swing developers are well aware of the golden Swing Rule. Given that it’s so easy to break it we at Griffon try to make your life easier by sticking to conventions.…
There is more at his blog, which you should be reading anyway.
Six Ways To Become A Better Grails Programmer
Tomas Lin covers six ways in which Grails developers can take advantage of many learning opportunities; half of them involve helping others learn.
The “premier Java event of 2011” — SpringOne2GX, put on by SpringSource and the excellent folks at No Fluff Just Stuff, begins today. Of course, you cannot sign up at this late hour, but I can at least taunt you with the schedule, to let you see exactly what you’re missing (don’t worry — I am sadly not attending it, either). Check back here next week; if any attendees get to posting about the conference afterwards, as Mr. Haki did with GR8Conf, I will try to let you know here.
September 27th, 2011
Java development 2.0: Ultra-light Java Web Services With Gretty
Andy Glover has written an article for his IBM developerWorks series on Gretty, the ultra-light web server framework based on Groovy++.
Gradle: Domain Specific Language Based Build Tool
The Fall 2011 issue of Methods & Tools contains an article by Evgeny Goldin in which he introduces Gradle, focusing on its heavy use of Groovy DSLs.
Smart Bash / Zsh Aliases To Run Appropriate Grails Version
Ted Naleid has posted a helpful bash script which can decide which version of Grails to run for a project based on its application.properties file.
Groovy Goodness: Use inject Method On A Map
Mr. Haki is, as I noted last week, back to posting groovy tidbits in his daily Groovy Goodness series. Today he shows us how to use Groovy’s inject() method in a Map. (This feature is new in Groovy 1.8.1.)
A Ruby Plugin For Grails
September 20th, 2011
“Groovy Goodness” by Mr. Haki is back
Mr. Haki has returned to his series on Groovy language features after a few months away. Many of the bits he discusses are new in Groovy 1.8, and all are worth the reading.
Patching bean-fields On 2.0.0.M2
The bean-fields plugin by Marc Palmer is messed up a bit in Grails 2.0 M2 by a breaking change in that release. This will not be an issue in RC1. In the meantime: Glen Smith explains how to resolve it with a simple modification to the taglib.
Groovy On GitHub
This summer, the Groovy team (with help from Matthew McCullough) moved Groovy’s source to GitHub. See the links in this post by Guillaume Laforge.
Grails Alfresco Plugin — 0.5: integrate Alfresco with a Grails application
Grails Horn Plugin — 1.0: provide JS libraries and tags for embedding data in HTML content
Grails Twitter Bootstrap Plugin — 0.2: provide Twitter Bootstrap files
Grails Image Builder Plugin — 0.1: provide a simple image builder
Grails Geolocation Plugin — 0.2: add HTML 5 geolocation support
Grails External Configuration Plugin — 0.4.5: reload external configuration files
Grails Spreadshirt Plugin — 0.5: integrate Spreadshirt API features into a Grails application
Grails Cucumber Plugin — 0.1.0: test Grails applications with Cucumber
Grails GSP Template Rendering Plugin — 0.1: cache rendering of a GSP or fragment of a GSP
Grails Template Profiler Plugin — 0.1: profile GSP template rendering time, etc.
Grails Console Enhancement Plugin — 0.2: enhance Grails console output for better visibility
Grails Bean Fields Plugin — 1.0 RC3: provide tags for rendering form fields for domain and command objects
September 13th, 2011
Groovy 1.8.2 And 1.9-Beta-3 Are In The Wild
Guillaume Laforge and the Groovy development team have announced new releases in both of the Groovy branches: 1.8.2 in 1.8 and the third beta of 1.9 (which due to an accidental early release had to be renamed from “beta 2”). These are both chiefly bug-fixing releases, but, as Guillaume points out, they also include “the completion of the primitive type arithmetics performance optimizations.” (This has a somewhat targeted audience: “Microbenchmarks affictionados should be happy.”) You can see the release notes at the CodeHaus, but you are going to download it anyway, so…
Groovy++ 0.9.0 released
Also in Groovy language releases: Alex Tkachman has announced Groovy++’s 0.9.0 release. They are expecting to have 1.0 out before October 4. (This release has been tested with Groovy core v. 1.8.2.)
And speaking (or typing) of Groovy++: Here is a set of benchmarks (Groovy++ vs. Java) which was recently brought to my attention.
Grails 2.0: a second milestone release
The Grails development team has released the second milestone of Grails 2.0. This is worthy of some excitement: if you follow that link (or even if you do not, seeing that I am here telling you about it), you may notice that this is the last milestone release of Grails 2.0. The next release will begin the round of RCs, and the Grails developers expect to have the final 2.0 release out in mid-October. You may wish to see the “What’s New” section of the docs again; it has been updated for this milestone.
A New Skin For The Groovy Website
Have you visited groovy.codehaus.org recently? (I jest. Of course you have not.) Guillaume Laforge, in response to
the plea of millions of developers a discussion on usability and user experience as it relates to language adoption , has put together a (temporary) (very fine-looking) new design for Groovy’s website. The Groovy team is already working with a web designer for a better and more lasting design, as well as improving Groovy’s documentation. See Guillaume’s blog post for details on how it was done (and a disclaimer).
Griffon Reaches 3rd Year
Andres Almiray has put up a birthday post for Griffon, the Groovy RIA framework, which was started three years ago this week (or rather last week). The Griffon team is working on “two big overhauls” to the framework; for now, he describes several highly interesting features available in the current release.
Optimising Your Application With Grails Resources Plugin
Marc Palmer has posted a highly detailed article describing the use of his Resources plugin for Grails (which will be built into Grails by 2.0).
Groovy, Fastest Growing Language According To eWeek
This was spotted by Guillaume Laforge: eWeek’s new article on programming language trends tells us that “…in the time frame this slide show depicts, Groovy saw the largest increase in jobs” (this begins in November 2009).
August 30th, 2011
New Gaelyk plugin: Easy Datastore Service Plugin — CRUD for Gaelyk
Vladimír Oraný has released a new plugin for Gaelyk — the Easy Datastore Service (EasyDS) Plugin, which “simplifies basic CRUD operation with entities and also provides some closure based valiation.” This is as far as I know the first attempt at adding such simplified, Grails-style CRUD to Gaelyk (and the plugin is in fact inspired by GORM). The source is up at GitHub, and there are code examples and explanations in the README.
GPars Performance Test
Results from a performance test of GPars (which was being used in building a REST interface) by Eric Sword.
Betamax: Groovy record/playback proxy for testing HTTP interactions
Betamax is a Groovy-based tool for recording and playing back HTTP traffic from an application (Rob Fletcher, its creator, refers to it as “basically a Groovy version of Ruby’s VCR”). As in VCR, recorded interactions are stored as YAML files; they can be hand-edited (and created!) if necessary and even committed to version control. As it is with many Groovy projects these days, its source is on GitHub, and Mr. Fletcher is seeking feedback. See the README for more.
Database Migration In Grails
Nirav Assar covers the use of the Grails Database Migration plugin (based on Liquibase).
Vsnap: a new video messaging service, hiring senior Grails developer
Vsnap is a new service leading what is called the “video messaging revolution”: it allows users to “send, request, tag, and store 60 second video messages” with attachments. The site and the service are both still coming together, and as part of this they are looking for a senior Grails developer in the Boston area. See the blog post for more details.
Grails GORM Native Finders Plugin — 0.1: query domain objects using native Groovy closures
Grails SimpleDB Plugin — 0.1: provide GORM API for the AWS SimpleDB datastore
Grails Compass CSS Plugin — 0.2.6: add support for Compass, SASS, and SCSS
Grails Google Visualization API Plugin — 0.4.1: provide taglib for interactive charts from the Google Visualization API
Grails Ajax Uploader Plugin — 0.4: provide a “highly configurable, cross-browser, ajax-based file uploader”
Grails External Configuration Reload Plugin — 0.3: reload external configuration files (uses a Quartz job)
August 23rd, 2011
groovy-wslite: Groovy library providing “no-frills SOAP and REST webservice clients”
This has been around for some time, but was just brought to my attention by Bob Brown at transentia: groovy-wslite, a Groovy web service library by John Wagenleitner. There are fine examples of both SOAP and REST clients in the project’s README on GitHub.
Countdown To Grails 2.0: Database Migrations
Peter Ledbrook is back at the SpringSource blog continuing his series on the new features coming in Grails 2.0. This time, it is a feature we can use in the current stable version (1.3.x): database migration, which is based on the plugin by Burt Beckwith. (The plugin, in turn, is based on Liquibase.)
I Think I Get Spock Mocks Now
Ken Kousen points out a misunderstanding regarding the mocking in Groovy’s Spock framework.
Our Grails Stats: But What Are Yours?
Erik Pragt at Jworks has posted the stats (derived from a modified version of the Grails stats script) from a Grails project which his team has been working on “for over a year now, with, on average, around 8 people including testers.” He’s looking for others to contribute their project stats (and there are some interesting ideas for hacking Stats.groovy in the comments).
A Quick Intro To Gradle
R.J. Salicco at thejavajar gives a very quick introduction to Gradle, the Groovy build tool.
Grails Inviter Plugin — 0.1: a simple way to invite people
Grails Spring Security SAML Plugin — 1.0.0 M1: SAML 2.x support for the Spring Security Plugin
Netbeans Griffon Plugin — updated for Netbeans 7.0.1