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

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
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
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
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
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

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