Pither.com / Simon
Development, systems administration, parenting and business

Grails 3 Externalized Configuration

Grails 2.x uses it's own configuration loader that includes the ability to read extra configuration from additional, external files. This is a great feature for reading production, deployment specific configuration values; while keeping them separate from a standard WAR file. I've found this very handy when the same application needs to be deployed to multiple machines with only some configuration …

Tags: grails groovy



Design a Formula 1 Helmet

One of the projects that has been filling, a little too much at times, my recent non-parenting hours is now accepting entries.

The site is an addition to the Infiniti Formula 1 press site to provide competitions for people to design Formula 1 helmets (or a small non-advertiser section of them) that Sebastian Vettel will wear later in the season. …


Grails vs Django

Update: I revisited this Grails vs Django discussion in Jan 2015.

Before I met Grails I had spent several years writing my web applications in Perl, including work on two different in-house frameworks to try to make life easier! I also dabbled a little with Ruby on Rails but for some reason it just didn't stick (I think I prefer …


Add an SMTP server to a Grails application

Quite a long time ago I talked about setting envelope sender addresses so that I could send mailshots and get back any bounces in a useful way. The missing component to it was to process those bounces within my application. Here, finally, is my write up of how I did this.

After much searching I eventually found the excellent SubEtha …


Ticket sales (PayPal, Jasper Reports, Barcodes) with Grails

Please see Part 1 for the start of this series and links to all parts.

For the SupaJam ticket outlet, we didn't need anything too fancy, just enough to present people with a couple of ticket types to choose from and a way to pay for them. Of course we still had the extra requirement of collecting a real name …


Tickets: selling, sending, supporting and checking; all in three weeks

Towards the end of May, SupaJam launched the first round of several festival ticket give aways planned for this summer. This wasn’t the first time SupaJam has given away festival tickets, but it is the first time that we've done it in this way.

Technically, it all went well. The days afterwards did include a rather large number of support …


grails-mail patch for envelopeFrom (VERP)

I have previously written about setting envelope senders when sending email in grails and following comments made on that post I did actually get around to submitting a patch to the plugin.

However a change to that patch was suggested and before I managed to implement it, the mail plugin underwent a fairly large refactoring which meant I needed to …


Grails multi-version launch script

Note: The latest version of the script below is on github.

I work with grails quite a lot these days. I have about 5 plugins and over 10 projects that I currently work on frequently. Fairly inevitably they use an assortment of grails versions. Manually chopping and changing command lines to execute different versions gets pretty tedious.

The solution - …


Custom (private) DTD in HTTPBuilder XML response

The Groovy HTTPBuilder library is extremely useful for interacting with all sorts of things, including remote web services that send back XML responses. In these cases HTTPBuilder will automatically use Groovy's XmlSlurper to parse the response and give you back a GPathResult to make navigating the XML super easy.

However today I've been trying to parse XML that's returned (from …


Envelope senders for Grails mail plugin (Spring Java Mail)

I would have expected the desire to set a specific envelope sender address for mails from a web-app to be fairly common. However finding information on how to do it with the Grails mail plugin (ie Spring mail (wrappers for JavaMail)) proved much harder than I expected.

In fact, I ended up reading the source code!

It turns out that …



Grails 1.2.0 (or 1.2.1 snapshot) upgrade

Following the recent release of Grails 1.2.0 I've attempted to upgrade a few of the projects I work on. Some of these attempts have gone better than others.

For one of the simpler ones I only hit two problems.

  1. Combining Acegi with Enum's defined in the same source file as domain objects no longer works. The grails bug is here …



Upgrading a Maven Grails project from 1.1 to 1.1.1

Grails 1.1.1 has been out for a while now. For those people who use grails directly the upgrade path is pretty simple (download, install, run "grails upgrade"). However for those of us who haven decided to build our projects via maven, the path seems to be much less clear.

There is a large mailing list thread or a more succinct …


  • Page 1 of 1