SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Taller de introducci´n a Drupal
o
Ezequiel V´zquez De la calle
a

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Sobre mi
Estudios
Ingeniero T´cnico en Inform´tica - UCA
e
a
M´ster en Ingenier´ del Software - US
a
ıa
Experto en Seguridad de las TIC - US
Experiencia
4 a˜os como desarrollador web, 2 en Drupal
n
Actualmente: DevOps Drupal
Python, C++, GNU/Linux, network programming. . .
Aficiones
Rock’n’Roll (guitarra) y videojuegos
Narrativa fant´stica, rol, cine. . .
a
Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Introducci´n
o

¿Y esto de qu´ va?
e
CMS escrito en PHP
Extensible mediante
m´dulos y temas
o
Arquitectura LAMP
Software libre (GPL)
Actualmente, Drupal 7
Lo mejor: La comunidad

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Introducci´n
o
Puntos fuertes
Gran flexibilidad
Enorme velocidad de desarrollo
Separaci´n de presentaci´n y l´gica
o
o
o
Multitud de m´dulos (16k+) y temas (1.2k+) disponibles
o
Documentaci´n extensa, y de alta calidad
o
Soporte por parte de la comunidad

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Introducci´n
o

Desventajas
Bajo rendimiento:
dependencia de cach´
e
Baja usabilidad para el
usuario final
Incompatibilidad entre
versiones mayores
Curva de aprendizaje
muy elevada

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Introducci´n
o
Puede parecer una tarea imposible. . .

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Introducci´n
o
¡Pero s´lo es cuesti´n de echarle ganas!
o
o

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Conceptos b´sicos
a
Componentes
Core: Instalaci´n b´sica de Drupal
o a
Module: Extensi´n de la funcionalidad del core
o
Theme: Extensi´n “visual” (Plantillas, estilos. . . )
o
Library: Librer´ externas con funcionalidad adicional
ıas

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Conceptos b´sicos
a

Sistema de publicaci´n
o
Tipo de contenido
Campos
Nodo
Comentario
Taxonom´
ıa

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Conceptos b´sicos
a

Organizar la informaci´n
o
Men´
u
P´gina
a
Regi´n
o
Bloque
Plantilla

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Conceptos b´sicos
a
Gesti´n de usuarios
o
Usuario

Rol

Perfil

Permiso

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Ejercicio

Construcci´n de un blog sencillo
o
1

Crear una taxonom´ y t´rminos
ıa e

2

Definir un Tipo de contenido: entrada

3

T´
ıtulo, cuerpo, fecha, categor´ . .
ıas.

4

Rol para usuarios publicadores

5

Asignar permisos adecuados

6

Usuario para publicar, con rol

7

Bloque con contenido HTML

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
C´mo funciona Drupal
o

Programaci´n estrucutrada (en D8, objetos)
o
Flujo de ejecuci´n
o
1

Todas las peticiones se reciben en index.php (mod rewrite)
URLs del tipo index.php?q=esto/es/una/url

2

Se carga el bootstrap

3

Ejecuci´n de entrada de men´
o
u

4

Funci´n de callback
o

5

Salida se pasa al theme

6

Renderizado del HTML

7

Env´ de la respuesta al navegador
ıo

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
C´mo funciona Drupal
o

Concepto importante: hooks
Funciones que se ejecutan cuando un evento sucede
Ejemplo: hook init → cuando termina la carga de bootstrap
Orden determinado por el peso del m´dulo que lo implementa
o
Un hook de cada tipo por m´dulo
o
Esquema de nombre: nombre modulo nombre hook()

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
C´mo funciona Drupal
o
M´ltiples APIs
u
Algunas API de Drupal. . .
Forms API: Formularios
Database API: Base de datos
Entity API: Nodos, t´rminos, comentarios. . .
e
Field API: Campos de entidades
Batch API: Operaciones por lotes
Sistema de menu
Variables persistentes
Sistema de traducci´n
o
...
Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
¿C´mo es un m´dulo?
o
o

Estructura de directorios
sites/all/modules/tipo modulo/nombre modulo
contrib
main
features

Subdirectorios:
js
css
img
includes
tpl
translations

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
¿C´mo es un m´dulo?
o
o

