Drupal de la A a la ZCómo construir un sitio web dinámico
Seminario Internacional de Usabilidad y Accesibilidad para la Web 2008
Centro Internacional de Negocios de MonterreyNoviembre 5-7, 2008
Temario Introducción Conceptos generales
de administración de contenido
Conceptos clave de Drupal
Instalación y primeros pasos
Módulos del core Módulos de terceros Administración y
funcionalidades La capa de
presentación: temas gráficos
Para ir más lejos…
Introducción El taller: una inmersión ligera en las
capacidades reales de Drupal, para poder construir con facilidad un sitio relativamente complejo.
El instructor: un aficionado de buen nivel. Sobre todo divulgador de ciencia, pero también un poco de todo: arquitecto de información, periodista, diseñador, coder (muy básico) y más.
Los talleristas: ?
Conceptos generales Datos, información y contenido Sitios estáticos Sitios dinámicos Sitios vs páginas Elementos de un sitio Elementos de una página Elementos de un CMS
Datos, información, contenido Datos – Pequeños trozos de información
(números, palabras, imágenes, sonidos) a los que se ha quitado mucho de su significado humano
Información – Todas las formas comunes de comunicación registrada
Contenido – Información envuelta en datos para aplicarla a un uso Definiciones de Bob Boiko, Content
Management Bible
Sitios vs páginas ¿Les ha tocado conocer a alguien que
dice “Necesito una paginita web” cuando en realidad lo que quiere es un sitio web?
Una página web es una colección de estructuras rectangulares dispuestas conforme a las reglas de sintaxis del HTML.
Un sitio web es una colección de páginas web organizada conforme a una estructura o arquitectura de sitio.
Algunos elementos posibles Cabecera – identificación, banners Navegación (varios niveles) Pie de página Contenido principal Barra(s) lateral(es) con bloques de
contenido Etc.
Algunos elementos posibles Página inicial Páginas concentradoras de listas Páginas finales Páginas estáticas (referencias) Funcionalidades Etc.
Elementos de un CMS 1 Un sistema de administración de contenido
en web, o CMS, es un sistema que facilita la adición, moderación, actualización, borrado, archivamiento y recuperación de contenido.
Un CMS permite que usuarios no técnicos construyan y usen un sitio web con poco o ningún entrenamiento.
Un CMS es una aplicación web que administra varias formas de contenido, desde texto e imágenes hasta video.
Elementos de un CMS 2 Desde una perspectiva de proceso, se llama
administración de contenido al proceso de recolectar, administrar y publicar contenido.
Recolectar: Se crea o se adquiere información de una fuente existente. Dependiendo de ésta, puede o no necesitarse convertir la información a un formato maestro (como el XML). Por último, se agrega la información al sistema editándola, segmentándola en bloques (o componentes) y agregándole los metadatos apropiados.
Elementos de un CMS 3 Administrar: Se crea un repositorio que
consiste en registros de base de datos o en archivos que contienen los componentes de contenido y datos administrativos (por ejemplo, los datos sobre los usuarios del sistema).
Elementos de un CMS 4 Publicar: Se hace disponible el contenido
extrayendo componentes del repositorio y construyendo publicaciones dirigidas como sitios Web, documentos imprimibles y cartas noticiosas por correo. Las publicaciones consisten en componentes apropiadamente dispuestos, funcionalidad, información relacionada y navegación.
Conceptos clave de Drupal Qué es Drupal Historia Por qué usar Drupal El core y los módulos Las versiones de
Drupal
Nodos Módulos Bloques Temas gráficos
Qué es Drupal Drupal es un CMS, un sistema de
administración de contenido gratuito, modular, de código abierto. Es también una plataforma de desarrollo para la administración de contenido.
Está escrito en el lenguaje PHP y corre sobre bases de datos MySQL o PostgreSQL.
Ofrece a los desarrolladores una base sólida para extender e implementar soluciones personalizadas de administración de contenido.
Qué puede hacerse con Drupal Sitios web comunitarios/redes sociales Blogs/Weblogs - Bitácoras Sitios de comercio electrónico Foros de discusión Wikis/Bases de conocimiento Aplicaciones web de negocios Intranets/Extranets
Capacidades de Drupal Sistema granular de permisos Administración de usuarios Manejo de temas gráficos/plantillas Sindicación (hilos RSS)/Agregación Tipos de contenido a la medida Generación visual de consultas de datos Control y moderación de contenido Gestión WYSIWYG de archivos… ¡Y mucho
más!
Historia El proyecto Drupal se lanzó en el año 2000 en
Holanda, cuando Dries Buytaert era estudiante.
El código se diseñó originalmente para un sitio llamado drop.org.
En 2001 el código se liberó como Drupal. La historia de Drupal se puede consultar en
http://drupal.org/node/769. En 2007 Dries anunció el lanzamiento de
Acquia, un proyecto comercial para impulsar Drupal.
Por qué usar Drupal Porque es fácil de instalar Porque es fácil de usar, amigable (ejem) Porque es fácil de aprender (ejem ejem) Porque es increíblemente variado y rico
en funcionalidades (a través de sus módulos)
Porque es gratis/código abierto (GNU/GPL) Porque es flexible, robusto y modular Porque tiene gran soporte comunitario
El core de Drupal Marco de desarrollo
compacto y ligero Librería de funciones
comunes Permite a Drupal
arrancar y servir una solicitud
Es lo que uno recibe al descargar Drupal
Extensibilidad vía módulos Son el cómo Drupal se
extiende Son versátiles y compactos Drupal permite a los
módulos usar los llamados hooks
El core realiza sus acciones clave con módulos
Módulos clave: inamovibles Hay módulos opcionales Acepta módulos de terceros
Las versiones de Drupal 1 Drupal 4.7 - Mayo 1, 2006
Formularios con capacidad para autocompletarse
Múltiples regiones para los bloques Etiquetado libre Mejoras a los agregadores
Las versiones de Drupal 2 Drupal 5.0 – Enero 15, 2007
Instalador basado en web Páginas de administración mejoradas Filtrado de URL Tipos de contenido personalizados
Las versiones de Drupal 3 Drupal 6.0 – Febrero 13, 2008
Soporte para OpenID Mejoras en la localización Acciones y disparadores Administración drag-and-drop
Nodos Definición 1: Un nodo puede pensarse
como una abstracción primaria a la que se pueden agregar campos para convertir la abstracción en una concreción a la que llamamos tipo de contenido.
Definición 2: Un nodo es un contenedor de cosas (perdón por los tecnicismos). ¿De qué cosas? En parte, del contenido que usted crea. En parte, de elementos administrables que Drupal crea.
Módulos Un módulo es una forma de extender las
funcionalidades que ofrece Drupal. Por lo general un módulo es un montón
de archivos de código (usualmente en PHP) y quizás alguna hoja de estilo (CSS).
Por ejemplo. Su sitio tiene contenido. ¿Quiere describirlo? En HTML esto se hace con descriptores META. Y para administrarlos en Drupal puede instalar el módulo Nodewords.
Bloques Un bloque es un rectángulo de página
donde se publica algo de contenido. Si imaginamos un módulo como una
tienda ubicada en el interior de un mall (el sitio), un bloque es el equivalente a un escaparate puesto en la parte exterior del mall: es una ventana hacia lo que hay en el interior.
Temas gráficos Un tema gráfico es un conjunto de
elementos que sirven para definir la capa de presentación del sitio. Manipulan el contenido para desplegarlo al visitante con ciertas características visuales o de comportamiento.
Un tema gráfico está formado por diferentes archivos (como plantillas, hojas de estilo, imágenes) que en su conjunto visten el contenido que sirve el sitio.
Otros sitios 1 Bandas, músicos y celebridades
AvrilLavigne.com JeniferLopez.com (sí, así lo escribieron) Dead.net (Grateful Dead)
Comunidades y redes sociales Blogher.com community.menshealth.de Drupalsites.net
Otros sitios 2 Compañías y negocios
http://officepranks.forbes.com/ http://www.mtv.co.uk/ http://www.warnerbrosrecords.com/
Open source, software y desarrollo http://dev.aol.com/ http://www.flock.com/ http://www.ubuntu.com/
Otros sitios 3 Y si le seguimos:
Tim Berners-Lee, NASA, Spread Firefox, KDE Devs, GNOME, Blaz, Tipic, DebianPlanet, LinuxJournal.com, jEdit, Lucent Technologies, Yahoo!, MTV, FOSDEM, Avril Lavigne, Electronic Frontier Foundation, Harvard, Britney Spears, United Nations, Lifetime, CBC, Warner Bros., Fox, Tori Amos, Universal Music, Eclipse, Discovery Channel, The Onion, Royal Flemish Philarmonic, 9Lives, MotoGP, Forbes, Men's Health, Ozzy Osbourne, AOL, Greenpeace, Amnesty International, Playboy, HIllary Clinton, Sony, PlayStation, Second Life, Bélgica, Fedex, Nike...