Boy that 20 hours certainly went more quickly than expected… Actually SlimTimer is telling me that I’m at 21.3 hours, so it’s definitely time for pens down! I’ll factor in the final cleanup and deploy time to get a more accurate final figure for the go-live.

Tons of new features made it into the final release, though. Lets start with the more boring webby stuff, since that’s all part of the development deal too, and quite a time burner.

As promised last time, I ended up getting in those tabs using A List Apart’s sliding doors technique. Actually was much quicker than I expected since that technique only needs four images.

Tabs in action

Then I set to work on some nice box layouts for various things that run down the margin. While I was at it I put in a simple login div as a trial run:

Login Window in a spunky div

Then came some features I’ve been wanting for a while. Thanks to the generous folk at Nabble, they have allowed me to integrate their Grails and Groovy RSS feeds into groovyblogs. So I’ve not got a “List Buzz” tab so you can get a quick glance at what’s being talked about on the lists:

Lists courtesy of Nabble

I already had all the infrastructure to parse and present feeds, so it seems a shame not to include the lists in their own tab. I didn’t want to persist them, though, so I decided to use an in memory cache. ehcache is bundled with Grails, so it seemed like a good candidate. Decided to make it generic with a little Grails CacheService. Then I got to thinking…

If you’ve got a generic CacheService, why not cache some other useful stuff? So I now wrap the Popular, Recent and Feed links in the CacheService which means my hits on the db should be through the floor. Must get around to doing some profiling on that one…

It was also time to sort out that account management dialog. Decided to scale back some of my Ajax ambitions there and just use Ajax for the feed testing. It’s not as spunky, but it ended up much cleaner to implement the rest via standard grails actions.

![Ajaxing a New Feed parse](/glen/images/2007/gbAjax.gif)

Ended up having to add configurable http proxy support so groovyblogs works inside a firewall (debugging during lunchtime at a client site, did you say?). Anyways, Commons Http makes it a one liner, so that was a snap.

So when is it going out the door? Good question, it’s gotta be by the end of Feb, right? I guess it will turn up sometime soon when I get some downtime… Be gentle with it…