SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Drupal: Presente y Futuro
Una introducción a Drupal 8
Alfonso 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_OZeBmpXs
Video realizado por Thinküber
Alfonso Heredia
¿ Qué es Drupal?
CMS
Crear
Organizar
Manipular
Información
CMF
Tools
API
Plantillas
Servicios
Alfonso Heredia
Arquitectura Drupal
Drupal
PHP
Apache IIS Nginx
OS
MySql
Postgre
MariaDB
Oracle
Sqlserver
Varnish
Apache
Solr
Alfonso Heredia
Arquitectura Drupal: Requisitos
Requisitos Drupal 7 Drupal 8
Php 5.2.5 (5.3) 5.3.10
DB 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)
Tema
Sistema de plantillas
Form
Api
Menu
Api
Block
Api
Librería de funciones
L10n
Vistas
BD Api
Entity Api
Field Api
N
o
d
o
s
u
s
e
r
s
T
a
x
o
n
C
o
m
e
n
t
Módulos
(Core,Contribuidos, Propios)
Alfonso Heredia
Form
Api
Menu
Api
Block
Api
Librería de funciones BD Api
Entity Api
Field Api
Arquitectura: En detalle (D8)
Tema
Sistema de plantillas
Vistas
N
o
d
o
s
u
s
e
r
s
T
a
x
o
n
C
o
m
e
n
t
Módulos
(Core,Contribuidos, Propios)
Idiomas
Alfonso Heredia
Arquitectura: Un poquito de historia.
Version Core Mejoras
4.5 Page, Story Código
4.6 Page, Story Código
Flexinode
4.7 Page, Story CCK (Tipos de
datos, Campos)
5 y 6 Page, Story, Tipos
propios
CCK (Campos)
7 Tipos, campos
propios. Entity
Api
R.I.P. CCK
8 Extensión a
bloques.
++++
Alfonso Heredia
Drupal: Ciclo de vida.
http://buytaert.net/files/state-of-drupal-march-2012.pdf
Alfonso Heredia
Drupal: Ciclo de vida.
http://buytaert.net/files/state-of-drupal-march-2012.pdf
Alfonso Heredia
Drupal: Ciclo de vida
http://buytaert.net/files/state-of-drupal-march-2012.pdf
Alfonso Heredia
Drupal 8: Fases de desarrollo.
Alfonso Heredia
Drupal 8: Fases de desarrollo.
Alfonso Heredia
Drupal 8: Iniciativas
Mobile
HTML5
Multilingual
Cofiguration
Management
Web Services
Layouts
Views
D8
Alfonso Heredia
Drupal 8: Iniciativas (estado)
Alfonso Heredia
Drupal 8: Gestión de la configuración
Configuration Management
Director Greg Dunlap
Información http://groups.drupal.org/cmi
IRC #drupal-cmi
Alfonso Heredia
Drupal 8: Gestión de la configuración
Qué 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ón
Qué problemas intenta resolver ?
Angela Byron slides
Alfonso Heredia
Drupal 8: Gestión de la configuración
Solución:
• Hagamos las Entidades realmente “únicas”. (UUID).
• Configuración almacenada en ficheros.
Bd
Staging
File Store
Active File
Store
Drupal
Dev
Bd
Staging
File Store
Active File
Store
Drupal
Live
Configuración ActualConfiguración a importar
Alfonso Heredia
Drupal 8: Gestión de la configuración
Solució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.
Multilingual
Director Gábor Hojsty
Información http://groups.drupal.org/i18n
IRC #drupal-i18n
Alfonso 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 core
Director Earl Miles
Información
http://drupal.org/community-
initiatives/drupal-core/vdc-
roadmap
IRC #drupal-vdc
Alfonso Heredia
Drupal 8: VDC.
Ventajas:
• Consistencia: Todos los listados… hechos con vistas.
• Estabilidad: Ahora los bugs son tratados como bugs del
Core.
• Potencia: Drupal “out of the box” podrá hacer
infinitud de cosas más que antes.
• Y un largo etc...
Alfonso Heredia
Drupal 8: Web Services.
Web Services
Director Larry Garfield
Información http://groups.drupal.org/wscci
IRC #drupal-wscci
Alfonso 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 slides
Alfonso 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.
Mobile
Director John Albin Wilkins
Información
http://drupal.org/node/19414
32
IRC #drupal-mobile
Alfonso 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 aplicaciones
móviles nativas.
• Elementos HTML 5 necesarios para aplicaciones
web HTML 5.
• Capacidad suficiente para usar los paneles de
administració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 slides
Alfonso 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 relativas
a HTML5 y CSS3).
• Declaración explícita de JS. No más drupal_add_js
Alfonso Heredia
Drupal 8: Layouts.
Layouts
Director Kris Vanderwater
Información http://groups.drupal.org/scotch
IRC #drupal-scotch
Como panels pero mejor
Alfonso 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 tratado
como bloques, layouts o layouts anidados.
Ctools+PageManager+Panels
Angela Byron slides
Fuerte
dependencia con
WSCCI y CMI
Alfonso Heredia
Drupal 8: Layouts.
Solución:
title: Two column
category: Columns: 2
template: two-col
stylesheets:
- two-col.css
regions:
first:
label: Left side
type: content
second:
label: Right side
type: 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.yml
two-col.tpl.php
Alfonso Heredia
Drupal 8: HTML5.
HTML 5
Director Jacine Luisi (cierto tiempo)
Información
http://groups.drupal.org/html5/
drupal-8
IRC #drupal-html5
Alfonso 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 usuario
Angela Byron slides
Alfonso 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 Directorio
DrupalCore 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.
Request
query ($_GET)
request ($_POST)
cookies ($_COOKIE )
attributes
Files ($_FILES)
server ($_SERVER )
headers
Response
header
status
Content
Browser Server
Alfonso 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/register'
defaults:
_content: 'DrupaluserUserRouteController::register'
requirements:
_access_user_register: 'TRUE'
user.routing.yml
Alfonso Heredia
Drupal 8: Symfony. (componentes)
Inyección de dependencias:
• Estandariza y centraliza la manera en la que se
construyen los objetos de la aplicación.
• La clase no crea los objetos que necesita. Se le
suministran.
• 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: Twig
Qué es?:
• Motor de plantillas para PHP, rápido, seguro y
flexible.
• 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: Twig
Por qué?:
Jen Lampton
Alfonso 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: Twig
Ventajas:
• Menos código que con las funciones.
Jen Lampton
Alfonso Heredia
Drupal 8: Twig
Ventajas:
• 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 <a
href="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
Preguntas
Alfonso 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 este
ratito hablando de Drupal”
Alfonso Heredia
Ingeniero informático por la Universidad de Málaga
@hmalfonso
Alfonso Heredia

