Developer magic: develop locally, but retrieve sites/default/files from production server

Lullabot nailed it: If you work on large Drupal sites, you probably run into the problem of the enormous "files" directory. Keeping your development server (or personal computer) in sync with production is a big pain, but without those uploads and file attachments it's easy to miss important design problems with site content.

They provide a fix, but one thing we would like to do is serve the local file if it exists, only then access the remote server. This is the set of rewrite rules we recommend you put in your vhost definition (don't touch your Drupal .htaccess):

<VirtualHost *:80>
  DocumentRoot /home/me/src/

  <IfModule mod_rewrite.c>
    RewriteEngine on
    # Force image styles that have local files that exist to be generated.
    RewriteCond %{REQUEST_URI} ^/sites/([^\/]*)/files/styles/[^\/]*/public/((.*))$
    RewriteCond %{DOCUMENT_ROOT}/sites/%1/files/%2 -f
    RewriteRule ^(.*)$ $1 [qsappend,last]
    # Otherwise, send anything else that's in the files directory to the
    # production server, if it does not exist.
    RewriteCond %{REQUEST_URI} ^/sites/([^\/]*)/files/(.*)$
    RewriteCond %{REQUEST_URI} !^/sites/[^\/]*/files/css/.*$
    RewriteCond %{REQUEST_URI} !^/sites/[^\/]*/files/js/.*$
    RewriteCond %{DOCUMENT_ROOT}/sites/%1/files/%2 !-f
    RewriteCond %{DOCUMENT_ROOT}/sites/%1/files/%2 !-d
    RewriteRule ^(.*)$$1 [qsappend,last]


A Simple Drupal 7 to Drupal 8 Migration

Blake Hall writes about his experience doing a simple Drupal 7 to 8 migration:

The developer in me has been itching to give it a try on a "real" project. The Drupalize.Me site itself is pretty complex: e-commerce (with recurring billing), video delivery, and piles and piles of content. Suffice it to say it's not a prime candidate for migration right now. Our blog however, is definitely a better prospect. Justin has a great new design for us. Amber has mentioned how much she'd like the new Drupal 8 authoring tools. The blog is relatively straight-forward which makes it a great way for our whole team to start using Drupal 8. So, as we start to think about upgrading our blog the first thing we're going to have to think about is data migration. Let's take a look at Migrate module, that's now part of Drupal core, and see how much work we might have ahead of ourselves.

18 cool Drupal 8 modules for site builders

Joris Snoek gives us his top list of Drupal 8 modules for site builders:

Furthermore, what I noticed last month on module updates: ... Validating a form in your Drupal website without refreshing the page. This widely used module now offers a Release Candidate for Drupal 8.

Useful list, even for Drupal 7 builders.

Drupal 8: BigPipe module ready

Wim Leers writes about Drupal 8's Big Pipe module, his quest to make the entire web fast:

Rather than explaining what it does, see for yourself:

In search of the most optimized image in Drupal 7

Jim Birch writes about image optimisation:

While Drupal Image styles allow us to create the exact size we want, I was looking for a way to better optimize the image size, make progressive jpegs, and keep the rendered images looking as close to the original as possible.

Some useful tips there.

PHP/Apache and other software changes

We have performed a couple of upgrades recently. Our PHP 5.5 version is now 5.5.30, the latest available. We upgraded to Apache 2.4, so we're running Apache 2.4.7. phpMyAdmin version is now 4.5.2, the latest available.

We've also upgraded Drush to version 8.0.0, the latest available.

And finally, our mail server is now running RoundCube 1.1.3.

Front End Performance Strategy: Styles

Jason Stanbery writes about front-end performance with Drupal:

The quest for improved page-load speed and website performance is constant. And it should be. The speed and responsiveness of a website have a significant impact on conversion, search engine optimization, and the digital experience in general.


Once again we’ve demonstrated how sloppy front-end implementations can seriously hamper Drupal’s back-end magic. By favoring style sheet aggregation and reining in exuberant preprocessing, we can save the browser a lot of work.

Headless Drupal with Angular JS and Bootstrap - Hello World

Tyler Frankenstein presents a short introduction to headless Drupal:

This tutorial describes how to build a very simple de-coupled Drupal web application powered by Angular JS and Bootstrap. The inspiration for writing this tutorial came after completing my first Angular JS module (angular-drupal), which of course is for Drupal!

Drupal Performance Optimization Checklist

Neerav Mehta presents an exhaustive list of things you can do to make your Drupal site fly:

You must have read plenty of articles on how to tune your Drupal site to improve its page load times. This post assembles an exhaustive list of all the configurations and tweaks you can do to improve Drupal's performance.

Note that many optimisations mentioned by Neerav come default with Xplain Hosting such as Varnish and access to memcache.

Build it with Backdrop

Jen Lampton Nate Haug surveys backdrop:

Backdrop CMS is a fork of the Drupal project. Although Backdrop has different name, the 1.0 version is very similar to Drupal 7. Backdrop 1.0 provides an upgrade path from Drupal 7, and most modules or themes can be quickly ported to work on Backdrop.

Backdrop is focused on the needs of the small- to medium-sized businesses, non-profits, and those who may not be able to afford the jump from Drupal 7 to Drupal 8. Backdrop values backwards compatibility, ...

Summary: Backdrop CMS is, simply put: Drupal 7 plus built-in Configuration Management, Panels, and Views.