Keeping your Drupal site up to date with Git and Drush

I don't recommend trying to stay 100% on top of all updates for all of your modules all the time. However, when a security update becomes available for one of your modules, you should certainly make that update as soon as is reasonable. And while you're at it, that might be a good time to bring everything else up to date as well. Below is my recipe for keeping modules on my Drupal sites up to date, by using two of my favorite development tools, Git and Drush.

Drupal, text formats, and HTML filtering

Drupal's HTML filtering is an important security feature - we wouldn't want any blogger to be able to post JavaScript tags because that's how XSS attacks - or worse - are launched. In Drupal, unlike other blog systems like WordPress, you can't assume that the people who are allowed to create content are trusted. On many Drupal sites anyone can sign up for an account and start blogging. If those sites allowed JavaScript tags or even form tags to get through the filters it would quickly become ripe with bots and bad people doing naughty things.

Using MAMP for local Drupal development

I use MAMP for my local Drupal development on my Apple computer.

If you would like to do the same, first download the most recent version of MAMP and install it locally. When you are done, you should have directories for both MAMP and MAMP PRO in your /Applications directory.

To run the application, double click MAMP.app inside the MAMP directory. Once it's up and running, you should see a MAMP widget with a cute elephant icon.

Effective use of the drupal.org Issue Queue

I often hear from people that they are nervous about using the issue queue on drupal.org. This is understandable, the issue queue can be a scary place! Say the wrong thing in the wrong way, and your favorite drupal developers turn into grumpy curmudgeons and mark your issue as 'won't fix'.

Today, I walked to through the process of creating an issue with a friend over lunch, and thought it might be useful to post it here as well. Below you'll find the basic ingredients for creating an issue in the queue.

Patching Drupal core

Every once in a blue moon, you'll run into a problem with your Drupal site where the solution involves patching core. Start by making sure that you have a safe place to apply your patch. This would be a 'dev' copy of the website, either running locally on your own computer, or in a development environment on the same server (or one that's identical) to your live site. *Never* apply patches directly to your live website - *especially* core patches!!!

1) Start from the root of your Drupal site.

Applying patches from the command line

Applying patches is easier than you think! Start by making sure that you have a safe place to apply your patch. This would be a 'dev' copy of the website, either running locally on your own computer, or in a development environment on the same server (or one that's identical) to your live site. *Never* apply patches directly to your live website!!!

For the purposes of the example below, we'll pretend we are patching the panels module.

1) Start from the root of your Drupal site.

Pages