Más contenido relacionado

La actualidad más candente

Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03Changyol BAEK
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareVisual Engineering
 
우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 SangIn Choung
 
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...Patricio Soriano Castro
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Domain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and MicroservicesDomain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and MicroservicesRadosław Maziarka
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해중선 곽
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기영우 박
 
What Is Express JS?
What Is Express JS?What Is Express JS?
What Is Express JS?Simplilearn
 
Symfony presentation
Symfony presentationSymfony presentation
Symfony presentationmaxpower57
 
Web Worker, Service Worker and Worklets
Web Worker, Service Worker and WorkletsWeb Worker, Service Worker and Worklets
Web Worker, Service Worker and WorkletsKeshav Gupta
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSam Brannen
 

La actualidad más candente (20)

Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
 
Server side rendering review
Server side rendering reviewServer side rendering review
Server side rendering review
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux Middleware
 
우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료
 
Tomcat Server
Tomcat ServerTomcat Server
Tomcat Server
 
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...
Presentación proyecto "Aplicación web de gestión de rutas turísticas mediante...
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Domain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and MicroservicesDomain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and Microservices
 
RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기
 
What Is Express JS?
What Is Express JS?What Is Express JS?
What Is Express JS?
 
Symfony presentation
Symfony presentationSymfony presentation
Symfony presentation
 
