Beruflich Dokumente
Kultur Dokumente
Sobre mi
Estudios Ingeniero T ecnico en Inform atica - UCA M aster en Ingenier a del Software - US Experto en Seguridad de las TIC - US Experiencia 4 a nos como desarrollador web, 2 en Drupal Actualmente: DevOps Drupal Python, C++, GNU/Linux, network programming. . . Aciones RocknRoll (guitarra) y videojuegos Narrativa fant astica, rol, cine. . .
Ezequiel V azquez De la calle Taller de introducci on a Drupal
Indice
Indice
Introducci on
Y esto de qu e va? CMS escrito en PHP Extensible mediante m odulos y temas Arquitectura LAMP Software libre (GPL) Actualmente, Drupal 7 Lo mejor: La comunidad
Introducci on
Puntos fuertes Gran exibilidad Enorme velocidad de desarrollo Separaci on de presentaci on y l ogica Multitud de m odulos (16k+) y temas (1.2k+) disponibles Documentaci on extensa, y de alta calidad Soporte por parte de la comunidad
Introducci on
Desventajas Bajo rendimiento: dependencia de cach e Baja usabilidad para el usuario nal Incompatibilidad entre versiones mayores Curva de aprendizaje muy elevada
Introducci on
Puede parecer una tarea imposible. . .
Introducci on
Pero s olo es cuesti on de echarle ganas!
Indice
Conceptos b asicos
Componentes Core: Instalaci on b asica de Drupal Module: Extensi on de la funcionalidad del core Theme: Extensi on visual (Plantillas, estilos. . . ) Library: Librer as externas con funcionalidad adicional
Conceptos b asicos
Conceptos b asicos
Conceptos b asicos
Gesti on de usuarios Usuario Perl Rol Permiso
Ejercicio
Crear una taxonom a y t erminos Denir un Tipo de contenido: entrada T tulo, cuerpo, fecha, categor as. . . Rol para usuarios publicadores Asignar permisos adecuados Usuario para publicar, con rol Bloque con contenido HTML
Indice
Todas las peticiones se reciben en index.php (mod rewrite ) URLs del tipo index.php?q=esto/es/una/url Se carga el bootstrap Ejecuci on de entrada de men u Funci on de callback Salida se pasa al theme Renderizado del HTML Env o de la respuesta al navegador
2 3 4 5 6 7
C omo es un m odulo?
Subdirectorios:
js css img includes tpl translations
C omo es un m odulo?
Ficheros nombre modulo.info Meta-informaci on del m odulo nombre modulo.module Implementaci on de hooks nombre modulo.install Hooks de instalaci on/desinstalaci on nombre modulo.admin.inc Conguraci on del m odulo nombre modulo.inc Funciones que no son hooks nombre modulo.views.inc Hooks del m odulo Views nombre modulo.rules.inc Hooks del m odulo Rules ...
Capa de presentaci on
Sistema de plantillas Plantilla HTML con c odigo PHP incrustado nombre chero.tpl.php Usado seg un nomenclatura del chero Recibe un array de par ametros ($vars) Funciones de preprocesado
Ejercicio
URL que recibe par ametro y lo muestra por pantalla Fichero info Fichero module
Hook menu, denir la URL Hook permissions, denir permiso de acceso Hook theme, denir plantilla Denici on de callback Interactuar con la base de datos A nadir Javascript y CSS Hook node view, responde a visualizaci on de nodo
Indice
Debugging
Varias herramientas Drush (no s olo debug) M odulo devel M odulo coder xdebug xhprof Drupal for Firebug
http://ratatosk.net/drupal/tutorials/debugging-drupal.html
Ezequiel V azquez De la calle Taller de introducci on a Drupal
Rendimiento
M as herramientas Memcache Apc Varnish Authcache ApacheSolr Monitorizaci on Y por supuesto. . . Buenas pr acticas Arquitectura adecuada
Seguridad
Seguridad en profundidad Drupal proporciona muchas herramientas, usadlas, insensatos! La importancia de la formaci on
http://2013.drupalcamp.es/desarrollo-seguro-en-drupal
Ezequiel V azquez De la calle Taller de introducci on a Drupal
Indice
Referencias
Pagina ocial de Drupal https://drupal.org Documentacion completa https://drupal.org/documentation Estandar de codicacion 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
Como conclusi on
Cuesti on de echarle ganas. . . y horas Velocidad, exibilidad. . . Lo mejor? La comunidad
Gracias! Preguntas?
@RabbitLair ezequielvazq[at]gmail[dot]com