Acquia Drupal
When I’m developing I don’t like having to download stock modules or run extra drush commands that I use in nearly every project. Acquia is a commercially supported Drupal distribution that comes pre-stocked with Drupal’s greatest hits and it’s free. If you’re new to Drupal and don’t have much development experience this is a great way to go since Acquia takes it a step further and offers Drupal ‘Dev Desktops’ that you can download for both Windows and Mac that let you get going fast without even having to install a web server.
Mamp
(Free Mac app, equivalent for windows is Wamp) www.mamp.info
Mamp allows you to create a local web server where you can install Drupal and mess around with it. It has PHP installed, MySQL and a database management tool, phpMyAdmin . There’s a PRO version available but generally the free version is good enough.
Coda
(Mac app) www.panic.com/coda
Coda is a minimalist text editor/ftp/ssh client for mac. It’s also beautiful and made by the super smart people at Panic. They also make Transmit, a great ftp client, that integrates somewhat with Coda. I’m still hoping for some kind of cloud syncing ability from Coda, but I don’t think Panic has made any promises. Transmit is great and allows you to sync data via MobileMe, but it’s not feature complete. I don’t personally find Coda’s subversion features to be adequate but I really love GUI’s and don’t like terminal that much, so I use Versions instead. For Git projects I use Gity (free Mac app).
Devel
(Drupal module) drupal.org/project/devel
It’s unfortunate that the name isn’t a bit more indicative of the power behind this module. It is essential for building anything with Drupal. Devel tells you all about what Drupal is doing and, in opening that up, gives you a chance to shape it’s output and ‘hook’ into it’s operations. In combination with Firebug it is the route to understanding and manipulating Drupal.
Firebug
(Plugin for Firefox web browser) getfirebug.com
I’ve already mentioned it, but Firebug deserves another mention and a chance to list some of it’s many submodules. With Firebug “You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page”, which is kind of handy. Drupal has it’s own set of tools for Firebug, Drupal For Firebug which integrate with Devel to show you all sorts of useful information, all you need to do is wrap something with firep(); and arrays are displayed nicely formatted in Firebug without messing up your page layout. Firecookie, Firepicker, and Pixel Perfect are a few of my favorite firebug addons and there are many more.
Dropbox
(Free 2gb for Windows, Mac, Linux and Mobile) www.dropbox.com
I keep copies of my “rough” work (scripts, demos, modules and themes) in dropbox and symlink those directories to Drupal installs in my /User/Sites directory. That way I can work on the same module on different machines without having to manually sync those folders. If I have something quick I want to try I revert the database and install my module from scratch, ready to go.
Features
(Drupal module) http://drupal.org/project/features
Although I’ve known about features for some time, it wasn’t until recently that I’ve seen first hand how seamlessly Features integrates with subversion. You can export your feature, overwrite it in subversion and then ‘revert’ to the new version — a bit of a mind twister for me at first. Using Features is an amazing way to manage small and large feature sets in simple and complex projects with a few or many developers working on the same code base.
Random notes:
I didn’t want to build a giant link list to other sites but of course no toolbox is complete without drupal.org, lullabot.com, stackexchange.com, and the recently launched drupal.stackexchange.com.
My life changed immeasurably for the good when I started debugging JavaScript with console.log();. If for some reason you’re not debugging your pages with console.log() stop what you’re doing and go learn how to use it and the other amazing information firebug can provide.