View
58
Download
1
Category
Preview:
Citation preview
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
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
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.
Recommended