Drupal8 : novedades y nuevas funcionalidades

75 views

Published on

Transparencias de la sesión "Descubre las novedades de Drupal8" impartido el 4 de Octubr 2016 en el Centro Demostrador TIC de la Xunta de Galicia en Santiago de Compostela.

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
75
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drupal8 : novedades y nuevas funcionalidades

  1. 1. Alberto Permuy Leal - //Codery_ CDTIC - Santiago de Compostela Outubro 2016
  2. 2. ?
  3. 3. Alberto Permuy leal
  4. 4. spam
  5. 5. Introducción Nuevas funcionalidades Mejoras para site builders, desarrolladores y themers Errores más comunes y buenas prácticas
  6. 6. WHO ARE YOU?
  7. 7. ¿Qué es Drupal?
  8. 8. Drupal es un CMS/CMF Software modular Buen ejemplo software colaborativo drupal.org ¿Qué es Drupal?
  9. 9. PHP Capa abstracción de BBDD SGBD: PostgreSQL, MySQL,SQLite… Servidor web: Nginx, Apache, IIS SS.OO: Linux, Windows, Mac, BSD… pila tecnología
  10. 10. Software libre
  11. 11. Comunidad
  12. 12. Cuota de mercado
  13. 13. Posición de mercado
  14. 14. ¿Quién usa Drupal?
  15. 15. ¿Por qué Drupal?
  16. 16. ¿Por qué Drupal? Mobile-first Integración con 3º Seguridad Muy sencillo crear contenidos Multisite Multiidioma
  17. 17. Tecnologías de vanguardia
  18. 18. Tecnologías de vanguardia Symfony 2 Conjunto de componentes PHP desacoplados y reutilizables. Drupal 8 incluye: HttpFoundation HttpKernel Routing EventDispatcher DependencyInjection ClassLoader Serializer Yaml Validator
  19. 19. Tecnologías de vanguardia Composer Herramienta 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
  20. 20. Guzzle Cliente 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
  21. 21. 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
  22. 22. Tecnologías de vanguardia
  23. 23. Nada volverá a ser como antes…
  24. 24. - - 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
  25. 25. NOVEDADES
  26. 26. 1 - nuevos campos Date Email Link Reference******(Yeah!) Telephone
  27. 27. 2 - fields everywhere Nodos Bloques Comentarios Usuarios Taxonomía
  28. 28. 3 - ckeditor
  29. 29. 4 - quick edit
  30. 30. 5 - imagenes responsive
  31. 31. 6 - views
  32. 32. 7 - multiidioma
  33. 33. 8 - configuration manager
  34. 34. 9 - webservices
  35. 35. LO QUE VEMOS
  36. 36. NOVEDADES - LO QUE VEMOS Instalador Estructura de directorios Entorno de administración Gestión de contenido Gestión de usuarios Gestión de módulos
  37. 37. show me the code
  38. 38. Mejoras Site Builders Views en core Formularios edición WYSIWYG en core Inline editor Fields: entity reference, mail, link, date Fields everywhere Multilenguaje Configuration management Mobile first
  39. 39. configuration management
  40. 40. configuration management 8 Drupal 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.
  41. 41. ¿ solución ?
  42. 42. configuration management 8 - ii hook_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.
  43. 43. configuration management 8 - iii Problema 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!!!
  44. 44. configuration management 8 - IV Drupal 8 Se considera necesario una solución para “pasar” configuración a código. CMI Drupal 8
  45. 45. configuration management 8 - IV YAML Uso YAML como formato estándar para archivos de configuración. Código limpio y sencillo. Fácil mantenimiento en CVS
  46. 46. 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.
  47. 47. show me the code
  48. 48. Mejoras Desarrolladores Componentes de Symfony PHPUnit API Rest en core OOP Entity API completo Migrate en core Big Pipe en 8.2.x
  49. 49. ENTITY API
  50. 50. entidades en core : Drupal 8 - iI “Entities, in Drupal, are objects that are used for persistent storage of content and configuration information” - Entity API
  51. 51. 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!
  52. 52. 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
  53. 53. 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.
  54. 54. 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.
  55. 55. BIG PIPE
  56. 56. BIG PIPE EN DRUPAL 8 Nace 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
  57. 57. webservices
  58. 58. rest in core- DRUPAL 8 Cualquier 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.
  59. 59. show me the code
  60. 60. Mejoras Desarrolladores drush drupal console
  61. 61. Mejoras Themers Motor plantillas Twig Classy base theme Responsive everything Modernizr en core HTML5 Jquery 2.1.3
  62. 62. https://www.drupal.org/docs/8/theming Mejoras Themers
  63. 63. show me the code
  64. 64. errores comunes
  65. 65. errores comunes Is Drupal 8 ready? Yes Drupal 7 comfort Inversión
  66. 66. errores comunes Módulos core y contribuidos http://www.bluespark.com/status-top-100-contributed- modules-drupal-8
  67. 67. errores comunes Nueva estructura de directorios
  68. 68. errores comunes OOP
  69. 69. errores comunes PHP IDE
  70. 70. errores comunes Requerimientos entornos ISP e infraestructura
  71. 71. errores comunes Debug
  72. 72. errores comunes No Config Management
  73. 73. That’s all folks! Alberto Permuy Leal @apermuy apermuy@codery.es www.codery.es
  74. 74. 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
  75. 75. créditos Drupal es una marca registrada de Dries Buytaert Las imágenes son del genial James Gillard El diseño del flyer del Drupal Day es de @quenerapu Puedes usar este documento siempre que respetes su autoría y su licencia.

×