At last, the much-anticipated Drupal 8 has delivered its first stable release. The power is at your fingertips, but now you have to answer an even more complex question: Are you ready? On the one hand, Drupal 8 offers a lot of great new features for those creating a website from scratch. On the other, as D8 is a complete rewrite of D7, it presents some real upgrading challenges. For those who are thinking through their options, this week we’ve put together a list of significant D8 features that will hopefully help you determine whether or not you’re prepared to take the Drupal 8 plunge.
Making the decision
- The hardest part of upgrading from Drupal 7 is the contrib module support. There’s been a lot of work done on Drupal 8 to bring some of the most widely-used modules into core, like Views and EntityReference, but there are still a lot of modules that you’re probably using that aren’t in core. The biggest question you’ll have to answer is how many you rely on and, of those, how many have a version for D8. Don’t give up if one of your modules doesn’t have a release. There may be a new alternative module created specifically for D8 that can replicate the same functionality. A good example is Webform. There’s no release for D8 yet (and who knows if there ever will be), but you can accomplish the same with the core Contact Form module, along with Contact Storage.
- If you have a content-heavy site with many different people managing content, you will benefit greatly from the new D8 back end. The admin theme, and the back end in general, are vastly superior to D7.
- Drupal 8 is a great choice if you need better support for HTML5. There are a lot of features of HTML5 that D7 just didn’t support out of the box. D8 comes with all of the new input types, as well as improved accessibility.
- Mobile first. Finally, the back end is usable on a phone. If you or your team is constantly making changes on the road, it’s a lot easier now.
- More powerful caching system. If performance is key to you, which it should be, this is an important consideration. Drupal 8 implements cache tags, which provides more precise cache invalidation. Now, instead of clearing an entire cache bin when content changes, only the items that need to be deleted are cleared, while everything else is kept intact. This means the cache has to be warmed less, resulting in a much faster site. Another huge addition is the #post_render_cache, which replaces certain parts of a cache that are dynamic, with the help of placeholders.
- You want to attract better talent. D8 is now built on top of Symphony, which ushers in a huge paradigm shift. Instead of mostly procedural code, D8 is heavily object-oriented, which will attract a lot of talent used to more conventional PHP frameworks. There are still a lot of things in D8 that you’ll be used to from previous versions of Drupal, especially regarding theming and hooks, but there’s now an opportunity to write more modern code within modules and plugins.
- Security and standards. D8 ditched PHP templates for Twig, which now forces a separation between your presentation and business logic. Twig is a little weird to get used to at first, but it was sorely needed. Having inherited and “saved” many Drupal sites from other agencies, we’ve seen our fair share of questionable code and SQL queries being run directly from templates. Twig is a step towards making sure that business logic is kept out of templates. It also helps with sanitizing, and can be compiled and cached for performance.
As we mentioned at the beginning, the question of whether to upgrade an existing site from D7 to D8 is one that must be pondered carefully. Ultimately, your business needs and the modules you rely on should be the drivers of your decision. But if you’re in the market for a brand new website and researching CMSs, Drupal 8 should absolutely be at the top of your list.