I love Drupal.
It’s fabulous software. It’s the only cms (content management software) I’ve ever used that actually functioned how I wanted it to function. All of the features for it and all the add-ins for it behave exactly as you would expect, which is a LOT more than you can say for most other CMS’s.
However, I found a bug.
No, of course not in the core of drupal. The core of drupal is pretty rock solid.
The bug was in the mass mailer module, written to allow drupal to interface with phplist, an open source mailing list management software package (a very good one).
Apparently there have been quite a few people who have had a hard time installing and getting massmailer to work, because Will wrote a How to install the Mass Mailer tutorial over on the drupal website.
Now, most drupal modules are easy to install. This one isn’t.
However, after following the directions, and not getting it to work, I started debugging.
I’ve done this before. Had a problem with some software package and tried all kinds of stuff to get it to work and couldn’t figure it out…so I started debugging.
The difference was that this time I found a bug. Every other time, I either got frustrated with how the code just went in circles or how everything seemed to work correctly.
The bug was in line 62 of the config.php file that’s distributed with massmailer. It’s in the massmailer/engines/phplist/config.php file.
The line was:
$database_host = $db_info[‘host’] ‘:’ $db_info[‘port’];
Which gives you a parse error.
The line should be:
$database_host = $db_info[‘host’] .’:’. $db_info[‘port’];
Which makes the whole program run correctly.
This is a great piece of code by Aaron Welch. It’s super useful and very well done. It just had a simple bug. I’m guessing not everyone got the same version of the config file I got because others have gotten the module to work out of the box.
The reason I post this whole story is because I’ve never actually had this sort of experience before. I’m a pretty good php programmer. I’m not the best. However, I have done my fair share of programming. But this was the first time I spent a few hours debugging someone elses stuff and found a bug in it that I fixed and got the whole thing to work.
I’m basically just shocked that I found a bug. Not that I found a bug. That I found a BUG.