• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Drupal 8, presente y futuro
 

Drupal 8, presente y futuro

on

  • 1,764 views

Recorrido por la arquitectura actual de Drupal 7 y presentación de los cambios que se incorporarán en la próxima versión, Drupal 8. ...

Recorrido por la arquitectura actual de Drupal 7 y presentación de los cambios que se incorporarán en la próxima versión, Drupal 8.

* Qué es Drupal.
* Arquitectura Drupal 7.
* Requisitos.
* Arquitectura Drupal 8.
* Ciclo de Vida de Drupal.
* Fases de desarrollo.
* Iniciativas en Drupal 8.
* Gestion de la configuración.
* Multiidiomas.
* VDC. (Views in Core).
* Web services
* Mobile.
* Layouts.
* HTML5
* UX.
* Symfony.
* Componentes Symfony.
* Twig

Statistics

Views

Total Views
1,764
Views on SlideShare
1,420
Embed Views
344

Actions

Likes
1
Downloads
16
Comments
0

6 Embeds 344

http://www.mediaglobe.es 230
http://localhost 59
http://www.linkedin.com 38
http://mediaglobe.es 10
http://192.168.1.14 6
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Drupal 8, presente y futuro Drupal 8, presente y futuro Presentation Transcript

    • Drupal: Presente y FuturoUna introducción a Drupal 8Alfonso Heredia @hmalfonso
    • Drupal: Presente y Futuro.Planning:1. ¿ Qué es Drupal?2. Arquitectura. Framework.3. Iniciativas de desarrollo de Drupal 8.4. Instalación de Drupal 8. (Demo)5. Preguntas.Alfonso Heredia
    • ¿ Qué es Drupal?http://www.youtube.com/watch?v=26_OZeBmpXsVideo realizado por ThinküberAlfonso Heredia
    • ¿ Qué es Drupal?CMSCrearOrganizarManipularInformaciónCMFToolsAPIPlantillasServiciosAlfonso Heredia
    • Arquitectura DrupalDrupalPHPApache IIS NginxOSMySqlPostgreMariaDBOracleSqlserverVarnishApacheSolrAlfonso Heredia
    • Arquitectura Drupal: RequisitosRequisitos Drupal 7 Drupal 8Php 5.2.5 (5.3) 5.3.10DB MySql 5.0.15 (PDO). Postgre 8.3 (PDO).WebServer Apache 2.x. Nginx 1.2.x . IIS (5,6,7)Disk Space (core) 13 MB aprox. 40MB aprox.Memory 32MB  ---Alfonso Heredia
    • Arquitectura: En detalle (D7)TemaSistema de plantillasFormApiMenuApiBlockApiLibrería de funcionesL10nVistasBD ApiEntity ApiField ApiNodosusersTaxonComentMódulos(Core,Contribuidos, Propios)Alfonso Heredia
    • FormApiMenuApiBlockApiLibrería de funciones BD ApiEntity ApiField ApiArquitectura: En detalle (D8)TemaSistema de plantillasVistasNodosusersTaxonComentMódulos(Core,Contribuidos, Propios)IdiomasAlfonso Heredia
    • Arquitectura: Un poquito de historia.Version Core Mejoras4.5 Page, Story Código4.6 Page, Story CódigoFlexinode4.7 Page, Story CCK (Tipos dedatos, Campos)5 y 6 Page, Story, TipospropiosCCK (Campos)7 Tipos, campospropios. EntityApiR.I.P. CCK8 Extensión abloques.++++Alfonso Heredia
    • Drupal: Ciclo de vida.http://buytaert.net/files/state-of-drupal-march-2012.pdfAlfonso Heredia
    • Drupal: Ciclo de vida.http://buytaert.net/files/state-of-drupal-march-2012.pdfAlfonso Heredia
    • Drupal: Ciclo de vidahttp://buytaert.net/files/state-of-drupal-march-2012.pdfAlfonso Heredia
    • Drupal 8: Fases de desarrollo.Alfonso Heredia
    • Drupal 8: Fases de desarrollo.Alfonso Heredia
    • Drupal 8: IniciativasMobileHTML5MultilingualCofigurationManagementWeb ServicesLayoutsViewsD8Alfonso Heredia
    • Drupal 8: Iniciativas (estado)Alfonso Heredia
    • Drupal 8: Gestión de la configuraciónConfiguration ManagementDirector Greg DunlapInformación http://groups.drupal.org/cmiIRC #drupal-cmiAlfonso Heredia
    • Drupal 8: Gestión de la configuraciónQué problemas intenta resolver ?Angela Byron slides• Configuración de Drupal residente en la BD.• Solapamiento de contenido entre entornos.Alfonso Heredia
    • Drupal 8: Gestión de la configuraciónQué problemas intenta resolver ?Angela Byron slidesAlfonso Heredia
    • Drupal 8: Gestión de la configuraciónSolución:• Hagamos las Entidades realmente “únicas”. (UUID).• Configuración almacenada en ficheros.BdStagingFile StoreActive FileStoreDrupalDevBdStagingFile StoreActive FileStoreDrupalLiveConfiguración ActualConfiguración a importarAlfonso Heredia
    • Drupal 8: Gestión de la configuraciónSolución:• Ficheros de configuración en formato YAML. (prefix.example.yml)• files/config_XXX/active y files/config_XXX/staging.• Adiós variable_get() y variable_set().• Cambiar todas las varibles para adaptarse a CMI.• Entidades, Campos , Contenido, Ficheros…// Load the site name out of configuration.$config = config(core.site_information);$site_name = $config->get(site_name);// Change the site name to something else.$config->set(site_name, My Awesome Site);$config->save();Alfonso Heredia
    • Drupal 8: Multiidiomas.MultilingualDirector Gábor HojstyInformación http://groups.drupal.org/i18nIRC #drupal-i18nAlfonso Heredia
    • Drupal 8: Multiidiomas.Qué problemas intenta resolver ?Angela Byron slides• Muchos modulos (locale, content_translation, i18n, variables,title• Traduzco contenido, entididades ? Que hago con los menus, taxonomias?Alfonso Heredia
    • Drupal 8: Multiidiomas.Solución:• Algo similar a i18n pero en core. Traducción de interfaz y contenido.• No más idiomas especiales (Inglés).• L10n_update en core.• Mejoras significativas del interfaz de usuario.“Multilingual First”Alfonso Heredia
    • Drupal 8: VDC.Views in coreDirector Earl MilesInformaciónhttp://drupal.org/community-initiatives/drupal-core/vdc-roadmapIRC #drupal-vdcAlfonso Heredia
    • Drupal 8: VDC.Ventajas:• Consistencia: Todos los listados… hechos con vistas.• Estabilidad: Ahora los bugs son tratados como bugs delCore.• Potencia: Drupal “out of the box” podrá hacerinfinitud de cosas más que antes.• Y un largo etc...Alfonso Heredia
    • Drupal 8: Web Services.Web ServicesDirector Larry GarfieldInformación http://groups.drupal.org/wscciIRC #drupal-wscciAlfonso Heredia
    • Drupal 8: Web Services.Qué problemas intenta resolver ?Angela Byron slides• No todas las peticiones se devuelven en Html. Puede ser Json/Xml• Mejorar la comunicación con otros sistemas , aplicaciones móbiles,frameworks...Alfonso Heredia
    • Drupal 8: Web Services.Qué problemas intenta resolver ?Angela Byron slidesAlfonso Heredia
    • Drupal 8: Web Services.Solución:• Convertir a Drupal en un servidor REST de primera clase.• Incluyendo Services en Core y mejorándolo.“Sistema de contexto estandarizado, consistente y extendible”Alfonso Heredia
    • Drupal 8: Mobile.MobileDirector John Albin WilkinsInformaciónhttp://drupal.org/node/1941432IRC #drupal-mobileAlfonso Heredia
    • Drupal 8: Mobile.Qué problemas intenta resolver ?Angela Byron slides• Actualmente existe una pobre experiencia de usuario para móviles.• Administración “No Mobile”.Alfonso Heredia
    • Drupal 8: Mobile.Qué problemas intenta resolver ?Angela Byron slides• Problemas de rendimiento.Alfonso Heredia
    • Drupal 8: Mobile.Solución:• El Core debe dar proveer de:• Servicios Web que interactúen con aplicacionesmóviles nativas.• Elementos HTML 5 necesarios para aplicacionesweb HTML 5.• Capacidad suficiente para usar los paneles deadministración desde el móvil.• Los temas del core (y contrib) deben ser“Responsive”.• Tiempo de respuesta y peso adecuados.Alfonso Heredia
    • Drupal 8: Mobile.Solución:• Utilización de breakpoints en temas. (config yml).• Uso de imágenes responsive.mobile: (min-width: 0px)narrow: all and (min-width: 560px) and (max-width: 850px)wide: all and (min-width: 851px)Angela Byron slidesAlfonso Heredia
    • Drupal 8: Mobile.Solución:• Mejora del CSS:• Guía de estilo CSS.• Rearquitectura CSS (reutilizable, escalable,predecible).• Reorganización de la estructura de archivos CSS• Mejoras en el JS:• jQuery 1.9.• JSHint. (calidad en codigo JavaScript).• Modernizr. (capacidades de un navegador relativasa HTML5 y CSS3).• Declaración explícita de JS. No más drupal_add_jsAlfonso Heredia
    • Drupal 8: Layouts.LayoutsDirector Kris VanderwaterInformación http://groups.drupal.org/scotchIRC #drupal-scotchComo panels pero mejorAlfonso Heredia
    • Drupal 8: Layouts.Qué problemas intenta resolver ?Angela Byron slides• Incosistencia en la presentación de datos. (block regions,content region,theme variables).• Bloques no son “multiinstanciables”.• Un solo layout.Alfonso Heredia
    • Drupal 8: Layouts.Solución:• Mecanismo estandarizado de salida. Todo es tratadocomo bloques, layouts o layouts anidados.Ctools+PageManager+PanelsAngela Byron slidesFuertedependencia conWSCCI y CMIAlfonso Heredia
    • Drupal 8: Layouts.Solución:title: Two columncategory: Columns: 2template: two-colstylesheets:- two-col.cssregions:first:label: Left sidetype: contentsecond:label: Right sidetype: aside<div class="layout-display layout-two-col clearfix <?php print$attributes[class]; ?>"<?php print $attributes; ?>><div class="layout-region layout-col-first"><?php print $content[first]; ?></div><div class="layout-region layout-col-second"><?php print $content[second]; ?></div></div>• Declaración de layouts.two-col.ymltwo-col.tpl.phpAlfonso Heredia
    • Drupal 8: HTML5.HTML 5Director Jacine Luisi (cierto tiempo)Informaciónhttp://groups.drupal.org/html5/drupal-8IRC #drupal-html5Alfonso Heredia
    • Drupal 8: HTML5.Plan:• HTML5 out of the box.• Conversion de las plantillas a HTML5• Inclusión de elementos HTML5 para los formularios.• Tel.• url.• Number.• email.• Mejora del “Markup”.• Estandarización de código.Alfonso Heredia
    • Drupal 8: UX.Mejora de la experiencia de usuarioAngela Byron slidesAlfonso Heredia
    • Drupal 8: Symfony.Qúe es?• Framework PHP.• Flexible.• Extensible• Componentes desacoplados.Alfonso Heredia
    • Drupal 8: Symfony. (componentes)ClassLoader:• Autocargado de clases.• Estandar PSR-0.Namespace DirectorioDrupalCore core/lib/Drupal/Core/DrupalComponent core/lib/Drupal/Component/Drupalcomment modules/comment/lib/Drupal/comment/Drupalentity modules/entity/lib/Drupal/entity/Drupalnode modules/node/lib/Drupal/node/Drupaltaxonomy modules/taxonomy/lib/Drupal/taxonomy/Alfonso Heredia
    • Drupal 8: Symfony. (componentes)ClassLoader:Alfonso Heredia
    • Drupal 8: Symfony. (componentes)HttpFoundation:• Capa orientada a objetos para la especificación Http.• Objetos Request y Response.• Variables globales “mapeadas” a Request.Requestquery ($_GET)request ($_POST)cookies ($_COOKIE )attributesFiles ($_FILES)server ($_SERVER )headersResponseheaderstatusContentBrowser ServerAlfonso Heredia
    • Drupal 8: Symfony. (componentes)Routing:• Mapea peticiones a “controladores”.• Rutas estáticas. • Rutas dinámicas se usa routing del Framework(ChainRouter)user_register:pattern: /user/registerdefaults:_content: DrupaluserUserRouteController::registerrequirements:_access_user_register: TRUEuser.routing.ymlAlfonso Heredia
    • Drupal 8: Symfony. (componentes)Inyección de dependencias:• Estandariza y centraliza la manera en la que seconstruyen los objetos de la aplicación.• La clase no crea los objetos que necesita. Se lesuministran.• Facilita el testeo. (desacoplamiento)class A {public function GetB(){return new B();}}class A {private $b;public function __construct(B $b){$this->b = $b;}public function GetB() {return $this->b;}}Alfonso Heredia
    • Drupal 8: Symfony. (componentes)Y más:Alfonso Heredia
    • Drupal 8: TwigQué es?:• Motor de plantillas para PHP, rápido, seguro yflexible.• Nomenclatura clara, concisa y fácil de entender.Por qué?:• Difícil de aprender. ( print o print render()).• Infinidad de plantillas.• Theming Functions ?Alfonso Heredia
    • Drupal 8: TwigPor qué?:Jen LamptonAlfonso Heredia
    • Drupal 8: Twig<!DOCTYPE html><html><head><title>My Webpage</title></head><body><ul id="navigation">{% for item in navigation %}<li><a href="{{ item.href }}">{{ item.caption }}</a></li>{% endfor %}</ul><h1>My Webpage</h1>{{ a_variable }}</body></html>Alfonso Heredia
    • Drupal 8: TwigVentajas:• Menos código que con las funciones.Jen LamptonAlfonso Heredia
    • Drupal 8: TwigVentajas:• Inspección de variables. {{ dump(user)}}.• Herencia de plantillas.Jen Lampton<!DOCTYPE html><html><head>{% block head %}<link rel="stylesheet" href="style.css" /><title>{% block title %}{% endblock %} - My Webpage</title>{% endblock %}</head><body><div id="content">{% block content %}{% endblock %}</div><div id="footer">{% block footer %}&copy; Copyright 2011 by <ahref="http://domain.invalid/">you</a>.{% endblock %}</div></body></html>{% extends "base.html" %}{% block title %}Index{% endblock %}{% block head %}{{ parent() }}<style type="text/css">.important { color: #336699; }</style>{% endblock %}{% block content %}<h1>Index</h1><p class="important">Welcome to my awesome homepage.</p>{% endblock %}Alfonso Heredia
    • PreguntasAlfonso Heredia
    • Gracias/Créditos.• Angela Byron.• Dries Buytaert.• Jen Lampton.• Jose Reyero.• Pedro Lozano.• Larry Gardfield.Alfonso Heredia
    • “ Muchas gracias a todos por permitirme pasar esteratito hablando de Drupal”Alfonso HerediaIngeniero informático por la Universidad de Málaga@hmalfonsoAlfonso Heredia