Introduccion técnica a Drupal

30
Introducción a Drupal http://www.flickr.com/photos/gaborhojtsy/279354231/

description

Introducción técnica a Drupal, cómo se instala, cómo funciona, conceptos, programación...

Transcript of Introduccion técnica a Drupal

Page 1: Introduccion técnica a Drupal

Introducción a Drupal

http://www.flickr.com/photos/gaborhojtsy/279354231/

Page 2: Introduccion técnica a Drupal

Sobre mí

● Formador y consultor en Neurotic Web Development.

● Presidente de la asociación española de Drupal.

● Miembro permanente de la junta en drupal.cat.

● Co-organizador de la drupalcamp spain 2010.

http://cambrico.net

http://twitter.com/pcambra

http://drupal.org/user/122101

Pedro Cambra

Page 3: Introduccion técnica a Drupal

Sobre Neurotic

Especialistas en Drupal.

Servicios de consultoría y formación.

Comercio electrónico.http://www.neurotic.es http://www.gorile.com

Page 4: Introduccion técnica a Drupal

Arquitectura de Drupal

DrupalDrupalDrupal

ApacheApacheApacheApache

Page 5: Introduccion técnica a Drupal

Instalación de Drupal: Descarga

● Descarga desde drupal.org: Núcleo básico y Perfiles de instalación.

● Instaladores de tipo Stack: Bitnami / Acquia● Descarga desde el repositorio CVS.● Instaladores automáticos, como Fantastico.● Drupal Gardens● ...

Page 6: Introduccion técnica a Drupal

Proceso de instalación básico

● Copiar el fichero default.settings.php en settings.php (sites/default o sites/misitio.com)

● Modificar permisos de settings.php para que lo pueda modificar todo el mundo.

● Crear la base de datos y asignar permisos.● Realizar el proceso de instalación de Drupal.● Restaurar permisos de settings.php

Page 7: Introduccion técnica a Drupal

Estructura de directorios

Page 8: Introduccion técnica a Drupal

Administración: Contenido

● El contenido se organiza en unidades de información denominadas nodos.

● Los tipos de contenido permiten asignar diferentes carácterísticas a los distintos tipos de nodos.

● La organización del contenido se puede realizar a través de los vocabularios o taxonomías.

Page 9: Introduccion técnica a Drupal

Administración: Usuarios

● La gestión de los usuarios (creación, modificación, borrado) está integrada en la interfaz de administración.

● Es posible agrupar los usuarios a través de roles, que definen los límites de permisos de cada grupo de usuarios.

● Los permisos se asignan a los roles y no a los usuarios.

Page 10: Introduccion técnica a Drupal

Administración: Construcción

● Drupal permite la gestión de los menús desde el interfaz.

● Es posible configurar los alias de URL de cada elemento.

● La administración de bloques se utiliza para situar elementos de la página en las diferentes regiones.

● Las plantillas sirven para modificar el comportamiento gráfico de un sitio.

Page 11: Introduccion técnica a Drupal

Administración: Módulos

● Un módulo es un componente de código que se integra con el resto de la aplicación Drupal a través de los elementos del API del núcleo o de otros módulos.

● Es posible desarrollarlos desde cero, o utilizar parte de otros módulos como base.

● Se instalan a través de la interfaz de Drupal.

Page 12: Introduccion técnica a Drupal

Administración: Configuración

● Opciones extra de módulos.● Gestión de ficheros.● Opciones de rendimiento.● Información del sitio.● Configuración de fecha.● Formatos de entrada.

Page 13: Introduccion técnica a Drupal

Administración: Informes

● El informe de estado muestra el estado general del sitio con diferentes niveles de aviso.

● El watchdog informa de errores y eventos importantes.

● Consulta de las actualizaciones disponibles para los módulos del núcleo y los contribuidos: update status.

● ...

Page 14: Introduccion técnica a Drupal

Módulos contribuidos

● Existen más de 7000 módulos contribuidos accesibles a través de drupal.org: http://drupal.org/project/modules

● Para encontrar los módulos que se adaptan a nuestras necesidades se puede utilizar http://drupalmodules.com/

● Es recomendable revisar y probar estos módulos, ya que pueden ocasionar problemas de rendimiento o seguridad.

Page 15: Introduccion técnica a Drupal

Módulos: Selección

En ocasiones, podemos encontrar varios módulos que aparentemente cumplen la misma funcionalidad buscada.

¿Cómo elegirlos?● Estadísticas de uso:

http://drupal.org/project/usage/views

● Cola de issues: http://drupal.org/project/issues/views?status=All&categories=All

● Similar Module Review: http://groups.drupal.org/similar-module-review

Page 16: Introduccion técnica a Drupal

Módulos contribuidos

● CCK = Content Construction Kit http://drupal.org/project/cck

● Permite crear campos sobre tipos de contenido propios o de otros módulos

