Apps. Semánticas con Drupal - © Héctor G. Ceballos 1
APLICACIONES SEMÁNTICAS CON DRUPALDr. Héctor G. Ceballos [email protected]
ITESCO – CIICI 2012
14 y 15 de Noviembre 2012
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 2
Descripción del taller• Público
• Dirigido tanto a personas con poco o ningún conocimiento de programación como para desarrolladores web expertos.
• Objetivo• Aplicar los principios de la Web Semántica (Web 3.0) a través del
desarrollo de una aplicación web con Drupal 7.
• Requerimientos • Computadora personal con acceso a Internet.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 3
Contenido• Primera sesión
• Introducción (30 min.)• Instalación y configuración de un sitio (30 min.)• Definiendo tipos de contenido (45 min.)• Navegando el contenido (30 min.)• Instalando módulos (15 min.)• Ligando tipos de contenido (30 min.)
• Segunda sesión• Usuarios y roles (30 min.)• Creando vistas (60 min.)• Configurando la interfaz (30 min.)• Recomendando contenido (30 min.)• Conclusiones (30 min.)
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 4
PRIMERA SESIÓN
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 5
Introducción• Drupal es una plataforma de administración de contenido
de código abierto usada en millones de sitios alrededor del mundo.
• Es construido, usado y soportado por una comunidad de personas activas y diversas alrededor del mundo.
www.drupal.org
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 6
La comunidad Drupal
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 7
Sitios construidos con Drupal
CIICI 2012
http://drupal.org/case-studies
Apps. Semánticas con Drupal - © Héctor G. Ceballos 8
IntroducciónElementos básicos de Drupal• Tipos de contenido (objetos con propiedades)• Comentarios (interacción)• Taxonomías (tags)• Usuarios• Roles (permisos específicos)• Módulos (extensiones y dependencias)• Temas (secciones y hojas de estilo)• Menús• Bloques
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 9
Características de una Aplicación Semántica
• Web 2.0• Los usuarios publican el contenido de los sitios (dinámicos).• Las páginas tienen etiquetas y categorías .• La información se expone a través de RSS (XML).
• Web 3.0• Las páginas contienen descripciones de los objetos (RDF) que son
entendibles para otros sitios.• La información está ligada y se puede navegar entre ella.• Se usan vocabularios estándares en varios sitios.• Los sitios intercambian información entre sí.• Las búsquedas devuelven resultados confiables y apropiados para
el usuario.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 10
IntroducciónCaracterísticas semánticas de Drupal• La información está estructurada:
• Clases (tipos de contenido)• Propiedades (tipos de dato)• Relaciones entre tipos de contenido (referencias)• Instancias (nodos)
• Las propiedades y los tipos de contenido están identificados por una etiqueta única en el sitio.
• Las taxonomías permiten ligar y navegar el contenido.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 11
IntroducciónCapacidades semánticas en Drupal 7• En el núcleo de Drupal 7
• Etiquetas RDF para: títulos, autores, comentarios, usuarios, etiquetas e imágenes.
• Módulos adicionales• Interfaz para asignar etiquetas RDF a propiedades y tipos de
contenido definidos por el usuario.• Recomendación de etiquetas de vocabularios populares.• Una interfaz que responde a preguntas en formato SPARQL.• Un monitor de actualiza tu sitio cuando detecta cambios en otras
páginas referidas por tu sitio (RDF proxy).
CIICI 2012
http://groups.drupal.org/semantic-web
Apps. Semánticas con Drupal - © Héctor G. Ceballos 12
Instalación y configuración• Instalar XAMP.
• http://www.apachefriends.org/en/xampp.html• Ruta de instalación: __________________________________• Base de datos: _______________• Usuario: ______________ Password: __________________
• Descargar la versión más nueva de Drupal 7.• http://drupal.org/project/drupal (v. 7.17)• Nombre del sitio: _______________________• Usuario: admin Password: ______________
• Configurar la información principal del sitio.
• Autenticarse en el sitio.
CIICI 2012
http://drupalkar.com/en/tutorials/install-drupal-7-locally-xampp
Apps. Semánticas con Drupal - © Héctor G. Ceballos 13
Definiendo tipos de contenido• Definir dos tipos de contenido
• Parámetros generales• Campos • Visualización: default y teaser
• Capturar nodos• Registrar 3 unidades de contenido para cada tipo.• Ver el nuevo contenido en mi sitio
• Comentarios• Capturar un par de comentarios
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 14
Navegando el contenido• Definir una taxonomía.
• Agregar un campo para etiquetas de dicha taxonomía.
• Anotar el contenido creado.
• Navegar entre contenido relacionado.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 15
Instalando Módulos• Consultar los módulos más populares de Drupal 7
• http://drupal.org/download
• Versiones y estadísticas de uso
• Colaboración: Issues y participantes
• Reputación en Drupal
• Instalar el módulo Entity Reference• http://drupal.org/project/entityreference
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 16
Ligando tipos de contenidos• Crear una relación entre dos tipos de contenido.
• Crear una vista para filtrar las instancias seleccionables.
• Capturar información relacionada.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 17
SEGUNDA SESIÓN
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 18
Usuarios y roles• Los roles predefinidos en Drupal:
• Anonymous User, Authenticated User, Administrator.
• Habilitar el registro automático de usuarios.
• Asignar permisos para crear contenido.
• Definir las preferencias del usuario.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 19
Creando vistas • Instalar el módulo Views en http://drupal.org/download
• http://drupal.org/project/views • Versiones y estadísticas de uso• Colaboración: Issues y participantes• Reputación en Drupal
• Crear y configurar una vista de tipo Teasers
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 20
Configurando la interfaz• Agregando un elemento al menú
• Mostrar la vista de tipo Teasers al menú principal• Configurar para que sólo sea visible para usuarios registrados.
• Agregando un bloque en la barra lateral• Identificar las secciones disponibles.• Ubicar el bloque de usuarios en línea en la barra lateral derecha.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 21
Recomendando contenido• Crear una vista con contenido relacionado con las
preferencias del usuario.
• Ubicar un bloque de recomendación en la barra lateral.
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 22
Conclusiones1. Drupal es una plataforma que incorpora y lleva a la
práctica principios de la web semántica.
2. Estructuramos nuestra información con datos específicos.
3. Etiquetamos y navegamos en el contenido.
4. Configuramos la manera de presentar la información.
5. Creamos un portal web sin necesidad de programar una sola línea de código ni conocer HTML (páginas web).
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 23
Otros módulos para Web Semántica• Extraer información de fuentes RSS
• http://drupal.org/project/feeds
• Georeferenciar tu contenido• http://drupal.org/project/gmap
• Habilitar Inteligencia colectiva• http://drupal.org/project/votingapi
• Habilitar taxonomías jerárquicas• http://drupal.org/project/term_reference_tree
• Habilitar tu aplicación para dispositivos móviles• http://drupal.org/project/mobile_theme
• Anotar tu información para la Web Semántica• http://drupal.org/project/microdata • http://drupal.org/project/rdfx
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 24
¿Qué más puedo hacer con Drupal?• Integrar más módulos a tu aplicación
• http://drupal.org/project/modules
• Probar otros temas• http://drupal.org/project/themes
• Buscar configuraciones ad-hoc (ej. eCommerce)• http://drupal.org/project/distributions
• Integrarte a la comunidad Drupal y desarrollar temas y módulos• http://drupal.org/community
CIICI 2012
Apps. Semánticas con Drupal - © Héctor G. Ceballos 25
Recursos didácticos• Documentación de Drupal
• http://drupal.org/documentation
• Video tutoriales• www.lynda.com• Drupal 7 tutorials
CIICI 2012