Upgrade Your Tools: Build a Drupal Developer Toolkit Tutorial

It's time to upgrade your Drupal Toolkit.

Somehow we're nearly at the end of September. School is back in session and the summer "break" has ended. Daymuse's hometown of Richmond hosted more than a half million bike race spectators. Drupal's major event, Drupalcon, was a smashing success in Barcelona. Now we're looking forward to New Orleans next year. 

You may have noticed a long stretch since our last post on the Daymuse blog. Summer sent me gallivanting across Europe, turning the tables on my grandparents whom were my guides when I was younger. The rest of Daymuse had to pickup the slack and so we haven't written anything new around here recently. Traveling with limited hardware also let me put a lot of these tools to the test. If you're just getting back into the swing of things too, what better way to stretch your Drupal muscles with the latest and greatest tools for your work?

It doesn't matter if you're still in Drupal training or you're a Drupal expert: there's always new tools that can make your Drupal work faster, better, or cheaper. There's a lot of ground to cover here as this article originally surpassed 5,000 words rather quickly. Instead of a single monster post on Drupal tools, I'm going to break this up into a tutorial series of five posts over the coming days covering different subtopics:

  1. Drupal-specific Modules and Tools for Developers (that's this one!)
  2. Web Services for Drupal Developers and Consultants
  3. Workflow Web Apps for Drupal Developer Quality of Life
  4. Go-to Applications every Drupal Developer Needs
  5. The Cutting Mobile Edge: Do Drupal Development from Anywhere

Each new post in this Drupal Developer Toolkit tutorial series will highlight different day-to-day tasks a Drupal developer may run into and tools to help solve problems. Let's get right into Drupal-specific Modules and Tools for Developers today. Have your own idea to add? Take to Twitter!

Drupal Development Tools: Expand your Developer Toolkit

With the standout exception of Drush, the "tools" mentioned below are really Drupal modules. The reason I'm defining them as useful day-to-day tools is that they don't actually do anything on their own. They add no particular functionality to a Drupal implementation themselves. Instead they give you, the developer, a bit more of an overview and more reporting options. They're better thought of as extensions of the "Status Report" page. These are excellent tools to add to your Drupal developer toolkit.

Security Review Module

​Before we launch any new Drupal site, we run through this module's checklist. It will verify each condition is met and provide suggestions on how to solve unmet conditions. The module runs a gamut of tests, from file permission checks to .htaccess verifications.

It's important to consider that merely passing "all green" on this checklist doesn't mean the site is 100% safe. Instead, think of it as an excellent starting point. Once you've gone through the process on a few sites, you'll get into the habit of taking care of unmet conditions before you even run the test. That's a great habit to build.

SEO Checklist Module

Just like Security Review above, this module serves as a task list for making sure our work meets the basic needs of search engines and their understanding. Incidentally, strong search engine understanding correlates with accessibility on the web. Even if you don't care too much about search engine optimization (SEO) or page rankings, you should care about your user's ability to read and understand your website. This module doesn't have anything to do with page-level ranking improvement: it will not help you build backlinks, test keyword strength, or write well. That's still up to you and your content contributors.

Within the realm of Drupal, there's nothing that really compares to Wordpress' infamous Yoast SEO plugin which does focus on content-level optimization. Drupal does have a cobbling of modules (that are severely outdated and bloated) which attempt to replicate Yoast's functionality but fail. I see room for a module developer to carve out quite the user base for a new module! UpdateA reader wrote in to let us know they just posted a comparison article of the SEO compliance suite of modules mentioned here with the new—drumroll—Drupal Yoast SEO module just released to beta! That's very exciting for the content side of Drupal; we'll be doing our own testing with this SEO toolkit soon! 

Hacked! Module

You didn't modify Core, right? That's the cardinal rule. I'm going to assume you didn't modify Core.

Drupal Meme: Never Hack Core or Cat Dies

But, if you did, or you're afraid someone else with code access did, Hacked! can tell you. What you're more likely to run into is a modification to a module or theme. Often this is a module patch you applied in the past and then forgot about. That can be a real pain in the butt for a Drupal developer: which module was patched by whom to do what? Hopefully, you're tracking your patch files in your version control system. Running a test with this tool will identify which contributed modules have been modified and even diff the changes for you.

Hacked! helps you avoid upgrading a module and overwriting module changes via patches or modifications to cure a problem or solve an edge case issue. It's also an incredibly useful tool if you're new to a project or a client and want to verify the integrity of the Drupal codebase.

Drush command-line Utility for Drupal

This is the do-everything swiss-army knife command-line utility of Drupal. I hesitated even including it here because it should be a given, but just in case: Drush, you need it. At the simplest level, Drush just gives you the ability to do nearly everything you can do in the Drupal GUI via the command-line. That may not sound like a big deal, and though it's a huge time saver simply by being command-line driven once it's in your workflow, the real power of Drush comes from bulk processing tasks. Want to run a database update across several sites at once? You can do that in one command and Drush will keep plodding along while you do something else. Want to sync the /files directory across multiple environments (dev, stage, prod)? One line.

Drush is the power user shell for Drupal workers. If you're not using Drush already, and you do something that even resembles Drupal development work, this tool carries the single biggest impact on this list for your life.

Honorable Mentions: A Better Drupal Administration Experience and Broken Link Checker

Drupal 7's administration experience out of the box has grown long in the tooth. That's alright because Drupal's community has created an incredibly powerful set of modules that combine to create a responsive, intuitive, and user friendly administration experience. I wanted to give an "honorable mention" to our post detailing how to put together such an experience.

You should keep an eye out for broken links within your Drupal site. Rather than make this a manual process (or having to watch logs for 404 errors), the community offers an excellent module, Link checker, which will create a report of broken links in your content. This makes the process more proactive and automated. We wrote up a tutorial detailing a complete strategy of how to avoid broken links, too.

In the next post for this series, we'll be tackling web services. These are especially important for small Drupal firms, consultants, or freelancers as they help makeup for low headcount and lack of business expertise. Summer has set and we're off to another exciting season of Drupal and web development on the Daymuse blog. Stay tuned.

Did you like this post and want to see more on Drupal tools? Share it!

Chris's picture