logo
Dec
29

gravl: Sorted Sets, Comment Bubbles, Rolodexes

I’ve been doing some work on the comment rendering section of Gravl, and just discovered the joy of Grails SortedSets. I was keen to keep my comments in date order, but didn’t want the overhead of custom queries when I was enjoying just navigating the object graph (blogEntry.comments.each() did you say?). Enter the SortedSet. Grails lets you use SortedSets in one-to-many scenarios so you...
Dec
17

Gravl: Insanely simple PDFs for Grails

And if I told you that 20 lines of code was probably plenty for fine looking PDFs? So you’ve just written a killer blog entry that legions of fan are keen to copy to their PDAs to read on the way home? Just click Gravl’s “PDF” icon and you’re off: PDF is a visual medium, so why design everything in non-visual XML… why not design your PDF export in html (which...
Dec
14

Gravl: Feeds, UrlMappings, Codecs, Permalinks, and all that Jazz

Give Marc’s excellent work on the Feeds Plugin, I knew the feed generating work would be pretty straightforward, but there were a few things to learn along the way. I wanted to mimic Pebble’s feed urls, so a little custom work in UrlMappings would be required. Pebble supports a /rss.xml, a /atom.xml, and also the category specific versions (/categories/Groovy/rss.xml). All very doable: //...
Dec
12

Gravl: Of Tagclouds and Many-to-Many

If you get your data model right, implementing a tagcloud turns out to be a snack. In Gravl, I’ve setup a many-to-many between BlogEntry and Tag, but I also have a link from the parent Blog directly to all available tags: Implementing many-to-many simplifies to import process when I import my Pebble data. The import process ends up with something like this: def tag =...
Dec
10

Gravl Week One: Webflowing an Ajax upload

If you haven’t started playing with the Webflow features of Grails, here’s a short demo of Gravl’s Ajax-powered blog upload feature to whet your appetite… Webflow is one of those technologies that is *awesome* for one particular aspect of your application: wizard-like things that take multiple steps! If you don’t use a technology like Webflow, you end up writing a simple...

logo
Powered by WordPress | Designed by Elegant Themes