New modules

barbie on 2004-01-16T09:55:36

I have been conversing with a few module authors recently. In particular Mark Strosberg and fellow Birmingham Perl Monger Jon Brookes. Both have propositions for new modules they want to upload to CPAN.

Mark's proposal for CGI::UploadDB (it's tentative title), is something which I have attacked in a slightly different way for my own purposes. However, I think I will end up using his module once he finishes it and uploads it. I made several suggestions for things he could add or change, and although he's rejected most (with good reasons), a couple of ideas may have stuck. There are some others that I'm going to look at once he has a working version and supply patches. I figured that the kind of additions I would like to see, aren't really in the scope of the first draft. Mark has said he has received quite a lot of good feedback, so I expect it'll be a popular module.

Jon's module is aimed at being part of CGI::Application plugins. It's called EasyGraph and uses the GD module to draw simple graphs. I had the thought to produce graphs for hit trends some time ago, but having played more with ImageMagick, I haven't tried all the plotting capabilities of GD. There have been several distributions uploaded to CPAN in recent months that use GD, and it's been at the back of my mind to try them out. Jon's module came just at the right time for me get stuck in. Both EasyGraph and GD look pretty neat, and I hope to use both more in the future.

Looking at CGI::Application::EasyGraph, to give it it's full title, however, has also prompted me to look some of the other CGI::Application plugins. When I first looked at CGI::Application, it didn't really fit my purpose. I found it a bit too restrictive for some of the dynamic programming I needed. With my Labyrinth project, functionality can be added or taken out, to a degree, without changing the Perl code, which is useful in a mod_perl enviroment. You can't do that with CGI::Application. There were a few other things that didn't sit well with me, but can see the benefit it has to offer. Most plugins for CGI::Application, rely on CGI::Application being installed, but in truth they can be standalone and used in other CGI applications, such as Labyrinth. At some point I may look at providing those plugins via a dummy CGI::Application that does nothing bar exist.

I started designing Labyrinth when I was made redundant in November 2002. Since then it is now the core of the YAPC::Europe::2006 proposal site that Birmingham.pm are putting together, DanDan's photo website will be relaunched with it, the Slim Pickins website will soon be adapted to it and then I need to revamp the Ark website with it. I was asked recently whether I'd release it Open Source, but at the moment I doubt it. There is the potential for me to sell it to another company and have them develop it as a commercial product, which could help my bank balance, but there may be some components that get released to CPAN before then. We'll see.