First impressions with Drupal 8

Primeras impresiones con Drupal 8

By: Rolando Payán Mosqueda, Drupal Developer at SeeD

With over 200 new features and improvements, the upcoming release of the world's leading open source web content management platform is sure to win you over. That's the opening paragraph of the  Drupal 8 section that drupal.org is devoting to the upcoming release.

At SeeD we have been seduced by this new version and so we have taken on the task of migrating our previous site from Drupal 7 to Drupal 8, not without taking advantage of a facelift in the design. This is the first of a series of articles where we will explain our experience in this interesting adventure, from the conception, launch and maintenance of our new site in Drupal 8.

Drupal 8 is still in beta and  is not recommended  for non-technical users or for building high-traffic or highly available sites. In this phase it is recommended for developers and site builders to test it and contribute to the solution of “bugs” or critical errors found during testing.

When will Drupal 8 be ready?

This is the million dollar question, to know its status several efforts have been made by cabalists, one that seems close to reality is  Drupal Release Date , a site that according to the new “issues” that are being created (active) and those that are resolved (fixed) estimate a release date. There is even a Twitter account  @isd8outyet  that daily says whether drupal 8 has been released, that is, it says “yes” or “no”, as you must be thinking, to date it has only tweeted “no”. What is true is that the first RC(release candidate) of 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 . Interesting is that you can make a prediction of when Drupal 8 will be ready and win a ticket to the next DrupalCon in  Drupal 8 Hivemind as a prize . According to the estimate given by Dries Buyaert, in an informal and “out-of-the-record” talk during the Drupal Con LatAm in Bogotá, he believes that by April 2015 we should be very close to the “release candidate”.

One of the things that you quickly realize when you start developing with this new version is that the documentation for Drupal 8 compared to Drupal 7 is very scarce. Of course, this will be resolved to the extent that stabilization is achieved, since its development moves quickly and needs to continue like this to reach its most mature version as soon as possible. So we have to have good skills to search on Google, inspect and learn with the core code, use trial  and error , and ask questions on IRC or  Drupal Answers .

Regarding site builders:

Drupal 8 is amazing. In a short time you can build almost the entire site, without using any contributed modules. Sometimes you run into some bugs, but that's to be expected in beta versions.

  • Building content types is more powerful, you can define  view modesform modes  and many types of fields like  e-mail ,  entity referencelink , etc.

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

  • WYSIWYG editor  is already part of the core. An online editor was also included to make edits much faster, that is, you no longer have to go to a page to edit the content, but you can do it directly while viewing the article. It's great!

  • Views : It has also been included in the core and works wonderfully.

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 no longer be on an island!

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

  • Tip: If you are going to develop a site to go into production, you must make sure to use beta versions and not dev versions.

  • You still cannot "upgrade"  from one beta version to another . So, to update be careful, advice: when a beta version is released, in the description you can read aspects to take into account when updating from one beta to another.

  • The  translation system  is really spectacular.

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

Regarding the front-end:

  • Building a custom theme for Drupal 8 is an almost completely different process than building one for Drupal 7.

  • Most notable is the change of the template engine from PHP Template to  Twig , the latter being much easier and more intuitive than its predecessor, and you don't have to know PHP to make a template.

  • On many occasions it was necessary to use  {{ dump() }}  to show all the variables available 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 regarding modules that have not yet been migrated and that bugs can still be found in the core. On the other hand, working with Drupal 8 feels good: best practices have been incorporated both in the back-end and the front-end and the experience of creating websites using its interface is really solid. And indeed, it has won us over! We are looking forward to telling you how we are doing with the development of our first project for a client, in Drupal 8.