First impressions of Drupal 8

First impressions of Drupal 8

With over 200 new features and improvements, the upcoming release of the world's leading open source web content management platform will seduce you. So reads the first paragraph of the Drupal 8 section, which drupal.org is dedicating in their next release.

At SeeD we have been seduced by this new version and therefore took on the task of migrating our previous site from Drupal 7 to Drupal 8, taking advantage of a new and clean design. This is the first in a series of articles in which we will explain our experience in this exciting adventure: from conception to launch and maintenance of our new site in Drupal 8.

Drupal 8 is still in beta and is not recommended for non-technical users, nor to build high traffic or high availability sites. At this stage it is recommended for developers and builders to test it and contribute in solving "bugs" or critical errors found during testing.

When will Drupal 8 be ready?

This is the million dollar question, to know its status have been several efforts by cabalists, one that seems close to reality is the Drupal Release Date, a site that in accordance with the new issues that are being created (active) and those that are resolved (fixed), estimates the release date. There is even a Twitter account @ isd8outyet which mentions daily if Drupal 8 has been released, that is, it say "yes" or "no", as you must be thinking, so far has only tweeted "no". What is true is that the first RC (release candidate) Drupal 8 will be released when there are zero critical issues and will be released as a stable version when there are zero major issues. What is interesting is that you can make a prediction of when Drupal 8 will be ready and win a prize ticket for the next DrupalCon in Drupal 8 Hivemind. According to the estimate given by Dries Buytaert in an informal and "out-of-the-record" talk during DrupalCon LatAm in Bogotá, he believes that by April 2015 they should be very close to the "release candidate".

One of the things that you quickly realizes when you start developing with this new version is that the documentation of Drupal 8 compared to Drupal 7 is scarce. Of course this will be solved as it becomes more stable, since its development is moving quickly and it needs to continue this pace to arrive at its mature version as soon as possible. So we have to have good skills to search on Google, inspect and learn from the core code, use the trial and error method, and ask in IRC or Drupal Answers.

Regarding site builders:

Drupal 8 is amazing. In no time you can build almost the entire site, without using a contributed module. Sometimes you can come across some mistakes, but it is to be expected in beta versions.

  • Building content types is more powerful, you can set view modesform modes and many different fields such as e-mail, entity referencelink, etc.

  • Ability to perform a multi-language site: you no longer need to have a dozen modules for this, it is included in the core of Drupal 8. From the first installation screen you can select your native language and from there everything will be translated, including views and image fields.

  • WYSIWYG editor is now part of the core. An online editor was also included to edit faster, i.e. you no longer have to go to a page to edit content, but you can do it directly while viewing the article. It’s great!

  • Views was also included in the core and works great.

Regarding the back-end:

  • Focused on current standards: some components of the Symfony framework were included, and other external libraries such as Composer, PHPUnit, Guzzle, the Zend Feed component Assetic and more. This new version includes much more modern, object-oriented code (classes, inheritance, interfaces, etc) and includes the latest PHP standards (for example, PSR-0, PSR-4, namespaces, traits). Drupal will not be on an island anymore!

  • Many components are plugins and to modify their behavior, you just need to extend the class and put it in the correct namespace.

  • Tip: If you're going to develop a production site, you have to make sure to use beta versions and not dev versions.

  • You can not make an "upgrade" of a beta version to another. So, to update, be careful. Advice: when a beta version is released, in the description you can read about the aspects to consider when you are upgrading from one beta to another.

  • The translation system is truly spectacular.

  • Web services in the core: You can publish content in JSON or XML format (it is integrated into Views) so that it can be consumed by another application, which is very useful for headless.

Regarding the front-end:

  • The construction of a custom theme for Drupal 8 is an almost entirely different process than construction of one for Drupal 7.

  • Most notable is the change in the template engine of PHP Template to Twig. The latter is much easier and more intuitive than its predecessor, and you do not have to know PHP to make a template.

  • On many occasions it was necessary to use {{dump ()}} to show all available variables in the template to choose the necessary ones.

  • Drupal 8 has added extensive support for standard accessibility technologies including WAI-ARIA and has been working to provide a more semantic HTML5.

Creating websites with Drupal 8 is possible today. Of course we have to be aware of the limitations of the modules that have not yet been migrated and of the errors that can still be found in the core. On the other hand, working with Drupal 8 feels good. They have incorporated the best practices in both the back-end and front-end and the experience of creating website using its interface is really solid, which is really solid. And indeed it has won us over! We look forward to tell you how the development of our first project in Drupal 8 for a client goes.