Web Worker, Service Worker and Worklets
Web Worker, Service Worker and WorkletsWeb Worker, Service Worker and Worklets
Web Worker, Service Worker and Worklets
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing Support
 
Html5-Web-Storage
Html5-Web-StorageHtml5-Web-Storage
Html5-Web-Storage
 

Destacado

Presentación pacie bloque cero
Presentación pacie bloque ceroPresentación pacie bloque cero
Presentación pacie bloque ceroAdela Pavon
 
AULAS VIRTUAES Y PACIE
AULAS VIRTUAES Y PACIEAULAS VIRTUAES Y PACIE
AULAS VIRTUAES Y PACIEJAINITACQ
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8Atenea tech
 
Multilenguaje en Drupal 8 y la iniciativa D8MI
Multilenguaje en Drupal 8 y la iniciativa D8MIMultilenguaje en Drupal 8 y la iniciativa D8MI
Multilenguaje en Drupal 8 y la iniciativa D8MIChristian López Espínola
 
Presentación portal del empleado
Presentación portal del  empleadoPresentación portal del  empleado
Presentación portal del empleadoiformalia
 
Translate in Drupal 8: A New Era in Translation Has Begun
Translate in Drupal 8: A New Era in Translation Has BegunTranslate in Drupal 8: A New Era in Translation Has Begun
Translate in Drupal 8: A New Era in Translation Has BegunChristian López Espínola
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015 Keopx
 
Drupal vs WordPress
Drupal vs WordPressDrupal vs WordPress
Drupal vs WordPressWalter Ebert
 
Capacitacion dibujo tecnico
Capacitacion dibujo tecnicoCapacitacion dibujo tecnico
Capacitacion dibujo tecnicoWesito05
 

Destacado (9)

Presentación pacie bloque cero
Presentación pacie bloque ceroPresentación pacie bloque cero
Presentación pacie bloque cero
 
AULAS VIRTUAES Y PACIE
AULAS VIRTUAES Y PACIEAULAS VIRTUAES Y PACIE
AULAS VIRTUAES Y PACIE
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
 
Multilenguaje en Drupal 8 y la iniciativa D8MI
Multilenguaje en Drupal 8 y la iniciativa D8MIMultilenguaje en Drupal 8 y la iniciativa D8MI
Multilenguaje en Drupal 8 y la iniciativa D8MI
 
Presentación portal del empleado
Presentación portal del  empleadoPresentación portal del  empleado
Presentación portal del empleado
 
Translate in Drupal 8: A New Era in Translation Has Begun
Translate in Drupal 8: A New Era in Translation Has BegunTranslate in Drupal 8: A New Era in Translation Has Begun
Translate in Drupal 8: A New Era in Translation Has Begun
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Drupal vs WordPress
Drupal vs WordPressDrupal vs WordPress
Drupal vs WordPress
 
Capacitacion dibujo tecnico
Capacitacion dibujo tecnicoCapacitacion dibujo tecnico
Capacitacion dibujo tecnico
 

Similar a Drupal 8: Presente y futuro

Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Acquia
 
Drupalcamp 2014 reconstruir un medio digital idealista news
Drupalcamp 2014   reconstruir un medio digital idealista newsDrupalcamp 2014   reconstruir un medio digital idealista news
Drupalcamp 2014 reconstruir un medio digital idealista newsMartín .
 
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Rodrigo Alfaro
 
Drupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesDrupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesAlberto Permuy Leal
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian Valero
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapaMedio y forma
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con DrupalPablo Cerda
 
Presentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxPresentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxAlberto Permuy Leal
 
Drupal 7 (2)
Drupal 7 (2)Drupal 7 (2)
Drupal 7 (2)jecol59
 
Haciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksHaciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksSacha Chua
 
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesManual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesBrox Technology
 
1 Diseño Web introducción a Drupal
1 Diseño Web   introducción a Drupal1 Diseño Web   introducción a Drupal
1 Diseño Web introducción a DrupalJLSitec
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tardeIgnacio Segura
 
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7Keopx
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosGabriel Huecas
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Javier Prada Oliva
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
 

Similar a Drupal 8: Presente y futuro (20)

Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8
 
