Awhile back I was working on a Drupal project, and needed to disable the default RSS feed of the site. I was slightly surprised to find that there is no admin setting to do this, nor a module to perform this functionality. However I found this issue in Drupal project issue queue, which apparently was opened in 2005, and, gasp, still wasn’t implemented into the Drupal core. Now, I’m not the one to bash Drupal, because to me it’s still the best PHP open source CMS out there; but even I thought this was a little out of control. Anyway, make of it what you will.
After consulting the Drupal API, I quicky came up with a solution for my site, and posted it as a comment to the issue. That was almost a year ago.
Recently I was checking on my Drupal discussions, and found out that the issue was still open, the fix didn’t make it into the core for Drupal 6 (update: apparently it didn’t make it into Drupal 7 either), and people were requesting a one click solution to fix this in the mean time. Long story short, I decided this was my opportunity to give back and contribute this as a small module to the Drupal modules collection.
Since I wanted to make the module available on drupal.org, I had to go through the CVS application process. In case you’re curious how to go about it, the steps are:
- Make sure your module is not a duplicate of anything else out there. If in doubt, post to the Contributed module ideas group (my posting here).
- Create your module, and validate it against the Drupal coding standards.
- Submit a CVS application. Make sure to read the instructions thoroughly. My application is not a very good example of doing this, since admittedly I was lazy and wanted to get away with the smallest feature set possible, anticipating that people will request new features through the issue queue. That didn’t go over so well, and I had to rewrite my module to be more full-featured.
- Rinse and repeat!
After almost two months of rinsing, my application finally got approved, and it was time to give back to the peoples.
Oh, how I love CVS!
Again, Drupal, being what it is, is still using CVS for version control. After reading through tons of documentation on using CVS, and tagging and branching conventions in Drupal, I was ready to commit. The only problem: "which cvs" on my Mac was staring back at me with a blank command prompt. I was able to install a pretty nice GUI for Mac OS X, SmartCVS, but really wanted to stick to the command line, since the documentation was very particular on setting the appropriate flags when running CVS commands.
In my search I have found this very helpful video on Lullabot on installing the command-line CVS on Mac OS X. All I had to do was download the Apple XCode Tools, and install a small subset of it to get the CVS. To my dismay, I found that the in the 3.x version of the XCode, the “small subset” is close to 2Gb, which was a no go.
Installing command-line CVS on Max OS X
And finally the solution. In fact, it was very simple. Just download and install Pacifist, which is a sort of installation package browser. Browse the XTools installer with it, search for “CVS”, and install the parent package which contains the CVS. I think it was called “DeveloperToolsCLI”. Bam, you have command-line CVS!
And without further ado…
…lo and behold: my first contributed Drupal module: RSS Permissions.