Ficheros
nombre modulo.info → Meta-informaci´n del m´dulo
o
o
nombre modulo.module → Implementaci´n de hooks
o
nombre modulo.install → Hooks de instalaci´n/desinstalaci´n
o
o
nombre modulo.admin.inc → Configuraci´n del m´dulo
o
o
nombre modulo.inc → Funciones que no son hooks
nombre modulo.views.inc → Hooks del m´dulo Views
o
nombre modulo.rules.inc → Hooks del m´dulo Rules
o
...

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Capa de presentaci´n
o

Sistema de plantillas
Plantilla HTML con c´digo PHP incrustado
o
nombre fichero.tpl.php
Usado seg´n nomenclatura del fichero
u
Recibe un array de par´metros ($vars)
a
Funciones de preprocesado

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Ejercicio
URL que recibe par´metro y lo muestra por pantalla
a
Fichero info
Fichero module
Hook menu, definir la URL
Hook permissions, definir permiso de acceso
Hook theme, definir plantilla
Definici´n de callback
o
Interactuar con la base de datos
A˜adir Javascript y CSS
n
Hook node view, responde a visualizaci´n de nodo
o

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Debugging

Varias herramientas
Drush (no s´lo debug)
o
M´dulo devel
o
M´dulo coder
o
xdebug
xhprof
Drupal for Firebug

http://ratatosk.net/drupal/tutorials/debugging-drupal.html
Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Rendimiento

M´s herramientas
a
Memcache
Apc
Varnish
Authcache
ApacheSolr
Monitorizaci´n
o
Y por supuesto. . .
Buenas pr´cticas
a
Arquitectura adecuada

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Seguridad
Seguridad en profundidad
Drupal proporciona muchas herramientas, ¡usadlas, insensatos!
La importancia de la formaci´n
o

http://2013.drupalcamp.es/desarrollo-seguro-en-drupal
Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
´
Indice

1

Introducci´n
o

2

Conceptos b´sicos
a

3

Desarrollo: extendiendo Drupal

4

Miscel´nea
a

5

Referencias

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Referencias
Pagina oficial de Drupal
https://drupal.org
Documentacion completa
https://drupal.org/documentation
Estandar de codificacion
https://drupal.org/coding-standards
Cracking Drupal
http://www.crackingdrupal.com
Drupal 7 Pro Development
http://www.drupalbook.com
High Performance Drupal
https://drupal.org/node/2119971

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Como conclusi´n
o
Cuesti´n de echarle ganas. . . y horas
o
Velocidad, flexibilidad. . .
¿Lo mejor? La comunidad

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o
Esto es todo, amigos...

¡Gracias!
¿Preguntas?
@RabbitLair
ezequielvazq[at]gmail[dot]com

Ezequiel V´zquez De la calle
a

Taller de introducci´n a Drupal
o

Más contenido relacionado

Similar a Taller Drupal - Jornadas Software Libre UCA

021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para DesarrolladoresGeneXus
 
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para DesarrolladoresGeneXus
 
Wordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaWordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaDarío BF
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007JuancaPompilla
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantesAlexandro Colorado
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptxGabriela Soto
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGrupo PHP Argentina
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7Rojomorgan
 
Conectando Drupal A Dokeos
Conectando Drupal A DokeosConectando Drupal A Dokeos
Conectando Drupal A Dokeosdokeosla
 
Drupal in a day - SeeD
Drupal in a day - SeeDDrupal in a day - SeeD
Drupal in a day - SeeDseedcolombia
 

Similar a Taller Drupal - Jornadas Software Libre UCA (20)

021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
 
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
021 Developer Works Recursos Tecnicos De Ibm Para Desarrolladores
 
Wordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaWordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp Barcelona
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantes
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo Framework
 
Cormo Framework
Cormo FrameworkCormo Framework
Cormo Framework
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Guía práctica Herencia
Guía práctica HerenciaGuía práctica Herencia
Guía práctica Herencia
 
Theming drupal 7
Theming drupal 7Theming drupal 7
Theming drupal 7
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
 
Introducción a Drupal
Introducción a DrupalIntroducción a Drupal
Introducción a Drupal
 
Atix24
Atix24Atix24
Atix24
 
Atix24
Atix24Atix24
Atix24
 
Conectando Drupal A Dokeos
Conectando Drupal A DokeosConectando Drupal A Dokeos
Conectando Drupal A Dokeos
 
Drupal in a day - SeeD
Drupal in a day - SeeDDrupal in a day - SeeD
Drupal in a day - SeeD
 

