Upgrading to Drupal 8: Benefits and Gotchas
You've found an old blogpost! Drupal 8 reached end of life on November 2, 2021.
Read about reasons to upgrade to Drupal 10 or our Drupal 7 to Drupal 10 migration guide instead.
You've found an old blogpost! Drupal 8 reached end of life on November 2, 2021.
Read about reasons to upgrade to Drupal 10 or our Drupal 7 to Drupal 10 migration guide instead.
We just upgraded our site to Drupal 8, and a big part of that was migrating content. Most content was in JSON files or SQL dumps, which are supported by Drupal's migrate module. But what about images and other files? How could we bring those along?
We'll show how to write a custom migrate process plugin!
Inspired to do some spring cleaning today, I reviewed my archived gists to see if there's anything noteworthy. I was pleasantly surprised to find a few nuggets buried amongst random error logs and git diffs.
Some of them are interesting technical guides that took hours to write, and it's a shame that they've rotted away in obscurity. Several others were picked up by google, and turns out they even got a few comments and a bunch of stars.
If you're a Drupal developer who's on the fence about trying Drupal 8, we hope this post will push you to go for it... or inform you that it's better to wait, if your project depends on a module that's not there yet.
NOTE: This post is based on the current status of all mentioned projects as of March 30th, 2016.
The Views module is in core now, and it's stable and ready to go! This is very different than previously, when Drupal 7's adoption was blocked for many months due to unavailability of Views.
Updated on June 15, 2022
This post is based on a talk I gave at DrupalCon Barcelona and this year at MidCamp. You can see a video version of the talk below.
For themers, there are lots of exciting new features in Drupal 8: the Twig tempting system, libraries for loading assets, and the replacement of theme functions with templates. There are also a new set of core themes that come with Drupal 8.
Drupal 8 theming has lots of new features, one of the most exciting is the addition of libraries. You can use libraries to add stylesheets and javascript to your theme, globally or in particular situations.
It's 2016, we are already in the "Mobile Era" and we all love how our modern sites fit and adapt to any screen. It's amazing how a website can stretch to the 52 inches of a Samsung TV and also look good on your mobile phone. But you know what? There are 20 years of "non-mobile" websites out there screaming to be upgraded. And the first word that comes to mind is "redesign".
I needed to create a new webform on a production site recently. But as a dev, I don't have direct access to the production admin backend; I'm only allowed to push code changes and let the client's team migrate them to prod via drush updb
. So I'm supposed to export the webform configuration to code, and deploy it via an update hook, but how?
The web is full of information! Your web sites probably already use many APIs for maps, Twitter, IP geolocation, and more. But what about data that's on the web, but doesn't have a readily available API?
As a good Drupal developer, one of your New Year's resolutions should be to learn more PHP features. Today, we'll talk about iterating over tree-structured data using the awkwardly-named class RecursiveIteratorIterator.
Drupal allow you to set up installation profiles to fast-track creating a website. Rather than starting from scratch each time you create a site, you can select an install profile that does some initial configuration for you. This is super useful if you make a lot of websites that start the same way. I think multilingual websites are a good example, since there's a lot of configuration that gets repeated.
Often, organizations have big plans for multilingual Drupal. A website might be launched with only one or two languages in place, but the infrastructure is there to add more languages as soon as the translations are ready. Even if you already have two languages in place, there are many steps to adding an additional language.
Drupal 7 gives us the option to include an 'alt text' for each image field. The alt text is used by screen readers or when the image file isn't available. For some organizations with lots of authors, it's hard to get everyone actually using this alt text field. So, sometimes you want to make it required.
I frequently administer remote servers over SSH, and need to copy data to my clipboard. If the text I want to copy all fits on one screen, then I simply select it with my mouse and press CMD-C, which asks relies on my terminal emulator (xterm2) to throw it to the clipboard.