SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...Edureka!
 
ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022Alexander Ioffe
 
The aggregate function - from sequential and parallel folds to parallel aggre...
The aggregate function - from sequential and parallel folds to parallel aggre...The aggregate function - from sequential and parallel folds to parallel aggre...
The aggregate function - from sequential and parallel folds to parallel aggre...Philip Schwarz
 
Sequence and Traverse - Part 1
Sequence and Traverse - Part 1Sequence and Traverse - Part 1
Sequence and Traverse - Part 1Philip Schwarz
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Slobodan Lohja
 
Introduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in KotlinIntroduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in Kotlinvriddhigupta
 
List of all php array functions
List of all php array functionsList of all php array functions
List of all php array functionsChetan Patel
 
Oracle sql analytic functions
Oracle sql analytic functionsOracle sql analytic functions
Oracle sql analytic functionsmamamowebby
 
An in Depth Journey into Odoo's ORM
An in Depth Journey into Odoo's ORMAn in Depth Journey into Odoo's ORM
An in Depth Journey into Odoo's ORMOdoo
 
RESTful Web Services in Drupal7
RESTful Web Services in Drupal7RESTful Web Services in Drupal7
RESTful Web Services in Drupal7bmeme
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsMesut Günes
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascriptDoeun KOCH
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.jsDimitri Gielis
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaKasun Indrasiri
 
Bi-temporal rdbms 2014
Bi-temporal rdbms 2014Bi-temporal rdbms 2014
Bi-temporal rdbms 2014Tomm Carr
 
Class 7 - PHP Object Oriented Programming
Class 7 - PHP Object Oriented ProgrammingClass 7 - PHP Object Oriented Programming
Class 7 - PHP Object Oriented ProgrammingAhmed Swilam
 

Tendances (20)

MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
 
ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022
 
jQuery na Prática!
jQuery na Prática!jQuery na Prática!
jQuery na Prática!
 
The aggregate function - from sequential and parallel folds to parallel aggre...
The aggregate function - from sequential and parallel folds to parallel aggre...The aggregate function - from sequential and parallel folds to parallel aggre...
The aggregate function - from sequential and parallel folds to parallel aggre...
 
Sequence and Traverse - Part 1
Sequence and Traverse - Part 1Sequence and Traverse - Part 1
Sequence and Traverse - Part 1
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
 
Introduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in KotlinIntroduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in Kotlin
 
Sed Introduction
Sed IntroductionSed Introduction
Sed Introduction
 
List of all php array functions
List of all php array functionsList of all php array functions
List of all php array functions
 
Oracle sql analytic functions
Oracle sql analytic functionsOracle sql analytic functions
Oracle sql analytic functions
 
An in Depth Journey into Odoo's ORM
An in Depth Journey into Odoo's ORMAn in Depth Journey into Odoo's ORM
An in Depth Journey into Odoo's ORM
 
RESTful Web Services in Drupal7
RESTful Web Services in Drupal7RESTful Web Services in Drupal7
RESTful Web Services in Drupal7
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) Fundamentals
 
Practical Object Oriented Models In Sql
Practical Object Oriented Models In SqlPractical Object Oriented Models In Sql
Practical Object Oriented Models In Sql
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascript
 
Access modifiers in java
Access modifiers in javaAccess modifiers in java
Access modifiers in java
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-Java
 
Bi-temporal rdbms 2014
Bi-temporal rdbms 2014Bi-temporal rdbms 2014
Bi-temporal rdbms 2014
 
Class 7 - PHP Object Oriented Programming
Class 7 - PHP Object Oriented ProgrammingClass 7 - PHP Object Oriented Programming
Class 7 - PHP Object Oriented Programming
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Dernier (10)

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
 
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
 
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
 
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)
 
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
 
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...
 
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
 
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
 
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
 

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