Drupalcamp 2014 reconstruir un medio digital idealista news
Drupalcamp 2014   reconstruir un medio digital idealista newsDrupalcamp 2014   reconstruir un medio digital idealista news
Drupalcamp 2014 reconstruir un medio digital idealista news
 
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
 
Drupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesDrupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidades
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con Drupal
 
Cw15 conoce drupal_v28
Cw15 conoce drupal_v28Cw15 conoce drupal_v28
Cw15 conoce drupal_v28
 
Presentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxPresentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU Linux
 
Drupal 7 (2)
Drupal 7 (2)Drupal 7 (2)
Drupal 7 (2)
 
Drupal
DrupalDrupal
Drupal
 
Haciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksHaciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocks
 
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesManual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
 
1 Diseño Web introducción a Drupal
1 Diseño Web   introducción a Drupal1 Diseño Web   introducción a Drupal
1 Diseño Web introducción a Drupal
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tarde
 
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
 

Más de Mediaglobe Innova

Taller Arquitectura Web para Optimización SEO
Taller Arquitectura Web para Optimización SEOTaller Arquitectura Web para Optimización SEO
Taller Arquitectura Web para Optimización SEOMediaglobe Innova
 
Comercio Electronico con Drupal
Comercio Electronico con DrupalComercio Electronico con Drupal
Comercio Electronico con DrupalMediaglobe Innova
 
Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011Mediaglobe Innova
 
Curso Drupal. Sitios multiidoma
Curso Drupal. Sitios multiidomaCurso Drupal. Sitios multiidoma
Curso Drupal. Sitios multiidomaMediaglobe Innova
 
Curso Drupal. Gestion de usuarios y control de acceso
Curso Drupal. Gestion de usuarios y control de accesoCurso Drupal. Gestion de usuarios y control de acceso
Curso Drupal. Gestion de usuarios y control de accesoMediaglobe Innova
 
Curso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en DrupalCurso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en DrupalMediaglobe Innova
 
Curso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalCurso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalMediaglobe Innova
 
Curso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulosCurso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulosMediaglobe Innova
 
Curso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalMediaglobe Innova
 

Más de Mediaglobe Innova (11)

Taller Arquitectura Web para Optimización SEO
Taller Arquitectura Web para Optimización SEOTaller Arquitectura Web para Optimización SEO
Taller Arquitectura Web para Optimización SEO
 
Comercio Electronico con Drupal
Comercio Electronico con DrupalComercio Electronico con Drupal
Comercio Electronico con Drupal
 
Aplicaciones Web con Drupal
Aplicaciones Web con DrupalAplicaciones Web con Drupal
Aplicaciones Web con Drupal
 
Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011
 
Curso Drupal. SEO
Curso Drupal. SEOCurso Drupal. SEO
Curso Drupal. SEO
 
Curso Drupal. Sitios multiidoma
Curso Drupal. Sitios multiidomaCurso Drupal. Sitios multiidoma
Curso Drupal. Sitios multiidoma
 
Curso Drupal. Gestion de usuarios y control de acceso
Curso Drupal. Gestion de usuarios y control de accesoCurso Drupal. Gestion de usuarios y control de acceso
Curso Drupal. Gestion de usuarios y control de acceso
 
Curso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en DrupalCurso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en Drupal
 
Curso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalCurso Drupal. Theming con Drupal
Curso Drupal. Theming con Drupal
 
Curso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulosCurso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulos
 
