Drupal8 : novedades y nuevas funcionalidades

Post on 12-Apr-2017

58 views 1 download

Transcript of Drupal8 : novedades y nuevas funcionalidades

Alberto Permuy Leal - //Codery_ CDTIC - Santiago de Compostela

Outubro 2016

?

Alberto Permuy leal

spam

Introducción

Nuevas funcionalidades

Mejoras para site builders, desarrolladores y themers

Errores más comunes y buenas prácticas

WHO ARE YOU?

¿Qué es Drupal?

Drupal es un CMS/CMF

Software modular

Buen ejemplo software colaborativo

drupal.org

¿Qué es Drupal?

PHP

Capa abstracción de BBDD

SGBD: PostgreSQL, MySQL,SQLite…

Servidor web: Nginx, Apache, IIS

SS.OO: Linux, Windows, Mac, BSD…

pila tecnología

Software libre

Comunidad

Cuota de mercado

Posición de mercado

¿Quién usa Drupal?

¿Por qué Drupal?

¿Por qué Drupal?Mobile-first

Integración con 3º

Seguridad

Muy sencillo crear contenidos

Multisite

Multiidioma

Tecnologías de vanguardia

Tecnologías de vanguardia Symfony 2Conjunto de componentes PHP desacoplados y reutilizables.

Drupal 8 incluye:

HttpFoundation

HttpKernel

Routing

EventDispatcher

DependencyInjection

ClassLoader

Serializer

Yaml

Validator

Tecnologías de vanguardia ComposerHerramienta gestión de dependencias en PHP

Permite declarar librerías de forma dependiente en un proyecto.

Drupal 8 se puede instalar con todas sus dependencias con Composer

drupal-composer.org

GuzzleCliente PHP para HTTP que abstrae capa de transporte HTTP.

Permite gestionar peticiones síncronas y asíncronas utilizando la misma interfaz.

Útil para la integración de API RESTful

Tecnologías de vanguardia

Twig

Motor de plantillas Symfony

Compilador de plantillas en texto plano: código optimizado => rápido y seguro

Sintaxis simple para facilitar trabajo a frontend developers

Tecnologías de vanguardia

Tecnologías de vanguardia

Nada volverá a ser como antes…

- - Traducción con módulos Responsive con temas Nodos REST con módulos Configuración en BBDD JS con módulos

OOP Translate everything! 100% responsive Entidades REST in core Conf. Management JS en core

Drupal 7 Drupal 8

NOVEDADES

1 - nuevos camposDate

Email

Link

Reference******(Yeah!)

Telephone

2 - fields everywhereNodos

Bloques

Comentarios

Usuarios

Taxonomía

3 - ckeditor

4 - quick edit

5 - imagenes responsive

6 - views

7 - multiidioma

8 - configuration manager

9 - webservices

LO QUE VEMOS

NOVEDADES - LO QUE VEMOSInstalador

Estructura de directorios

Entorno de administración

Gestión de contenido

Gestión de usuarios

Gestión de módulos

show me the code

Mejoras Site BuildersViews en core

Formularios edición

WYSIWYG en core

Inline editor

Fields: entity reference, mail, link, date

Fields everywhere

Multilenguaje

Configuration management

Mobile first

configurationmanagement

configuration management 8Drupal maneja dos tipo de datos:

Contenido: entidades, nodos, taxonomía…

Configuración: Tipos de entidades, tipos de contenido…

En Drupal 7 la configuración se almacena en BD

Drupal 7, deploy de código sencillo.

Drupal 7, deploy de configuración no es tan sencillo.

¿ solución ?

configuration management 8 - iihook_update_N()

Se ejecuta una vez y se actualiza la versión del esquema de base de datos para un módulo especifico.

Se requiere experiencia

Features

Crea configuraciones de base de datos para exportar a otros sitios/instalaciones/entornos

Permite p.e exportar configuración de “vistas” a código.

configuration management 8 - iiiProblema de Features

No ha sido diseñado para “pasar” configuración a código.

Si un módulo se actualiza, necesitamos regenerar la “feature”.

El código generado es PHP. Si encontramos un conflicto….desastre a la vista!!!

