drupal8 : novedades y nuevas funcionalidades

78
Alberto Permuy Leal - //Codery_ CDTIC - Santiago de Compostela Outubro 2016

Upload: alberto-permuy-leal

Post on 12-Apr-2017

56 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Drupal8 : novedades y nuevas funcionalidades

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

Outubro 2016

Page 2: Drupal8 : novedades y nuevas funcionalidades

?

Page 3: Drupal8 : novedades y nuevas funcionalidades

Alberto Permuy leal

Page 4: Drupal8 : novedades y nuevas funcionalidades

spam

Page 5: Drupal8 : novedades y nuevas funcionalidades
Page 6: Drupal8 : novedades y nuevas funcionalidades

Introducción

Nuevas funcionalidades

Mejoras para site builders, desarrolladores y themers

Errores más comunes y buenas prácticas

Page 7: Drupal8 : novedades y nuevas funcionalidades

WHO ARE YOU?

Page 8: Drupal8 : novedades y nuevas funcionalidades

¿Qué es Drupal?

Page 9: Drupal8 : novedades y nuevas funcionalidades

Drupal es un CMS/CMF

Software modular

Buen ejemplo software colaborativo

drupal.org

¿Qué es Drupal?

Page 10: Drupal8 : novedades y nuevas funcionalidades

PHP

Capa abstracción de BBDD

SGBD: PostgreSQL, MySQL,SQLite…

Servidor web: Nginx, Apache, IIS

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

pila tecnología

Page 11: Drupal8 : novedades y nuevas funcionalidades

Software libre

Page 12: Drupal8 : novedades y nuevas funcionalidades

Comunidad

Page 13: Drupal8 : novedades y nuevas funcionalidades

Cuota de mercado

Page 14: Drupal8 : novedades y nuevas funcionalidades

Posición de mercado

Page 15: Drupal8 : novedades y nuevas funcionalidades

¿Quién usa Drupal?

Page 16: Drupal8 : novedades y nuevas funcionalidades
Page 17: Drupal8 : novedades y nuevas funcionalidades

¿Por qué Drupal?

Page 18: Drupal8 : novedades y nuevas funcionalidades

¿Por qué Drupal?Mobile-first

Integración con 3º

Seguridad

Muy sencillo crear contenidos

Multisite

Multiidioma

Page 19: Drupal8 : novedades y nuevas funcionalidades

Tecnologías de vanguardia

Page 20: Drupal8 : novedades y nuevas funcionalidades

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

Drupal 8 incluye:

HttpFoundation

HttpKernel

Routing

EventDispatcher

DependencyInjection

ClassLoader

Serializer

Yaml

Validator

Page 21: Drupal8 : novedades y nuevas funcionalidades

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

Page 22: Drupal8 : novedades y nuevas funcionalidades

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

Page 23: Drupal8 : novedades y nuevas funcionalidades

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

Page 24: Drupal8 : novedades y nuevas funcionalidades

Tecnologías de vanguardia

Page 25: Drupal8 : novedades y nuevas funcionalidades
Page 26: Drupal8 : novedades y nuevas funcionalidades

Nada volverá a ser como antes…

Page 27: Drupal8 : novedades y nuevas funcionalidades

- - 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

Page 28: Drupal8 : novedades y nuevas funcionalidades

NOVEDADES

Page 29: Drupal8 : novedades y nuevas funcionalidades

1 - nuevos camposDate

Email

Link

Reference******(Yeah!)

Telephone

Page 30: Drupal8 : novedades y nuevas funcionalidades

2 - fields everywhereNodos

Bloques

Comentarios

Usuarios

Taxonomía

Page 31: Drupal8 : novedades y nuevas funcionalidades

3 - ckeditor

Page 32: Drupal8 : novedades y nuevas funcionalidades

4 - quick edit

Page 33: Drupal8 : novedades y nuevas funcionalidades

5 - imagenes responsive

Page 34: Drupal8 : novedades y nuevas funcionalidades

6 - views

Page 35: Drupal8 : novedades y nuevas funcionalidades

7 - multiidioma

