Drupal - Introducción

43
Drupal Creación de Websites con Drupal

description

Introducción al CMS Drupal.

Transcript of Drupal - Introducción

Page 1: Drupal - Introducción

Drupal

Creación de Websites con Drupal

Page 2: Drupal - Introducción

¿Quién soy?

● Mi nombre es Danilo Domínguez P.● Trabajo en DITIC – UTP● Desarrollador Web con 3 años de

experiencia en PHP.● Seguidor del Software Libre.

Page 3: Drupal - Introducción

¿Qué es Drupal?

CMS(Content Management System)

CMF(Content Management Framework)

Comunidad

Page 4: Drupal - Introducción

CMS

Un Sistema de gestión de contenidos (Content Management System en inglés, abreviado CMS) es un programa que permite crear una estructura de soporte (framework) para la creación y administración de contenidos, principalmente en páginas web, por parte de los participantes.

Wikipedia

Page 5: Drupal - Introducción

CMS

http://www.codeproject.com

Page 6: Drupal - Introducción

CMF

CMF (Content Management Framework) es una interfaz de programación de aplicaciones para personalizar la creación o modificación de una sistema de gestión de contenidos.

Page 7: Drupal - Introducción

Comunidad

● Distribuido bajo licencia GPL("GNU General Public License")

● Documentación (handbook) bajo licencia Creative Commons License, Attribution-ShareAlike2.0

● Mantenido por la comunidad.

Page 8: Drupal - Introducción

¿Para qué puedo utilizar Drupal?

● Construcción de Portales Web● Aplicaciones de Intranet● Blogs, Sitios Web personales● Aplicaciones de E-commerce● Podcastings● Redes Sociales● Mucho más

Page 9: Drupal - Introducción

CASOS DE ESTUDIO

Page 10: Drupal - Introducción

labs.sonyericsson.com

Page 11: Drupal - Introducción

ubuntu.com

Page 12: Drupal - Introducción

febp.newamerica.net

Page 13: Drupal - Introducción

Curva de Aprendizaje

Dries Buytaert

Page 14: Drupal - Introducción

Requerimientos del Sistema

● Sistemas Opertivos: Linux, Unix, Windows.● PHP● Servidor Web:

– Apache (preferible)– IIS– Lighthttp

● Gestor de Base de Datos:– MySQL– PostgreSQL

Page 15: Drupal - Introducción

INTRODUCCIÓN A DRUPALCómo funciona Drupal

Page 16: Drupal - Introducción

Arquitectura de Drupal

Page 17: Drupal - Introducción

Flujo de Ejecución

● Drupal está separado en varias capas que mantienen las cosas organizadas y flexibles.

● Existen 5 capas principales en Drupal.

Page 18: Drupal - Introducción
Page 19: Drupal - Introducción

DATA EN DRUPAL

Page 20: Drupal - Introducción

Contenidos

● Todo contenido en Drupal es un Nodo.

● No son nodos:– Taxonomías– Usuarios– Comentarios– Bloques

Page 21: Drupal - Introducción

¿Qué es un Nodo?

● En Drupal cada elemento de contenido es un nodo y cada nodo pertenece a un tipo de contenido.

● Un nodo puede ser:– Una entrada de un blog– Una página– Una noticia– etc.

Page 22: Drupal - Introducción

Taxonomías

Page 23: Drupal - Introducción

Taxonomías

● Categorización de nuestro sitio.● Permite crear una arquitectura de términos:

– Términos con uno o más padres

– Sinónimos

– Términos relacionados● Múltiples módulos de terceros que agregan

funcionalidad mediante taxonomías.

Page 24: Drupal - Introducción

MÓDULOS

Page 25: Drupal - Introducción

Módulos

● Son extensiones de Drupal que pueden estar en el core de Drupal o creados por miembros de la comunidad de Drupal (Contribuidos).

● Pueden ser:– Calendario de eventos

– Comercio electrónico

– Multimedia

Page 26: Drupal - Introducción

Módulos

Page 27: Drupal - Introducción

MódulosCore● Blog y Foros● Búsqueda● Manejo de Usuarios● Soporte RSS● Multilenguaje● Multisitios● Estadísticas, Tracking,

Loging, Reporting● Encuesta

Contribuidos● CCK● Views● Image Cache● WYSIWYG● Calendarios● Galería de Imágenes● Sistema de Votación de

contenidos.● Y cientos más

Page 28: Drupal - Introducción

Arquitectura de Drupal y Módulos

● Los módulos definen “hooks” que le permiten agregar funcionalidad en el flujo de ejecución de Drupal.

● Los hooks son funciones declaradas en PHP.● Éstas utilizan un convención de nombres

especial.– hook_* donde hook es reemplazado por el

nombre del módulo.– Ejemplo: blog_perm().

Page 29: Drupal - Introducción

BLOQUES Y MENÚS

Page 30: Drupal - Introducción

Bloques

● Utilizados para presentar pequeños pedazos de contenido.

● No es un nodo o tipo de contenido.● Los temas definen regiones en donde se

van a colocar los bloques.● Drupal tiene una interfaz para administrar

donde colocar cada bloque.

Page 31: Drupal - Introducción

Bloques

Page 32: Drupal - Introducción

Bloques (Administración)

Page 33: Drupal - Introducción

Menús

● Dos conceptos principales: Menú y Elemento de Menú (Menu Item).

● Menu: es un bloque que puede contener varios elementos.

● Menu Item: es un link ya se interno o externo.

● Integrado con el sistema de permisos de usuario de Drupal.

Page 34: Drupal - Introducción

USUARIOS Y PERMISOS

Page 35: Drupal - Introducción

Permisos de Usuario

● Aquí es donde Drupal define que puede ser visto por los diferentes tipos de usuarios.

● Maneja los tipos de usuarios con un sistema de “roles de usuario”.

● Cada módulo define una serie de permisos que se le puede asignar a los roles.

Page 36: Drupal - Introducción

Módulo de Usuarios

● Permite iniciar sesión, terminar sesión y creación de nuevos usuarios.

● Define dos roles por defecto (anónimo y registrado), aunque se pueden agregar otros roles definidos por el usuario.

● Diferentes configuraciones dentro de Drupal para el manejo de usuarios.

Page 37: Drupal - Introducción

TEMPLATE O PLANTILLA

Page 38: Drupal - Introducción

Themes o Temas

● Están construidos principalmente a base de código HTML y CSS con cierto código PHP.

● Se pueden utilizan varios Template Engines.● Drupal utiliza por defecto PHPTemplate pero

soporte otros como Smarty.● Totalmente flexibles.● Sobrescribir funciones de template.

Page 39: Drupal - Introducción

Themes o Temas

Page 40: Drupal - Introducción

Recursos● drupal.org

/forum /handbook

/planet /project● IRC (freenode)

– #drupal– #drupal-es– #drupal-views

● groups.drupal.org/panama

Page 41: Drupal - Introducción

Más Recursos

● Screencast– http://www.drupaltherapy.com/– http://gotdrupal.com/– http://mustardseedmedia.com/podcast

● Información, Artículos, Podcasts– http://lullabot.com– http://developmentseed.org

Page 42: Drupal - Introducción

Contacto

● Correo-e: [email protected]● Twitter: @danilo04● Slideshare: danilo04● Blog: http://danilo04.accionasolutions.net

Page 43: Drupal - Introducción