Overriding a template file (.tpl.php) from a module

There are many times when a custom module provides functionality that requires a tweaked or radically altered template file, either for a node, a field, a view, or something else.

While it's often a better idea to use a preprocess or alter function to accomplish what you're doing, there are many times where you need to change the markup/structure of the HTML, and modifying a template directly is the only way to do it. In these cases, if you're writing a generic custom


D8CX at MWDS - Porting Wysiwyg Linebreaks to Drupal 8

I have been at the Midwest Drupal Summit for the past few days, focusing on #D8CX and reducing Drupal 8's technical debt (at least, a tiny bit of it!).

Wysiwyg Linebreaks

My main goal at the conference was to port the Wysiwyg Linebreaks module to Drupal 8. I originally built the module for Drupal 6 while helping the Archdiocese of St. Louis migrate almost 50 separate Joomla-based websites into one organic-groups-driven Drupal site. Their legacy content used linebreaks (

Bacon Donuts

The Drupal Way™

The Drupal Way

I've worked with a wide variety of developers, designers, content managers, and the other Drupal users in the past few years, and I'm pretty sure I have a handle on most of the reasons people think Drupal is a horrible platform. But before I get to that, I have to set up the rest of this post with the following quote:

There are not a hundred people in America who hate the Catholic Church. There are millions of people who hate what they wrongly believe to be the

Install Node.js on CentOS 6 using yum

If you're running CentOS 6.x (I use 6.4 currently), and you have installed the EPEL yum repository , you can install Node.js simply with:

$ sudo yum install npm

Done. Check for node's successful installation by running $ node -v (it should return something like v0.10.4 ).

Adapted from my answer on Server Fault .


Running Vagrant + VirtualBox from an External Drive

I have a MacBook Air with a 128 GB SSD, so I'm always in a bit of a crunch for space on my hard drive. Developing with local VMs provisioned by Vagrant and VirtualBox makes my Drupal (and other) development experience great, but it also quickly fills up the (tiny amount of) remaining space on my SSD!

Here's how you can move your Vagrant files and VirtualBox VMs out of your home folder onto an external hard drive:

  1. Copy the .vagrant.d folder

Pope Francis is not the anti-Benedict

It seems the media has taken every opportunity to spin Pope Francis' words as being veiled criticisms of his predecessor's own words, especially when it comes to liturgical and theological topics. While it's great seeing the media show meager support at times, rather than destructive criticism for a Pope at every turn, it's misguided and not really that helpful.

All the press is saying is that what makes Catholicism Catholic (liturgy, ritual, priesthood, catechesis, etc.) is irrelevant, and we should


Steubenville 2013 - Chosen

This weekend, I'm down in Springfield, MO, photographing the Steubenville St. Louis Mid-America youth conference (which is on its second weekend—more than 6,000 teens participate in this event!).

Steubenville 2013 - Chosen Logo

I'll be posting my pictures in near-real-time to Flickr ( on stlyouth's photostream — here's a link to all the pictures from the weekend ), and I'll hopefully have time to do a writeup on the gear


Migrating Drupal 7 users from site to site while preserving password hashes

From time to time, I use the incredibly powerful Migrate module to migrate a subset of users from one Drupal 7 site to another.

Setting up the user migration class is pretty straightforward, and there are some great examples out there for the overall process. However, I couldn't find any particular documentation for how to preserve user passwords when migrating users from D7 to D7. It's simple enough to set the 'md5_passwords' boolean for Drupal 6 to Drupal 7 user migrations, so


Copyright, the USCCB, and Evangelization

The USCCB continues to wield copyrights for and squash evangelical uses of Vatican-issued texts that are of critical importance to the Church's mission of evangelization.

Brandon Vogt decided to post the Holy Father's latest encyclical, Lumen Fidei , to his blog in formats that are accessible to the masses (epub, kindle, etc.), but was quickly made to remove these downloads from his blog because of a copyright claim by the USCCB.

Obviously, Brandon doesn't own the rights to the textâ€


Quickly generate secure, random passwords (Mac)

If you use Mac OS X, add the following line to your .bash_profile :

alias passme='openssl rand 48 -base64 | pbcopy'

Whenever you need a password (like when you're registering a new account or resetting your password because yet another online service you used was hacked), just fire up the Terminal and type in passme . Then paste the password that's copied to your clipboard into the password fields, and into your password manager (I use 1Password )