Browsing articles from "December, 2007"
Dec
29
2007

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 can keep things in you preferred order automatically. All I need [...]

Dec
17
2007

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 you’ve got great tools [...]

Dec
14
2007

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: // feeds for all blog entries “/$blog/$feedtype” { controller = “blog” action = [...]

Dec
12
2007

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 = Tag.findByBlogAndName(newBlog, importedCat) if (tag == null) { tag = new [...]

Dec
10
2007

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 state engine, and filling your session with all sorts of stuff to keep track [...]

Glen Smith

About Glen

Co-author Grails in Action