Más de zekivazquez

Drupal Dev Days 2018 - Autopsy of Vulnerabilities
Drupal Dev Days 2018 - Autopsy of VulnerabilitiesDrupal Dev Days 2018 - Autopsy of Vulnerabilities
Drupal Dev Days 2018 - Autopsy of Vulnerabilitieszekivazquez
 
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidades
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidadesDrupalCamp Spain 2018: CSI, autopsia de vulnerabilidades
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidadeszekivazquez
 
Hacking a sistemas CMS
Hacking a sistemas CMSHacking a sistemas CMS
Hacking a sistemas CMSzekivazquez
 
Security for Human Beings
Security for Human BeingsSecurity for Human Beings
Security for Human Beingszekivazquez
 
Information is Power
Information is PowerInformation is Power
Information is Powerzekivazquez
 
Hackea tu propia Harley
Hackea tu propia HarleyHackea tu propia Harley
Hackea tu propia Harleyzekivazquez
 
Betabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASPBetabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASPzekivazquez
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASPzekivazquez
 

Más de zekivazquez (8)

Drupal Dev Days 2018 - Autopsy of Vulnerabilities
Drupal Dev Days 2018 - Autopsy of VulnerabilitiesDrupal Dev Days 2018 - Autopsy of Vulnerabilities
Drupal Dev Days 2018 - Autopsy of Vulnerabilities
 
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidades
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidadesDrupalCamp Spain 2018: CSI, autopsia de vulnerabilidades
DrupalCamp Spain 2018: CSI, autopsia de vulnerabilidades
 
Hacking a sistemas CMS
Hacking a sistemas CMSHacking a sistemas CMS
Hacking a sistemas CMS
 
Security for Human Beings
Security for Human BeingsSecurity for Human Beings
Security for Human Beings
 
Information is Power
Information is PowerInformation is Power
Information is Power
 
Hackea tu propia Harley
Hackea tu propia HarleyHackea tu propia Harley
Hackea tu propia Harley
 
Betabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASPBetabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASP
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASP
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
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
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
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)
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Taller Drupal - Jornadas Software Libre UCA

  • 1. Taller de introducci´n a Drupal o Ezequiel V´zquez De la calle a Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 2. Sobre mi Estudios Ingeniero T´cnico en Inform´tica - UCA e a M´ster en Ingenier´ del Software - US a ıa Experto en Seguridad de las TIC - US Experiencia 4 a˜os como desarrollador web, 2 en Drupal n Actualmente: DevOps Drupal Python, C++, GNU/Linux, network programming. . . Aficiones Rock’n’Roll (guitarra) y videojuegos Narrativa fant´stica, rol, cine. . . a Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 3. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 4. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 5. Introducci´n o ¿Y esto de qu´ va? e CMS escrito en PHP Extensible mediante m´dulos y temas o Arquitectura LAMP Software libre (GPL) Actualmente, Drupal 7 Lo mejor: La comunidad Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 6. Introducci´n o Puntos fuertes Gran flexibilidad Enorme velocidad de desarrollo Separaci´n de presentaci´n y l´gica o o o Multitud de m´dulos (16k+) y temas (1.2k+) disponibles o Documentaci´n extensa, y de alta calidad o Soporte por parte de la comunidad Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 7. Introducci´n o Desventajas Bajo rendimiento: dependencia de cach´ e Baja usabilidad para el usuario final Incompatibilidad entre versiones mayores Curva de aprendizaje muy elevada Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 8. Introducci´n o Puede parecer una tarea imposible. . . Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 9. Introducci´n o ¡Pero s´lo es cuesti´n de echarle ganas! o o Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 10. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 11. Conceptos b´sicos a Componentes Core: Instalaci´n b´sica de Drupal o a Module: Extensi´n de la funcionalidad del core o Theme: Extensi´n “visual” (Plantillas, estilos. . . ) o Library: Librer´ externas con funcionalidad adicional ıas Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 12. Conceptos b´sicos a Sistema de publicaci´n o Tipo de contenido Campos Nodo Comentario Taxonom´ ıa Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 13. Conceptos b´sicos a Organizar la informaci´n o Men´ u P´gina a Regi´n o Bloque Plantilla Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 14. Conceptos b´sicos a Gesti´n de usuarios o Usuario Rol Perfil Permiso Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 15. Ejercicio Construcci´n de un blog sencillo o 1 Crear una taxonom´ y t´rminos ıa e 2 Definir un Tipo de contenido: entrada 3 T´ ıtulo, cuerpo, fecha, categor´ . . ıas. 4 Rol para usuarios publicadores 5 Asignar permisos adecuados 6 Usuario para publicar, con rol 7 Bloque con contenido HTML Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 16. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 17. C´mo funciona Drupal o Programaci´n estrucutrada (en D8, objetos) o Flujo de ejecuci´n o 1 Todas las peticiones se reciben en index.php (mod rewrite) URLs del tipo index.php?q=esto/es/una/url 2 Se carga el bootstrap 3 Ejecuci´n de entrada de men´ o u 4 Funci´n de callback o 5 Salida se pasa al theme 6 Renderizado del HTML 7 Env´ de la respuesta al navegador ıo Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 18. C´mo funciona Drupal o Concepto importante: hooks Funciones que se ejecutan cuando un evento sucede Ejemplo: hook init → cuando termina la carga de bootstrap Orden determinado por el peso del m´dulo que lo implementa o Un hook de cada tipo por m´dulo o Esquema de nombre: nombre modulo nombre hook() Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 19. C´mo funciona Drupal o M´ltiples APIs u Algunas API de Drupal. . . Forms API: Formularios Database API: Base de datos Entity API: Nodos, t´rminos, comentarios. . . e Field API: Campos de entidades Batch API: Operaciones por lotes Sistema de menu Variables persistentes Sistema de traducci´n o ... Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 20. ¿C´mo es un m´dulo? o o Estructura de directorios sites/all/modules/tipo modulo/nombre modulo contrib main features Subdirectorios: js css img includes tpl translations Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 21. ¿C´mo es un m´dulo? o o Ficheros nombre modulo.info → Meta-informaci´n del m´dulo o o nombre modulo.module → Implementaci´n de hooks o nombre modulo.install → Hooks de instalaci´n/desinstalaci´n o o nombre modulo.admin.inc → Configuraci´n del m´dulo o o nombre modulo.inc → Funciones que no son hooks nombre modulo.views.inc → Hooks del m´dulo Views o nombre modulo.rules.inc → Hooks del m´dulo Rules o ... Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 22. Capa de presentaci´n o Sistema de plantillas Plantilla HTML con c´digo PHP incrustado o nombre fichero.tpl.php Usado seg´n nomenclatura del fichero u Recibe un array de par´metros ($vars) a Funciones de preprocesado Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 23. Ejercicio URL que recibe par´metro y lo muestra por pantalla a Fichero info Fichero module Hook menu, definir la URL Hook permissions, definir permiso de acceso Hook theme, definir plantilla Definici´n de callback o Interactuar con la base de datos A˜adir Javascript y CSS n Hook node view, responde a visualizaci´n de nodo o Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 24. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 25. Debugging Varias herramientas Drush (no s´lo debug) o M´dulo devel o M´dulo coder o xdebug xhprof Drupal for Firebug http://ratatosk.net/drupal/tutorials/debugging-drupal.html Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 26. Rendimiento M´s herramientas a Memcache Apc Varnish Authcache ApacheSolr Monitorizaci´n o Y por supuesto. . . Buenas pr´cticas a Arquitectura adecuada Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 27. Seguridad Seguridad en profundidad Drupal proporciona muchas herramientas, ¡usadlas, insensatos! La importancia de la formaci´n o http://2013.drupalcamp.es/desarrollo-seguro-en-drupal Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 28. ´ Indice 1 Introducci´n o 2 Conceptos b´sicos a 3 Desarrollo: extendiendo Drupal 4 Miscel´nea a 5 Referencias Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 29. Referencias Pagina oficial de Drupal https://drupal.org Documentacion completa https://drupal.org/documentation Estandar de codificacion https://drupal.org/coding-standards Cracking Drupal http://www.crackingdrupal.com Drupal 7 Pro Development http://www.drupalbook.com High Performance Drupal https://drupal.org/node/2119971 Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 30. Como conclusi´n o Cuesti´n de echarle ganas. . . y horas o Velocidad, flexibilidad. . . ¿Lo mejor? La comunidad Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o
  • 31. Esto es todo, amigos... ¡Gracias! ¿Preguntas? @RabbitLair ezequielvazq[at]gmail[dot]com Ezequiel V´zquez De la calle a Taller de introducci´n a Drupal o