Drupal Developer

Drupal 8 and Backdrop CMS - A Brief Comparison

Posted: December 14, 2014

I recently had the opportunity to see Nate Haug deliver a presentation about his Backdrop CMS project and it's upcoming 1.0.0 release (Jan. 15). It had been a while since I had taken a look at Backdrop and I came away quite impressed with both its progress and direction.

Many of you reading this will be familiar with Backdrop, but for those of you who haven't heard of the project, it is the first fork of the Drupal project, and the source of a great deal of controversy and angst in the Drupal community.

Backdrop has been perceived as a threat by many Drupalists, but I think as we step through the features and approaches of the two projects, those fears will be at least somewhat allayed. My own take is that the two systems seem complementary instead of competitive.

Continue reading

Falling Out of Love with AngularJS

Posted: December 6, 2014

Like many frontend developers these days, I've found myself very enamored with JavaScript frameworks. Among all the myriad choices, however, AngularJS has been the standout.  AngularJS is very easy to love. You can create really cool applications quickly, add to your bag of developer tricks (decoupled Drupal, for example) and generally have a lot of fun working with JavaScript. Plus, it's backed by Google, so what's not to love?

So, in between my Drupal theming projects over the past four or five months, I've been reading quite a bit on Angular, creating a few trivial projects and generally trying to understand the framework more deeply before tackling a substantial project for a client.

Continue reading

The Other Type of Website Performance

Posted: October 24, 2014

Whenever I come across articles on web performance, they typically focus on a single aspect of making high performance websites - usually the backend. That's why you'll often see posts on caching and the like, similar to what's in the first part of my series on building high performance Drupal sites (which I'll be returning to once I have a nice block of time for writing the lengthy second installment).

There are other areas that get less attention, however. Frontend performance, for example. Fortunately, the neglect of frontend performance seems to be ending and there are great tools now available to help diagnose and fix problems, first and foremost the outstanding Chrome DevTools. Also see webpagetest.org if you're not using it already. But the thing that's on my mind lately is neither of these two areas, but rather how the site performs once it's fully loaded in the browser. Yeah, I'm talking about runtime performance.

Continue reading

Web Performance: A Guide to Building Fast Drupal Websites

Posted: August 24, 2014

What follows is part one in a series of posts on web performance that I've wanted to write for quite some time. I'll not only be talking about optimizing web performance generally, but also providing specific guidance for speeding up Drupal sites.

Although I'm not a web performance specialist or expert, I have taken a keen interest in the topic in my work as a frontend developer building responsive websites. I love building fast sites and have gained some experience over the years getting Drupal to shed some its inherent sluggishness. 

As a way of systematically tackling what can be a complex subject, we'll use the results of a test from WebPageTest.org, a Google-sponsored tool that provides very in-depth information about the performance of a site in nice, easily digestible chunks.

Continue reading

Headless Drupal? It Just Might Be a Bigger Deal than Twig

Posted: August 4, 2014

If you're a frontend developer or designer that has grumbled about the challenges of Drupal theming, you no doubt applauded the announcement that the Twig template framework was being added to Drupal 8.

It's a big upgrade, no question. If you're like me, however, you may sometimes want to build a completely custom frontend crafted out of HTML, CSS and JavaScript. You may have looked at the cool stuff AngularJS or Backbone is capable of and wondered how you could bridge the gap with Drupal to enjoy that sort of freedom.

Fortunately, there are some folks that are already doing exactly that and sharing the results of their work. It's something called "Headless Drupal" and it's an approach that uses Drupal as a backend content repository and REST server.

Continue reading

A New Drupal Installation Profile and Theme

Posted: July 3, 2014

I've been working on a Drupal 7 installation profile and accompanying theme for the past couple months (demo site here). Both the profile and the theme are meant to be "starter kits" for designers and frontend developers when working on Drupal projects.

Prometheus and Atlas - the profile and theme, respectively - are where most of my Drupal projects start these days. They represent an approach that works well for me, saves loads of time and takes advantage of a lot of the contemporary frontend tools and tricks. While they aren't completely done - lots of stuff on the margins to take care of - they are in good enough shape to share, get some feedback on and hopefully find a collaborator or two.

Continue reading

Quick Tip: Syncing Databases Between Drupal Websites with Backup and Migrate

Posted: June 16, 2014

A common scenario that Drupal developers and site builders run into is the challenge of keeping the database in sync between the dev, testing and production versions of a site. Web hosts like Pantheon (highly recommended) make this a snap, but what if you're using a VPS or some other hosting that doesn't have that functionality? One popular option is to use Drush, but that isn't a good fit for everyone.

Backup and Migrate (BaM) can be a great tool for helping with this sort of problem. In this post we'll talk about using BaM for this task and include a very handy companion service that makes things even easier. What I often see with site builders who are using Backup and Migrate is the manual downloading of backup files and then doing a manual restore from the downloaded file.

Continue reading