If you are working on a website redesign, 404s are the very real monsters under your bed. Ignore them, and they will wreak havoc on your website’s traffic. Worst of all, by the time you realize what’s happening it may already be too late.
Posts in Drupal
I’m tired of non-profits getting burned. At tech conferences, so often the happy hour conversation turns into a tech therapy session. As fun as it is to rant against clunky systems, it frustrates me that the people doing some of the most important work are often the ones most hampered by technology.
This is an update to a previous post I wrote on adding classes to blocks in Drupal 7
Sending emails with Drupal 7 is meant to work right out of the box, but that's not always the case. Depending on your environment (sendmail, anyone?) you could encounter some significant obstacles. And even if you're all setup to send off emails without any additional configuration, ensuring those emails are reliably delivered can be a different story.
In Views the only option for an exposed filter on a text field is a search box that can be configured for exact or partial word matches. In the case of a term reference, entity reference, or list field, a drop-down form element showing all options is available. This is a much nicer experience for the user when they may not know what options exist, especially if the number of options is relatively short. There don't seem to be any contrib modules that help either.
You've been doing Drupal permissions wrong for years (probably). And the fix is pretty simple. The Problem: Drupal permissions are an administrator's nightmare. The settings page is a daunting wall of nondescript checkboxes with overlapping meaning and lots of duplication. This makes bugs hard to find and permissions hard to manage. Worst of all, this user experience poses a security risk. It's just too tempting to scroll and check box after box without thinking too deeply about the consequences.
Drupal is known for its flexibility and ability to be modified at nearly every step. However, it can be difficult to make changes to the structure of your website once you've created real content.
Recently, I needed to move some existing content from one Content Type to another. With all its fields, pre-existing nodes, and small differences between field names and configuration — this seemed like a daunting task.
Sometimes, we've got to stop and examine why we do things the way we've always done them. One of the most mundane parts of working with Drupal every day is syncing Drupal databases with Drush. At this point, I think my fingers just write
drush sql-syncon muscle memory. There is a faster way though:
I recently needed to temporarily store information associated with a user's session in Drupal 8. In past versions of Drupal, I might have just thrown the data in
$_SESSION. In Drupal 8 there's a service for that; actually, two services: use
user.shared_tempstorefor temporarily storing user-specific and non-user-specific data, respectively.