12/04/2016 Drupal 8. Primeras impresiones

En este post, mostraremos las primeras impresiones después de instalar por primera vez un Drupal 8 con los módulos por defecto.


Instalación:

Lo primero que nos encontramos después de bajar el código (versión 8.0.5) e intentar ejecutar el instalador son una série de errores php no controlados por el Drupal que nos dan una primera sensación de "esto no funciona"...

Revisamos que nuestro servidor de desarrollo cumpla con los requisitos mínimos, en especial la versión de PHP, que como mínimo tiene que ser 5.5.9, una vez comprobado, intentamos seguir con el instalador.

Una de las primeras cosas que nos pide, es el idioma. Le ponemos un idioma diferente al inglés i el Drupal intenta bajarse de sus servidores los ficheros de traducción automáticamente. En nuestro caso, nos da un error que no nos permite continuar:

 

Notice: Use of undefined constant CURLOPT_TIMEOUT_MS - assumed 'CURLOPT_TIMEOUT_MS' in GuzzleHttp\Handler\CurlFactory->applyHandlerOptions() ...


Antes de perder más tiempo cambiando la configuración del servidor, optamos por probar la instalación en inglés. Vemos una página de resumen de cumplimiento de requerimientos dónde ésta vez nos recomienda que tengamos instalada la extensión OPcache de php, y aunque no la tenemos instalada, nos deja continuar.

Después nos pide la configuración de la base de datos, el Drupal intenta conectarse y obtenemos otro error, ésta vez de Mysql:

 

Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]

 

Cambiamos de servidor Mysql para agilizar el proceso y ésta segunda vez sí que conecta, empieza el proceso de instalación, y en unos minutos ya tenemos el Drupal 8 instalado, mostrándonos un formulario casi idéntico al de Drupal 7, para poner el nombre del sitio, crear usuario administrador, zona horaria, etc.

Conclusiones: Esperamos que en futuras versiones pulan un poco más la comprobación de requerimientos, ya que hemostenido que ir configurando el servidor a medida que íbamos encontrando errores no controlados por el instalador.


Novedades en módulos y temas del núcleo

Lo primero que nos encontramos después de la instalación, es que el tema por defecto en el frontal es el Bartik, y en el backoffice, viene activado por defecto Seven, eso si, ésta vez los dos son responsivos.

Vamos a la página de módulos (ahora en lugar de poner "Modules" pone "Extend") y hechando un vistazo, vemos algunas funcionalidades de módulos principales como System o Menu, se han modularizado, por ejemplo, ahora encontramos módulos como Automated cron, Custom menu links o Custom blocks.

Citamos brevemente otros módulos que nos llaman la atención dentro del apartado Core (núcleo) que no nos sonaban en Drupal 7:

  • Breakpoint: Viene activado por defecto, según la descripción, es para definir puntos de responsividad, es decir, crear grupos de media querys o algo parecido, relacionadas con la maquetación responsiva.
  • CKEditor: Dónde en Drupal 7 teníamos el Wysiwyg (Siglas de: "what you see is what you get") y lo combinábamos con el Tinymce (o otros editores), aquí por defecto viene el CKEditor directamente, en el core y activado por defecto.
  • Configuration manager: Manejar cambios de configuraciones, pinta bien. Parece que puedes exportar e importar configuraciones en formato YAML, seguramente todo un acierto para sobrellevar mejor la sincronización entre sitios en Drupal 7.
  • Internal Page Cache / Internal Dynamic Page cache: Módulos independientes para poner en cache, páginas para usuarios anónimos y páginas para usuarios logados respectivamente.
  • Quick edit: Editar contenido in-situ (falta ver si es diferente a los menus contextuales que ya teniamos en Drupal 7)
  • Responsive image: Formato de imagen y mapping de breakpoints para mostrar imagenes con html y el tag picture.
  • Text editor: Funcionalidad que nos aportaba el WYSIWYG, ahora en el núcleo.
  • Tour: Provee tours guiados, tendremos que ver de qué se trata.
  • Views: Ahora las wiews están en el core!
  • Contact: En Drupal 7 ya existia para crear un formulario de contacto,  pere en Drupal 8 puedes crear los que quieras, con gestión de campos, parece que es el substituto del Webform, ahora integrado en el core.

A parte de los módulos core, hay un apartado "CORE (EXPERIMENTAL)", y contiene los módulos siguientes:

  • Inline Form errors
  • Migrate
  • Migrate Drupal

Los migrate parecen interesantes para migrar de Drupals anteriores al 8.

 

Multiidioma:

Ahora hay diversos módulos al core para multiidioma, desactivados por defecto:

  • Configuration translation
  • Content translation
  • Interface translation
  • Language

 

Webservices:

Un nuevo apartado dedicado a la integración con otras plataformas...

  • HAL 
  • HTTP Basic Authentication
  • RESTful Web Services
  • Serialization

 

Primer vistazo al backend

Resumimos lo que hemos ido encontrando a medida que nos hemos ido moviendo por el backoffice:

Apartado Content: Dónde antes habia un listado de contenido y pestaña de comentarios, ahora tenemos un listado de ficheros, con filtros por nombre, mime type y status (Temporary/Permanent)

Creación de nodosPantalla muy similar a la que encontrábamos en Drupal 7, pero con las vertical tabs a la derecha. Curioso que vemos el  "Promoted to front page", "Sticky at top of lists", pero no vemos el checkbox de "Published". El checkbox de published ahora está integrado en el botón de guardar, que ahora es un botón desplegable con las opciones "Save and unpublish" / "Save and keep published" 

Gestión de blocksLa gestión de blocks ha cambiado bastante la interfaz pero parece que tiene funcionalidad igual o muy similar a Drupal 7.

Tipos de contenidoIgual que en Drupal 7 pero puedes gestionar los formularios de edición (Basta de form_alter para esconder campos!!) . Se introduce el concepto de "form modes".

Views: Ahora en el core, está bien, porqué trae activada por defecto una view de admin/content, con filtros, customizable. Por el resto, las views se gestionan exactamente igual, ningún cambio por aqui.

ConfiguraciónEn general muy similar a Drupal 7, excepto el apartado de Filesystem, ahora podemos especificar en el settings.php la ruta dónde se guardaran los ficheros, ya no será obligatorio que estén en sites/default/files

Permisos: Miramos el apartado de permisos y por desgracia sigue igual, todos los permisos en una pantalla y un scroll eterno...

Reports: Hay un nuevo report que te muestra los campos (fields) que existen y los campos que son utilizados en las views, ésto puede ser útil a la hora de mantener los tipos de contenido

 

Iremos profundizando sobre nuestras experiencias en ésta nueva versión mayor de Drupal en posts posteriores