Curso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de Drupal
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (13)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Drupal 8: Presente y futuro

  • 1. Drupal: Presente y Futuro Una introducción a Drupal 8 Alfonso Heredia @hmalfonso
  • 2. 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
  • 3. ¿ Qué es Drupal? http://www.youtube.com/watch?v=26_OZeBmpXs Video realizado por Thinküber Alfonso Heredia
  • 4. ¿ Qué es Drupal? CMS Crear Organizar Manipular Información CMF Tools API Plantillas Servicios Alfonso Heredia
  • 5. Arquitectura Drupal Drupal PHP Apache IIS Nginx OS MySql Postgre MariaDB Oracle Sqlserver Varnish Apache Solr Alfonso Heredia
  • 6. Arquitectura Drupal: Requisitos Requisitos Drupal 7 Drupal 8 Php 5.2.5 (5.3) 5.3.10 DB 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
  • 7. Arquitectura: En detalle (D7) Tema Sistema de plantillas Form Api Menu Api Block Api Librería de funciones L10n Vistas BD Api Entity Api Field Api N o d o s u s e r s T a x o n C o m e n t Módulos (Core,Contribuidos, Propios) Alfonso Heredia
  • 8. Form Api Menu Api Block Api Librería de funciones BD Api Entity Api Field Api Arquitectura: En detalle (D8) Tema Sistema de plantillas Vistas N o d o s u s e r s T a x o n C o m e n t Módulos (Core,Contribuidos, Propios) Idiomas Alfonso Heredia
  • 9. Arquitectura: Un poquito de historia. Version Core Mejoras 4.5 Page, Story Código 4.6 Page, Story Código Flexinode 4.7 Page, Story CCK (Tipos de datos, Campos) 5 y 6 Page, Story, Tipos propios CCK (Campos) 7 Tipos, campos propios. Entity Api R.I.P. CCK 8 Extensión a bloques. ++++ Alfonso Heredia
  • 10. Drupal: Ciclo de vida. http://buytaert.net/files/state-of-drupal-march-2012.pdf Alfonso Heredia
  • 11. Drupal: Ciclo de vida. http://buytaert.net/files/state-of-drupal-march-2012.pdf Alfonso Heredia
  • 12. Drupal: Ciclo de vida http://buytaert.net/files/state-of-drupal-march-2012.pdf Alfonso Heredia
  • 13. Drupal 8: Fases de desarrollo. Alfonso Heredia
  • 14. Drupal 8: Fases de desarrollo. Alfonso Heredia
  • 16. Drupal 8: Iniciativas (estado) Alfonso Heredia
  • 17. Drupal 8: Gestión de la configuración Configuration Management Director Greg Dunlap Información http://groups.drupal.org/cmi IRC #drupal-cmi Alfonso Heredia
  • 18. Drupal 8: Gestión de la configuración Qué problemas intenta resolver ? Angela Byron slides • Configuración de Drupal residente en la BD. • Solapamiento de contenido entre entornos. Alfonso Heredia
  • 19. Drupal 8: Gestión de la configuración Qué problemas intenta resolver ? Angela Byron slides Alfonso Heredia
  • 20. Drupal 8: Gestión de la configuración Solución: • Hagamos las Entidades realmente “únicas”. (UUID). • Configuración almacenada en ficheros. Bd Staging File Store Active File Store Drupal Dev Bd Staging File Store Active File Store Drupal Live Configuración ActualConfiguración a importar Alfonso Heredia
  • 21. Drupal 8: Gestión de la configuración Solució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
  • 22. Drupal 8: Multiidiomas. Multilingual Director Gábor Hojsty Información http://groups.drupal.org/i18n IRC #drupal-i18n Alfonso Heredia
  • 23. 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
  • 24. 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
  • 25. Drupal 8: VDC. Views in core Director Earl Miles Información http://drupal.org/community- initiatives/drupal-core/vdc- roadmap IRC #drupal-vdc Alfonso Heredia
  • 26. Drupal 8: VDC. Ventajas: • Consistencia: Todos los listados… hechos con vistas. • Estabilidad: Ahora los bugs son tratados como bugs del Core. • Potencia: Drupal “out of the box” podrá hacer infinitud de cosas más que antes. • Y un largo etc... Alfonso Heredia
  • 27. Drupal 8: Web Services. Web Services Director Larry Garfield Información http://groups.drupal.org/wscci IRC #drupal-wscci Alfonso Heredia
  • 28. 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
  • 29. Drupal 8: Web Services. Qué problemas intenta resolver ? Angela Byron slides Alfonso Heredia
  • 30. 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
  • 31. Drupal 8: Mobile. Mobile Director John Albin Wilkins Información http://drupal.org/node/19414 32 IRC #drupal-mobile Alfonso Heredia
  • 32. 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
  • 33. Drupal 8: Mobile. Qué problemas intenta resolver ? Angela Byron slides • Problemas de rendimiento. Alfonso Heredia
  • 34. Drupal 8: Mobile. Solución: • El Core debe dar proveer de: • Servicios Web que interactúen con aplicaciones móviles nativas. • Elementos HTML 5 necesarios para aplicaciones web HTML 5. • Capacidad suficiente para usar los paneles de administración desde el móvil. • Los temas del core (y contrib) deben ser “Responsive”. • Tiempo de respuesta y peso adecuados. Alfonso Heredia
  • 35. 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 slides Alfonso Heredia
  • 36. 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 relativas a HTML5 y CSS3). • Declaración explícita de JS. No más drupal_add_js Alfonso Heredia
  • 37. Drupal 8: Layouts. Layouts Director Kris Vanderwater Información http://groups.drupal.org/scotch IRC #drupal-scotch Como panels pero mejor Alfonso Heredia
  • 38. 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
  • 39. Drupal 8: Layouts. Solución: • Mecanismo estandarizado de salida. Todo es tratado como bloques, layouts o layouts anidados. Ctools+PageManager+Panels Angela Byron slides Fuerte dependencia con WSCCI y CMI Alfonso Heredia
  • 40. Drupal 8: Layouts. Solución: title: Two column category: Columns: 2 template: two-col stylesheets: - two-col.css regions: first: label: Left side type: content second: label: Right side type: 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.yml two-col.tpl.php Alfonso Heredia
  • 41. Drupal 8: HTML5. HTML 5 Director Jacine Luisi (cierto tiempo) Información http://groups.drupal.org/html5/ drupal-8 IRC #drupal-html5 Alfonso Heredia
  • 42. 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
  • 43. Drupal 8: UX. Mejora de la experiencia de usuario Angela Byron slides Alfonso Heredia
  • 44. Drupal 8: Symfony. Qúe es? • Framework PHP. • Flexible. • Extensible • Componentes desacoplados. Alfonso Heredia
  • 45. Drupal 8: Symfony. (componentes) ClassLoader: • Autocargado de clases. • Estandar PSR-0. Namespace Directorio DrupalCore 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
  • 46. Drupal 8: Symfony. (componentes) ClassLoader: Alfonso Heredia
  • 47. Drupal 8: Symfony. (componentes) HttpFoundation: • Capa orientada a objetos para la especificación Http. • Objetos Request y Response. • Variables globales “mapeadas” a Request. Request query ($_GET) request ($_POST) cookies ($_COOKIE ) attributes Files ($_FILES) server ($_SERVER ) headers Response header status Content Browser Server Alfonso Heredia
  • 48. 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/register' defaults: _content: 'DrupaluserUserRouteController::register' requirements: _access_user_register: 'TRUE' user.routing.yml Alfonso Heredia
  • 49. Drupal 8: Symfony. (componentes) Inyección de dependencias: • Estandariza y centraliza la manera en la que se construyen los objetos de la aplicación. • La clase no crea los objetos que necesita. Se le suministran. • 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
  • 50. Drupal 8: Symfony. (componentes) Y más: Alfonso Heredia
  • 51. Drupal 8: Twig Qué es?: • Motor de plantillas para PHP, rápido, seguro y flexible. • 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
  • 52. Drupal 8: Twig Por qué?: Jen Lampton Alfonso Heredia
  • 53. 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
  • 54. Drupal 8: Twig Ventajas: • Menos código que con las funciones. Jen Lampton Alfonso Heredia
  • 55. Drupal 8: Twig Ventajas: • 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 <a href="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
  • 57. Gracias/Créditos. • Angela Byron. • Dries Buytaert. • Jen Lampton. • Jose Reyero. • Pedro Lozano. • Larry Gardfield. Alfonso Heredia
  • 58. “ Muchas gracias a todos por permitirme pasar este ratito hablando de Drupal” Alfonso Heredia Ingeniero informático por la Universidad de Málaga @hmalfonso Alfonso Heredia