Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Todo lo que necesitas saber sobre Drupal 8

Drupal 8 ya está en camino y sabemos lo que estás pensando… ¿Cuáles son los cambios principales?

Este webinar de tan solo 1 hora de duración ofrece un panorama detallado de los cambios principales que podrás encontrar en Drupal 8 y una mirada exclusiva a algunas de las nuevas funciones y capacidades que estos cambios traen consigo:
- Editores: Views en el Core, más ( y mejores) bloques, funcionalidades de Entity mejoradas, etc.
- Desarrolladores de Front-end: HTML5, biblioteca, mejoras en accesibilidad, temas nuevos y elementos del UI, mejor rendimiento, etc.
- Desarrolladores de Back-end: Nuevo sistema de gestión de configuraciones, API Entity modificado por completo, caching mejorado y nuevas funciones de servicios integrados

  • Login to see the comments

Todo lo que necesitas saber sobre Drupal 8

  1. 1. Todo lo que necesita saber sobre los 8 principales cambios en Drupal 8 ➔ Carlos Ospina- Gerente de Cuenta Técnico, Acquia ➔ Jairo Alberto Pinzón- Gerente General, SeeD ➔ Aldibier Morales- CTO y Cofundador de SeeD
  2. 2. Angie @Webchick Byron
  3. 3. … Desde entonces ➔ El blog de Dries del 8 de Septiembre ◆ http://buytaert.net/drupal-8-now-ships-with-beta-to-beta- updates ➔ Actualizaciones beta-a-beta ➔ Oportunidad para comenzar a desarrollar en Drupal 8 ◆ Sitios que dependen mayormente de las funcionalidades proporcionadas en el core de Drupal 8 ◆ Proyectos que tomaran varios meses de desarrollo ◆ Sitios para los cuales el beneficio de usar Drupal 8 sobrepasan el esfuerzo de trabajar con módulos que aún no cuentan con la versión de Drupal 8 correspondiente
  4. 4. 1. Experiencia mejorada en la creación de contenido
  5. 5. ¿Cuál es el propósito de este webinar? • Ir a través de los 8 principales cambios de Drupal 8, en orden de rareza. ;) • Recorrer algunos de los grandes cambios en la API de D8 para desarrolladores de módulos • Responder a las preguntas frecuentes • Preguntas y respuestas
  6. 6. 2. Enfoque a móviles primero
  7. 7. 3. Mejoras en construcción de sitios
  8. 8. ¡Vistas en el Core!
  9. 9. ¿Qué es el módulo Vistas? • Creación totalmente personalizable de: • "Admin listings" • Contenido lateral • Galerías de imágenes • "Slideshows" (presentación en diapositivas) • Salida en XML/JSON ¡con cero líneas de código!
  10. 10. Mejoras en los bloques
  11. 11. Nuevos tipos de campos
  12. 12. 4. Multidioma++
  13. 13. ¡Todo es traducible! • Contenido • Bloques • Menús • Perfiles de usuarios • Taxonomías • Vistas • Estilos de imágenes • Formatos de texto • Comentarios • Feeds • …y más! • ¡No se requieren módulos contribuidos!
  14. 14. 5. Administración de la configuración
  15. 15. Un sistema central para resolver este problema variable_set()/variable_get() ctools_export_object() /ctools_export_load_object() db_select()/db_update() /db_delete() $conf[...]; hook_update_N() drush fu
  16. 16. 6. Mejoras para desarrolladores Front-end
  17. 17. Formularios HTML5
  18. 18. PHPTemplate es ahora Twig 7.x: page.tpl.php 8.x: page.html.twig <div id="page-wrapper"> <div id="page"> <div id="header"> <div class="section clearfix"> <?php if ($logo): ?> <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"> <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /> </a> <?php endif; ?> <div class="layout-container"> <header role="banner"> {% if logo %} <a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"> <img src="{{ logo }}" alt="{{ 'Home'|t }}"/> </a> {% endif %} • Un sintaxis más sencillo para los diseñadores • Variables auto-escaped para mejor seguridad http://twig.sensiolabs.org
  19. 19. No más soporte (en el core) para IE 6, 7 y 8
  20. 20. 7. Servicios Web
  21. 21. 8. Código moderno orientado a objetos - OO
  22. 22. Advertencia: Las cosas se van a poner... extrañas.
  23. 23. "Saliendo del aislamiento"
  24. 24. Las mejores prácticas del PHP moderno • PHP 5.4+ • Classes/Interfaces • Namespaces • Traits • Dependency Injection • La mayoría de estándares PSR-*
  25. 25. Soportado por Symfony2 Tutorial: http://fabien.potencier.org/article/50/create-your-own- framework-on-top-of-the-symfony2-components-part-1
  26. 26. …y docenas de otras librerías (las mejores)
  27. 27. …and dozens of other librariesUn vistazo bajo el capó
  28. 28. YAML, YAML en todas partes 7.x: example.info 8.x: example.info.yml name = Example description = "Example module" core = 7.x files[] = example.test config = admin/config/example dependencies[] = node name: Example type: module description: "Example module" core: 8.x config: admin.example dependencies: - node • Nueva propiedad "type" obligatoria • No más archivos [] (vamos a llegar a esto más adelante) • Las paths ahora tienen nombre de máquina para prevenir daños (también vamos a llegar a esto más adelante)
  29. 29. Classes, classes en todas partes sites/all/module s example ▼ ▼ example.test 7.x module s exampl e ▼ ▼ 8.x src▼ ExampleForm. php ExampleInterface. php ExampleController. php … Páginas, formularios, bloques, etc. Ahora todo es orientado a objetos.
  30. 30. "Hello World" en Drupal 7 function example_menu() { $items['hello'] = array( 'title' => 'Hello world', 'page callback' => '_example_page', 'access callback' => 'user_access', 'access arguments' => 'access content', ); return $items; } function _example_page() { return t('Hello world.'); } example.module Drupalismo: "ArrayPIs" ;)
  31. 31. "Hello World" en Drupal 8 example.hello: path: '/hello' defaults: _content: 'DrupalexampleExampleController::hello' requirements: _permission: 'access content' example.routing.yml <?php namespace Drupalexample; use DrupalCoreControllerControllerBase; /** * Returns responses for Example module routes. */ class ExampleController extends ControllerBase { public function hello() { return new Response($this->t('Hello world.')); } } src/ExampleController. php "Orgullosamente tomado de otro lado": - YAML - Autocarga de clases PSR-4 - Código OO
  32. 32. Definiendo un bloque: 7.x example.module <?php function example_block_info() { $blocks['example'] = array( 'info' => t('Example block'), ); return $blocks; } function example_block_view($delta = '') { $block = array(); switch ($delta) { case 'example': $block['subject'] = t('Example block'); $block['content'] = array( 'hello' => array( '#markup' => t('Hello world'), ), ); break; } return $block; } Drupalismo: ”código misterioso" APIs basadas en convenciones de nombres
  33. 33. Definiendo un bloque: 8.x <?php namespace DrupalexamplePluginBlock; use DrupalblockBlockBase; /** * Provides the Example block. * * @Block( * id = "example", * admin_label = @Translation("Example block"), * category = @Translation("Example") * ) */ class ExampleBlock extends BlockBase { public function build() { return array('hello' => array( '#markup' => $this->t('Hello world.') )); } } src/Plugin/Block/ExampleBlock.php " Orgullosamente inventado en otro lado": - Anotaciones - APIs definidas por interfaces
  34. 34. Definiendo un bloque: 8.x <?php namespace DrupalexamplePluginBlock; use DrupalblockBlockBase; /** * Provides the Example block. * * @Block( * id = "example", * admin_label = @Translation("Example block"), * category = @Translation("Example") * ) */ class ExampleBlock extends BlockBase { public function build() { return array('hello' => array( '#markup' => $this->t('Hello world.') )); } } src/Plugin/Block/ExampleBlock.php
  35. 35. ¡Entérate de más! https://api.drupal.org/api/drupal/8 https://www.drupal.org/documentation/developer/api
  36. 36. Cada cambio de API en Drupal 8 https://www.drupal.org/list-changes
  37. 37. Resumen de grandes mejoras • Mejora en la experiencia de creación de contenidos • Desarrollo orientado a móviles • Vistas, modelado de contenido expandido • Multidioma++ • Administración de la configuración • Twig y HTML5 • Servicios Web • Código OO moderno • …y ¡otros cientos de mejoras! • Y en total detalle: https: //www.acquia. com/resources/ebooks/u ltimate-guide-drupal-8
  38. 38. ¡Respuesta a las preguntas espinosas sobre Drupal 8!
  39. 39. ¿Cuándo será lanzado Drupal 8?
  40. 40. ¿Cuando es "cuando esté listo"? Algún tiempo después de que este gráfico llegue a cero. https://www.drupal.org/drupal-8.0/get-
  41. 41. ¿Qué es lo que queda en la lista? • Mejoras/ajustes de rendimiento • Mejoras/ajustes de seguridad • Ruta de actualización de Beta- a-beta • A futuro (PHP7, Symfony 3, etc.)
  42. 42. beta -> rc -> 8.0.0 • Mientras el conteo de “issues” críticos > 0, crear lanzamientos betas mensuales (acá estamos) • Si los issues críticos === 0, iniciar lanzamientos quincenales de versiones candidatas (tal como las ventanas de lanzamiento de D6/D7) • Solo arreglos críticos, no bloqueantes (Ej: documentación), con parches lanzados solo sobre la versión candidata, para evitar regresiones. • Una vez la cantidad , importancia, y naturaleza de los asuntos críticos parezcan manejables, se establecerá una fecha de lanzamiento >= 3 semanas después. https://www.drupal.org/core/release-cycle#rc alpha relea ses bet a RC 1 Acá estamos! x “CUANDO ESTÉ”
  43. 43. ¿qué pasa después de 8.0.0? • Se termina el soporte a Drupal 6 3 meses después del lanzamiento de Drupal 8.0.0. • Lanzamientos de de corrección de errores/seguridad continúan en la agenda mensual tal como ahora en D6/D7. • Nuevos "lanzamientos de funcionalidades" de Drupal 8 cada 6 meses (8.1.x, 8.2.x…) with non-BC breaking improvements. • Drupal 9 no tendrá una rama hasta mucho después, cuando haya suficiente "carne" (propuestas de cambios completadas y que no puedan ser implementadas en 8.x) para hacer un producto atractivo • Drupal 8 ingresa en modo "LTS" (solo correcciones de seguridad) después de Drupal 9.0.0 D6 NO MÁS SOPORTE 8.2. 0 8.1. 0 NUEVAS CARACTERÍSTICAS …
  44. 44. ¿Qué pasará con las actualizaciones? • Ruta de Actualización entre versiones 8.x • No soportada en el “core” todavía; ver https://www.drupal. org/project/head2head en contribución por el momento • Ruta de Migración entre las versiones más importantes (6/7 => 8) • Desarrolle su nuevo sitio en Drupal 8, luego migre el contenido, usuarios, etc. …cambio y fuera • Drupal 6 => 8 ya es posible hacer migraciones! Drupal 7 => 8 migraciones en progreso… • Debe portar su código personalizado; quédese con los módulos contribuidos que funcionan, si puede
  45. 45. Empiece a portar su código personalizado https://www.drupal.org/project/drupalmoduleupgrader
  46. 46. ¿Cuándo puedo usar D8?
  47. 47. Algunos adoptantes tempranos ya lo están usando…
  48. 48. ¿Cuándo se podrá usar D8 masivamente? Desarrollador de módulos/temas *ya mismo*! (todavía hay tiempo de mejoras en las APIs!) Mayoría Una vez se cruce este limite total D8 D7 Adoptante temprano Una vez soportadas las actualizaciones beta a beta (porta tus contribuciones) Conservadores Cuando todo esté estable y la comunidad empiece a hablar de D9 Deja que la comunidad sea tu guía. https://www.drupal.org/project/usage/drupal
  49. 49. Estoy construyendo un sitio Uso D7 o D8? http://www.slideshare.net/horncologne/why-drupal-8-why-now- aprmay-2015 Drupal 7 Drupal 8 Orientada al publico Interno/prototipo/investigación Despliegue rápido Menos urgente Grande, necesidades complejas Puede ser hecho con lo que ya hay en el core Completo conjunto de funcionalidades Sitio a modo de brochure Misión critica Experimental Equipo de desarrollo limitado Equipo de desarrollo experto/Cómodo con el parcheo constante Desarrolladores más cómodos con código procedimental Desarrolladores cómodos con código OO / Symfony
  50. 50. ¿Te quedas con D7? Te queremos contar cómo obtener características de D8 en D7 En Drupal 8 Equivalente en Drupal 7 WYSIWYG CKEditor: https://drupal.org/project/ckeditor In-Place Editing Quick Edit: https://drupal.org/project/quickedit Responsive Toolbar “Mobile Friendly Navigation Toolbar" https://drupal.org/project/navbar Responsive Front-End Theme Omega, Zen, Adaptive, etc. base themes Responsive Admin Theme Ember: https://drupal.org/project/ember Responsive Images Picture: https://drupal.org/project/picture Responsive Tables Responsive Tables: https://drupal.org/project/responsive_tables Simplified Overlay Escape Admin: https://drupal.org/project/escape_admin Multilingual Internationalization: https://www.drupal.org/project/i18n Entity Translation: https://www.drupal.org/project/entity_translation Better Blocks Bean: https://www.drupal.org/project/bean Configuration Management Features: https://www.drupal.org/project/features Web Services RESTful Web Services: https://www.drupal.org/project/restws
  51. 51. ¡Gracias! :) ¿Preguntas?

×