November 19, 2015

Drupal 8
As we get ready for our Drupal 8 release party today, over here at Chapter Three, Drupal 8 is starting to feel a lot more like business as usual. We launched our first Drupal 8 production site on 4/11/2015. In the intervening 8 months, we've built a few other Drupal 8 projects, and our team has learned a whole lot about what it means to do continuous development on this new version of Drupal.

Config is a Big Deal

The single biggest change that the entire team has had to wrap their head around was the introduction of CMI. We now have a 100% reliable way to deploy tiny chunks of config and the confidence to refactor site building decisions in a way that was far more daunting in Drupal 7. Letting go, and letting config is a stretch for people that were used to managing their Features like an overprotective mama bear. In the interest of preserving our own sanity we have been vary careful to manage our config in a simple way (dumping it into the repo and managing changes through careful releases in Git) but the possibilities of building custom setups on top of this stable setup moving forward are truly exciting.

You Won't Miss Contrib

It can be interesting (and a bit scary) to face a site build without your familiar cadre of 15,000 contrib modules. With views in core and many of the necessary addon modules like entityapi also in core, we don't find ourselves missing contrib all that much. The end result is truly simple builds, that we find can be far easier to iterate on and maintain than some of our Drupal 7 sites that have had many modules thrown into the mix. When we have identified modules that we definitely need to meet project needs, we've invested time and resources into getting these modules ported.

The Magic of Twig

The main change to the theme layer is the introduction of Twig. Surprisingly the adoption of Twig has been easy and straightforward for our themers. Front end devs these days are used to adopting the many new tools and techniques that fly at them on a regular basis, so incorporating a modern best-practice templating language that looks familiar to anyone who has seen a Node project has been surprisingly easy.

Writing PHP for Drupal 8

When you first open up /admin in Drupal 8 you don't see a ton of things that are drastically different. When you open up a Drupal 8 module you'll see a whole new world that can be a bit intimidating. Our experience has been that a solid Drupal 7 backend developer who has had previous experience in ANY other object oriented project or language can be effective writing Drupal 8 code after a couple weeks of hands on work. The upside being that overwhelmingly these developers are happy with what they find in 8 and start writing their Drupal 7 modules in a way that they will fit in easily to this new style.

If you are thinking about making the jump to Drupal 8, do it today. As far as Chapter Three is concerned, we will be launching our last Drupal 7 sites very soon, and will have to be convinced by strict project requirements met by an existing Drupal 7 module that is to difficult to port to build any new site on anything but 8.