● Provee una API para que otros módulos creen tipos de campos. http://drupal.org/project/link http://drupal.org/project/date

CCK

Page 17: Introduccion técnica a Drupal

Módulos contribuidos

● Proporciona una interfaz flexible para presentar listados de información a los usuarios.

● Permite a los administradores de sitios Drupal generar listados de contenido, usuarios, galerías de imágenes, búsquedas personalizadas y mucho más sin tocar código.

● Es el módulo contribuido más utilizado para proyectos Drupal (más de 240,000 sitios lo utilizan)

VIEWS

Page 18: Introduccion técnica a Drupal

Módulos contribuidos

● Un token o patrón es un pequeño texto que se sitúa dentro de un texto mayor y que es reemplazado en el momento de visualizar.

● Token es un módulo que no tiene interfaz pero se integra con muchos otros, para generar nombres de ficheros personalizados, rutas, etc.

TOKEN

Page 19: Introduccion técnica a Drupal

Módulos contribuidos

● Permite generar alias de URL automáticos para diferentes elementos como nodos, usuarios, taxonomías.

● A través de un patrón de reemplazo gestionado por el módulo Token, es posible generar alias de URL basados en reemplazos dinámicos, como el título, la categoría, el nombre de usuario...

PATHAUTO

Page 20: Introduccion técnica a Drupal

Módulos contribuidos

● Permite generar imágenes de diferentes tamaños y dimensiones a partir de una original.

● A través de un interfaz gráfico, se pueden programar una serie de modificaciones denominadas presets, que permitirán mostrar una misma imagen de formas distintas.

● Además de tamaños y dimensiones, es posible aplicar efectos más complejos. Como bordes redondeados, marcas de agua...

● Se integra con CCK y Views.

IMAGECACHE

Page 21: Introduccion técnica a Drupal

Módulos contribuidos

● Hace posible crear estructuras de páginas tanto fijas como flexibles desde el interfaz de administración.

● Es posible incluir casi cualquier elemento dentro de los paneles, vistas, nodos, campos de cck, bloques...

● Facilita el diseño de páginas con estructuras complejas.

PANELS

Page 22: Introduccion técnica a Drupal

Módulos contribuidos

Drupal tiene soporte en el núcleo para ciertas mejoras de posicionamiento, como las URL limpias, pero hay módulos contribuidos que ayudan a este objetivo, entre otros:● Pathauto● Xmlsitemap genera un mapa del sitio en XML.● MetaTags Proporciona meta tags a cada página.● Path Redirect ayuda a realizar redirecciones a

través del interfaz.

SEO

Page 23: Introduccion técnica a Drupal

Módulos contribuidos

Existen varios módulos para realizar tareas basadas en eventos, algunos de ellos, como Triggers y Actions están incluidos en el núcleo, pero se puede extender su funcionalidad utilizando los módulos Rules o Workflow para eventos y acciones avanzadas.

CONTROL DE FLUJO

Page 24: Introduccion técnica a Drupal

Otros módulos contribuidos

● Devel – ayuda al desarrollo● Internacionalización – Sitios multilingües● Flag – Marcar contenido● Multimedia

● Embedded Media Field – Campo CCK● Audio● Video

Page 25: Introduccion técnica a Drupal

Módulos: Estructura

demo.info

demo.install

demo.module

El fichero .info define la meta información del módulo.

El .install declara las acciones a realizar cuando se instala o desinstala un módulo.

El .module tiene el código que ejecuta el módulo.

También pueden existir ficheros README.txt y CHANGELOG.txt para documentación, además de ficheros .inc para inclusiones de otro código, css, js...

Page 26: Introduccion técnica a Drupal

Módulos: Hooks

● Los hooks o “ganchos” indican a otros módulos de Drupal si nuestro módulo personalizado tiene algo que añadir y de esta forma se puede alterar el funcionamiento de una acción determinada.

● Se expresan como hook_* donde hook se reemplaza por el nombre del módulo.

● Los módulos invocan hooks utilizando la función module_invoke_all('nombre_hook')

Page 27: Introduccion técnica a Drupal

Módulos: Alters

● Además de los hooks, muchos módulos permiten modificar comportamientos y variables en algunas funciones.

● El ejemplo más común es hook_form_alter para modificar formularios pero hay muchos más: hook_link_alter, hook_menu_alter

Page 28: Introduccion técnica a Drupal

Módulos: Form API

● Drupal provee de una completa API para mostrar formularios y realizar la validación y el envío de los mismos.

● Guía de Forms API: http://api.drupal.org/api/file/developer/topics/forms_api.html/6

● Referencia de Forms API: http://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6

Page 29: Introduccion técnica a Drupal

Módulos: Best Practices

● Drupal coding standards● Módulos Devel y Coder● Organización de directorios● Documentación y Doxygen● Drush module builder

Page 30: Introduccion técnica a Drupal

¿Preguntas?

@pcambra

[email protected]