Developing Drupal Modules

After more than two years of using Drupal rather extensively internally, we've finally managed to create and commit back to the community our first full fledged module: the Imagefield Gallery module.  Development on the module is continuing today even though the first major release of it was over a month ago, such is the way with modules in many cases, there's always something new to add to the "to do" list.

Imagefield Gallery is our attempt to fill a void in the Drupal family of modules.  For too long now if a developer or themer wanted to style the output of an imagefield they had to do so manually on a node type by node type basis, or they had to create a custom function inside the template.php for their theme.  Imagefield Gallery is designed to make this process easier to deal with by instead allowing the developer to create their own gallery types and use imagefield gallery to manage what node types they appear on, and any associated custom css settings for that gallery type.  Controlling all of these thing through the typical theme function interface so common elsewhere in Drupal allows developers and themers to re-write these galleries as needed, and ultimately, we hope to see many new gallery types emerge for the community at large to use.

As happy as we are about this contribution, we're really wanting to add more to the community than just this, and so our next module is already under development.  If you were at Boston Drupalcon, you may have had the chance to sit through the session I did on Drupal and Open Laszlo.  In my presentation, I made a couple of arguments for why we should be using Open Laszlo for additional development for Drupal.  My primary point in that session was that laszlo documents are easy to pass around (being essentialy just text and images like HTML) and because of their compile time being open source, there are no costs to get involved, thus, it's the perfect flash environment for us as open source proponents.  It's also potentially something we can just include in our CVS updates for people who'd like to play with the source.

Anyway, with all of that explanation out of the way, the next module we'll be contributing is going to be a flash uploader.  Flash has a number of really great improvements over html/http uploads, primarily it's ability to monitor the progress of an upload, and it's ability to upload significantly larger files.  Every day the average size of a file that we deal with seems to go up.  Not so long ago I owned a personal computer that had a whole 2 Gb of hard drive space... today I can buy a 250 Gb hard drive for next to nothing... and I have games that are 8 Gb installs by default.  There's no reason for us to believe that just because the files we pass around on the internet are usually in the couple hundred Kb of data that they won't be a couple thousand Gb of data soon.  With that said our Flash uploader should be a nice new tool for the community as we've tested it internally all the way up to 1 Gb of upload with no problems.  This will be especially nice for anyone who might be interested in doing their own social networking video site, or something similar.  Uploaders that don't time out are critical in such situations, and we'd all love to see Drupal fulfilling more of those sorts of roles in the near future.

With that in mind, I would encourage anyone who's interested in contributing to either of the previously mentioned modules to please use our contact form and just let us know you're out there and interested in what we're doing.