Page 36: Drupal8 : novedades y nuevas funcionalidades

8 - configuration manager

Page 37: Drupal8 : novedades y nuevas funcionalidades

9 - webservices

Page 38: Drupal8 : novedades y nuevas funcionalidades

LO QUE VEMOS

Page 39: Drupal8 : novedades y nuevas funcionalidades

NOVEDADES - LO QUE VEMOSInstalador

Estructura de directorios

Entorno de administración

Gestión de contenido

Gestión de usuarios

Gestión de módulos

Page 40: Drupal8 : novedades y nuevas funcionalidades

show me the code

Page 41: Drupal8 : novedades y nuevas funcionalidades

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

Page 42: Drupal8 : novedades y nuevas funcionalidades

configurationmanagement

Page 43: Drupal8 : novedades y nuevas funcionalidades

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.

Page 44: Drupal8 : novedades y nuevas funcionalidades

¿ solución ?

Page 45: Drupal8 : novedades y nuevas funcionalidades

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.

Page 46: Drupal8 : novedades y nuevas funcionalidades

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!!!

Page 47: Drupal8 : novedades y nuevas funcionalidades

configuration management 8 - IVDrupal 8

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

CMI Drupal 8

Page 48: Drupal8 : novedades y nuevas funcionalidades

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

Page 49: Drupal8 : novedades y nuevas funcionalidades

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.

Page 50: Drupal8 : novedades y nuevas funcionalidades

show me the code

Page 51: Drupal8 : novedades y nuevas funcionalidades

Mejoras Desarrolladores

Componentes de Symfony

PHPUnit

API Rest en core

OOP

Entity API completo

Migrate en core

Big Pipe en 8.2.x

Page 52: Drupal8 : novedades y nuevas funcionalidades

ENTITY API

Page 53: Drupal8 : novedades y nuevas funcionalidades

entidades en core : Drupal 8 - iI

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

- Entity API

Page 54: Drupal8 : novedades y nuevas funcionalidades

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!

Page 55: Drupal8 : novedades y nuevas funcionalidades

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

Page 56: Drupal8 : novedades y nuevas funcionalidades

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.

Page 57: Drupal8 : novedades y nuevas funcionalidades

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.

Page 58: Drupal8 : novedades y nuevas funcionalidades

BIG PIPE

Page 59: Drupal8 : novedades y nuevas funcionalidades

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

Page 60: Drupal8 : novedades y nuevas funcionalidades

webservices

Page 61: Drupal8 : novedades y nuevas funcionalidades

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.

Page 62: Drupal8 : novedades y nuevas funcionalidades

show me the code

Page 63: Drupal8 : novedades y nuevas funcionalidades

Mejoras Desarrolladores

drushdrupal console

Page 64: Drupal8 : novedades y nuevas funcionalidades

Mejoras Themers

Motor plantillas Twig

Classy base theme

Responsive everything

Modernizr en core

HTML5

Jquery 2.1.3

Page 65: Drupal8 : novedades y nuevas funcionalidades

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

Mejoras Themers

Page 66: Drupal8 : novedades y nuevas funcionalidades

show me the code

Page 67: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Page 68: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Is Drupal 8 ready? Yes

Drupal 7 comfortInversión

Page 69: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Módulos core y contribuidos

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

Page 70: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Nueva estructura de directorios

Page 71: Drupal8 : novedades y nuevas funcionalidades

errores comunes

OOP

Page 72: Drupal8 : novedades y nuevas funcionalidades

errores comunes

PHP IDE

Page 73: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Requerimientos entornos

ISP e infraestructura

Page 74: Drupal8 : novedades y nuevas funcionalidades

errores comunes

Debug

Page 75: Drupal8 : novedades y nuevas funcionalidades

errores comunes

No Config Management

Page 76: Drupal8 : novedades y nuevas funcionalidades

That’s all folks!

Alberto Permuy Leal

@[email protected]

www.codery.es

Page 77: Drupal8 : novedades y nuevas funcionalidades

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

Page 78: Drupal8 : novedades y nuevas funcionalidades

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.