This is the first post in what I plan to be a series about a small application named FogBugzReporter that I began writing in October of 2007. I'd recently started using the on demand edition of FogBugz from Fog Creek Software to track my time spent consulting and was disappointed to discover that it had no direct way for me to generate time reports. Fortunately, I discovered that along with the web UI, FogBugz also had a pseudo-REST API for interacting with the application (I say "pseudo-REST" because almost all operations can be performed with HTTP GETs, including ones that change state on the server). I read the API docs, quickly wrote a simple Swing application in Java, and made it available to the rest of the FogBugz community. Soon after, I started experimenting with Groovy and realized that porting the app would be a nice way to get some experience with the language, including SwingBuilder and the great APIs for processing XML. I did that and eventually moved the code from a private Subversion repository to one on Google Code under an Apache license. Until a few days ago, it sat for the most part unchanged. In the meantime, my Groovy skills have improved a bit (I'm still no expert), the language has evolved, and the technologies around it have grown. In this series, I plan to gradually bring the application up-to-date and polish up the code. I'll update this posting with links to the other posts in the series as I write them.
- FogBugzReporter and Griffon