Drupal 8 publicado

Después de varios años de trabajo, por fin ha salido Drupal 8, esto a su vez significa que Drupal 6 queda automáticamente sin soporte.
Hay que recordar que Drupal 6 tienes unos cuantos años, y tiene varias dependencias de versión de php, que no permite utilizas las últimas mejoras que se han agregado a PHP.

La característica más destacable de Drupal 8 es que se ha construido sobre algunos componentes de Symfony 2, aunque no es el único proyecto que lo ha hecho. Por lo tanto tenemos lo mejor de la experiencia de Drupal, y a su vez unos cuantos de los componentes de Symfony 2 necesarios para hacer funcionar el nuevo Drupal 8.

Otra de las características más importantes es el cambio de Hooks a POO, no se han perdido todos los Hooks, pero a partir de ahora tenemos que acostumbrarnos a usar los name spaces de PHP, y la carga de clases, y eso será un esfuerzo por conocer la nueva API, pero el cambio será a mejor

Un ejemplo del nuevo código que usaremos:

<?php
namespace Drupal\mymodule\Tests\Foo;
use
Drupal\simpletest\WebTestBase;

/**
 * Tests that the foo bars.
 */
class BarTest extends WebTestBase {
?>

Otras de las características más importantes es que disponemos de varias herramientas para trabajar con Drupal 8:

  • Web profiler es un port de la "Tool bar" de Syfmony2 a Drupal.
  • Drush es la consola de Drupal que se mantiene en Drupal 8.
  • Drupal console, es una nueva consola de Drupal, que nos va a ayudar mucho, ya que unos de sus fuertes es el escafolding, de tal forma que nos montará el esquelo de nuestros esqueletos, y mucho más en muy poco tiempo. Se acabo picar código repetitivo.
  • Twig: junto con los componentes de Symfony 2 nos llega la implantación de twig como nuevo motor de front. Se acabo tener plantillas con código php, ahora nuestro código será de la siguiente manera:
    <!DOCTYPE html>
    <html>
        <head>
            <title>Welcome to Symfony!</title>
        </head>
        <body>
            <h1>{{ page_title }}</h1>

            <ul id="navigation">
                {% for item in navigation %}
                    <li><a href="{{ item.href }}">{{ item.caption }}</a></li>
                {% endfor %}
            </ul>
        </body>
    </html>

    Lo bueno es que ahora será imposible hacer algunas de las burradas que se hacían en las versiones anteriores de Drupal como meter consultas a la bbdd en las plantillas, meter un montón de lógica de php en las plantillas, etc...

  • La cantidad de módulos en el core ha aumentado y entre otros se ha añadido Webform, views, y viene por defecto un editor html.

Mi sugerencia, descargar, instalar, mirar las tripas, y empezar por el módulo Examples.

Oskar