configuration management 8 - IVDrupal 8

Se considera necesario una solución para “pasar” configuración a código.

CMI Drupal 8

configuration management 8 - IVYAML

Uso YAML como formato estándar para archivos de configuración.

Código limpio y sencillo.

Fácil mantenimiento en CVS

configuration management 8 - IV

…seguimos usando configuración en BBDDD

Motivo: caché!!!

D7: config en BD y exporta a código.

D8: config en código y se cachea en BD.

show me the code

Mejoras Desarrolladores

Componentes de Symfony

PHPUnit

API Rest en core

OOP

Entity API completo

Migrate en core

Big Pipe en 8.2.x

ENTITY API

entidades en core : Drupal 8 - iI

“Entities, in Drupal, are objects that are used for persistent storage of content and configuration information”

- Entity API

evolución entidades versiones drupal

Drupal 3 y versiones anteriores: solo nodos.

Drupal 4: flexinode

Drupal 5: CCK

Drupal 6: “Nodificación” con CCK

Drupal 7: Entidades limitadas en core

Drupal 8: en core!

entidades en core : Drupal 8 - III

Un artículo o entrada de un blog

Un usuario

Un término de vocabulario

Cualquier estructura creada por nosotros

Una unidad de información estructurada

entidades en core : Drupal 8 IV

Funciones para crear, leer, actualizar y borrar entidades.

Integración con Views y otros servicios/ componentes

“loadable” => Dispone de un conjunto de funciones para gestionar la información.

entidades en core : Drupal 8 IV

Cada entidad puede tener “subtipos” => bundles.

Podemos “adjuntar” campos a las entidades.

“optionally fieldable” => Cada tipo de entidad tiene un conjunto de propiedades.

BIG PIPE

BIG PIPE EN DRUPAL 8Nace en Facebook como un método para optimizar la presentación de contenido.

BigPipe “separa” los bloque más pesados y los carga de forma independiente.

El resto de elementos, menos pesados, toman el “foco” y son presentados mientras se cargan el resto de elementos.

https://www.youtube.com/watch?v=JwzX0Qv6u3A

webservices

rest in core- DRUPAL 8Cualquier interfaz entre sistemas que usa HTTP para obtener datos.

En Drupal 8 tenemos REST en core.

Drupal 8.0 y 8.1: rest.settings.yml

Drupal 8.2 REST resource config setttings.

show me the code

Mejoras Desarrolladores

drushdrupal console

Mejoras Themers

Motor plantillas Twig

Classy base theme

Responsive everything

Modernizr en core

HTML5

Jquery 2.1.3

https://www.drupal.org/docs/8/theming

Mejoras Themers

show me the code

errores comunes

errores comunes

Is Drupal 8 ready? Yes

Drupal 7 comfortInversión

errores comunes

Módulos core y contribuidos

http://www.bluespark.com/status-top-100-contributed-modules-drupal-8

errores comunes

Nueva estructura de directorios

errores comunes

OOP

errores comunes

PHP IDE

errores comunes

Requerimientos entornos

ISP e infraestructura

errores comunes

Debug

errores comunes

No Config Management

That’s all folks!

Alberto Permuy Leal

@apermuyapermuy@codery.es

www.codery.es

https://speakerdeck.com/opdavies/drupal-8

https://dev.acquia.com/blog/drupal-8/10-new-features-in-drupal-8-core/18/05/2016/6721

http://es.slideshare.net/keopx/drupal-8-workshop-eghost-2015

http://www.slideshare.net/Ateneatech/entidades-en-drupal-8

http://es.slideshare.net/iztoksmolic/drupal-8-most-common-beginner-mistakes

https://www.drupaleros.es/articulo/optimizacion/drupal-8-bigpipe-como-metodo-de-carga-rapida-alternativa?page=1

https://www.youtube.com/watch?v=qn-y1rhg_eg

créditos

créditosDrupal es una marca registrada de Dries BuytaertLas imágenes son del genial James GillardEl diseño del flyer del Drupal Day es de @quenerapu

Puedes usar este documento siempre que respetes su autoría y su licencia.