Drupal 7 CRIF "Las Acacias" Abril – 2011 Juan Félix Mateos
¿Qué es Drupal? <ul><li>Drupal es un  gestor web de contenidos  (CMS) que se distribuye con licencia GNU-GPL (software lib...
Características principales de Drupal <ul><li>Drupal en sí, lo que conocemos como  Drupal Core , ofrece una funcionalidad ...
¿Quién utiliza Drupal? <ul><li>La casa Blanca:  http://www.whitehouse.gov/ </li></ul><ul><li>ING Direct:  http://ing.us </...
Algunos puntos débiles de Drupal… <ul><li>La  interfaz de administración  de Drupal resulta  compleja  y  poco manejable ....
…  y sus posibles excusas <ul><li>La versión 7 de Drupal ha mejorado notablemente la usabilidad de la interfaz de administ...
Las versiones de Drupal <ul><li>En todo momento están disponibles tres versiones de Drupal que son las únicas para las que...
¿Cómo será Drupal 8? <ul><li>Estará pensado para mostrar contenidos en todo tipo de dispositivos (móviles, tabletas, …) ap...
Actualización de Drupal <ul><li>Cada vez que se presenta una versión nueva de Drupal sólo incluye la actualización del núc...
Sitios estáticos versus dinámicos I
Sitios estáticos versus dinámicos II <html> <head> <title>Página estática</title> </head> <body> <p>Son las 19:30:25</p> <...
¿Cómo funciona Drupal? <ul><li>Drupal es una aplicación que se ejecuta sobre un  servidor web  y hace uso de  PHP  para ef...
La estratificación de Drupal
Instalación de Drupal:  Requisitos previos <ul><li>Para instalar Drupal necesitamos: </li></ul><ul><ul><li>Espacio de aloj...
Instalación de Drupal:   Convertir nuestro ordenador local en un servidor web <ul><li>XAMPP: Windows y Linux </li></ul><ul...
Instalación de Drupal:   Modificar el archivo php.ini <ul><li>Acceder al archivo php.ini, que controla el funcionamiento d...
Instalación de Drupal:  Crear la base de datos <ul><li>Si tenemos contratado un alojamiento remoto es probable que la base...
Instalación de Drupal:  Crear la base de datos con phpMyAdmin <ul><li>El cotejamiento debe ser utf8_spanish_ci </li></ul>
Instalación de Drupal:  Crear un usuario para la base de datos <ul><li>Página de inicio </li></ul><ul><li>Privilegios </li...
Instalación de Drupal:  Descomprimir y colocar los archivos de Drupal en el servidor <ul><li>Descomprimir el archivo drupa...
Instalación de Drupal:  Iniciar la instalación y traducir Drupal al castellano <ul><li>Acceder a la dirección de nuestro s...
Instalación de Drupal:  Introducir los datos de la base de datos <ul><li>Mediante la sección  Opciones avanzadas  podemos ...
Instalación de Drupal:  Configuración inicial del sitio <ul><li>En el servidor de explotación es conveniente que el email ...
Instalación de Drupal:  Fin de la instalación
Instalación de Drupal:  Resumen <ul><li>Instalar WAMP y configurar el php.ini con 120 segundos en max_execution_time. </li...
Barra de herramientas/Toolbar <ul><li>La barra de herramientas ocupa la zona superior cuando estamos acreditados y sus opc...
Solapa de atajos <ul><li>Es la barra que hay debajo de la de herramientas, y nos ofrece enlaces para acceder rápidamente a...
Panel de control/Dashboard <ul><li>Es una página que podemos configurar a nuestro gusto para obtener de un vistazo la info...
Reasignar una contaseña al administrador I <ul><li>Si, por cualquier motivo no recordamos la contraseña del administrador ...
Reasignar una contaseña al administrador II <ul><li>Crear un duplicado del archivo index.php de Drupal 7 llamado password....
Dirección temporalmente bloqueada tras 5 intentos de acreditación fallidos <ul><li>Si introducimos incorrectamente nuestra...
Activar las URLs limpias <ul><li>El uso de URLs limpias favorece que nuestro sitio sea correctamente indexado por los busc...
Crear un contenido para la página inicial <ul><li>Seleccionar Agregar contenido. </li></ul><ul><li>Elegir el tipo de conte...
Traducir el enlace « Read more » <ul><li>Seleccionar Configuración>Traducir interfaz>Traducir. </li></ul><ul><li>Escribir ...
Configurar un tema <ul><li>Los temas determinan el aspecto de nuestro sitio. </li></ul><ul><li>Podemos tener un tema prede...
Instalar un tema nuevo <ul><li>El mejor sitio para obtener temas con seguridad es drupal.org. </li></ul><ul><li>Descargar ...
Módulos:  Activación/Desactivación <ul><li>Los módulos son fragmentos de código que añaden funcionalidad adicional a Drupa...
Módulos:  Módulos esenciales (obligatorios) del núcleo <ul><li>Block </li></ul><ul><li>Field/Field SQL storage </li></ul><...
Módulos:  Los principales módulos del núcleo <ul><li>Blog : Enviar contenidos fácilmente; un blog para cada usuario </li><...
Módulos:  Algunos módulos contribuidos populares <ul><li>Views : Sirve para configurar los listados de contenidos. </li></...
Usuarios: Roles y Permisos <ul><li>Personas : Inicialmente Drupal tiene un único usuario, el  usuario 1 , o administrador....
Contenidos: Tipos de nodos y nodos <ul><li>Los  tipos de nodos  son los tipos de datos que &quot;comprende&quot; Drupal: A...
Contenidos: Creación de nodos <ul><li>Título </li></ul><ul><li>Opciones de menú </li></ul><ul><li>Cuerpo/Resumen </li></ul...
Contenidos: Entendiendo el resumen <ul><li>Si especificamos un texto para el resumen, ese texto se mostrará sólo en la pre...
Contenidos: Formatos de texto/Filtrado <ul><li>El contenido de los nodos se almacena en lenguaje HTML, pero existen elemen...
Contenidos: Acceso <ul><li>Básicamente, cada página de un sitio Drupal muestra un único nodo o un listado de nodos en su z...
Contenidos: Navegación/menús <ul><li>Para facilitar la navegación por los contenidos podemos utilizar menús. Inicialmente ...
Contenidos: Menús predeterminados
Bloques, regiones y temas <ul><li>Estructura>Bloques:  Cada página de un sitio Drupal, además de un nodo o listado de nodo...
¿Cómo se llaman las regiones en cada tema? <ul><li>Para descubrir el nombre de las regiones en el tema activo seleccionare...
Algunos bloques incluidos en Drupal <ul><li>Comentarios recientes </li></ul><ul><li>Contenido reciente </li></ul><ul><li>Q...
Resumen de nomenclatura <ul><li>Módulos </li></ul><ul><ul><li>Del núcleo </li></ul></ul><ul><ul><ul><li>Esenciales </li></...
Ejercicio:  Crear un nodo y asignarle un acceso mediante menú <ul><li>Crear un nodo de tipo  página básica  con las siguie...
Nodos: Revisiones <ul><li>Drupal incluye un flexible sistema de revisiones que nos permite mantener almacenadas distintas ...
Ejercicio: Revisiones <ul><li>Crear un artículo titulado “Personal de guardia de la semana” cuyo contenido sea una lista d...
Contenidos multi-idioma <ul><li>Drupal 7 incluye dos módulos orientados a crear sitios multi-idioma: </li></ul><ul><ul><li...
Ejercicio: Contenidos multi-idioma <ul><li>Activar los módulos Locale y Content Translation </li></ul><ul><li>Configurar e...
Ejercicio: Posibles mejoras al núcleo para crear contenidos <ul><li>¿Qué sensaciones tiene después de crear su primer nodo...
Ejercicio: Especificar la página inicial del sitio Drupal <ul><li>Por defecto, un sitio Drupal muestra en su página inicia...
Ejercicio: Instalar WYSIWYG + CKeditor <ul><li>Comprobar que existe una carpeta llamada  modules  dentro de sites/all </li...
Ejercicio: Formatos de texto vs Editores <ul><li>Cada formato de texto puede tener asignado un editor, pero esto no signif...
Ejercicio: Instalar SpamSpan <ul><li>Descargar el módulo SpamSpan filtrando las categorías de módulos de drupal.org por co...
Ejercicio: Instalar Administration Menu <ul><li>El acceso a las opciones de configuración mediante la barra de menús ha si...
Resumen: ¿Cómo instalar un módulo? <ul><li>Descargarlo del sitio web de Drupal. </li></ul><ul><li>Descomprimirlo. </li></u...
Módulos:  El modulo SMTP Authentication Support I <ul><li>Algunos hostings no permiten usar la función mail de PHP, o si h...
Módulos:  El modulo SMTP Authentication Support II <ul><li>Imaginemos que queremos utilizar una cuenta de gmail como remit...
Sistema de archivos en Drupal 7: público o privado <ul><li>Gracias a los campos de tipo imagen y archivo podemos incluir d...
Ejercicio:  Sistema de archivos en Drupal 7 <ul><li>Mediante  Configuración>Medios audiovisuales>Sistema de archivos  indi...
Estilos de imagen en Drupal 7 <ul><li>Un estilo de imagen es un conjunto de transformaciones que se puede aplicar automáti...
Ejercicio: Estilos de imagen en Drupal 7 <ul><li>Crear un estilo de imagen que gire las imágenes al azar hasta un máximo d...
Taxonomía: Vocabularios y términos <ul><li>El módulo de Taxonomía nos permite asignar etiquetas a nuestros nodos, de modo ...
Ejercicio: Crear un vocabulario <ul><li>Crear un vocabulario llamado &quot;Jornadas TIC &quot;. </li></ul><ul><li>Agregar ...
Tipos de contenido <ul><li>En Drupal 7 se ha incorporado dentro del núcleo parte del CCK a través del módulo Field (esenci...
Ejercicio: Asignar un vocabulario a un tipo de contenidos <ul><li>Crear un tipo de contenido llamado  Sesiones TIC , con l...
Ejercicio: Asignar términos a nodos <ul><li>Crear 3 nodos de tipo Jornadas TIC llamados &quot;Programa jornada #&quot;, cu...
Ejercicio: Crear un menú para el vocabulario <ul><li>Instalar el módulo  taxonomy_menu  y activarlo. </li></ul><ul><li>Edi...
Ejercicio: Instalar un tema con menús Suckerfish <ul><li>Instalar el tema Danland. </li></ul><ul><li>Asignar el bloque Men...
SuperFish I <ul><li>SuperFish es un módulo con el que podremos incluir menús suckerfish de los siguientes tipos en cualqui...
SuperFish II <ul><li>Una vez instalado el módulo, lo configuraremos mediante Configuración>Interfaz de usuario>Superfish p...
Ejercicio: SuperFish <ul><li>Instalar SuperFish. </li></ul><ul><li>Reestablecer como predeterminado el tema Bartik. </li><...
Registro de usuarios <ul><li>Configuración>Personas>Opciones de la cuenta </li></ul><ul><li>Existen 3 métodos de registro:...
Ejercicio: Registro de usuarios <ul><li>Configurar Drupal para que permita el registro de usuarios pero que deban ser acep...
Ejercicio: Roles y permisos I <ul><li>Crear un rol nuevo llamado  autor  con los siguientes permisos: </li></ul><ul><ul><l...
Ejercicio: Roles y permisos II <ul><li>Cambiar las opciones predeterminadas del tipo de contenido artículo para que no se ...
Perfil de usuario <ul><li>Cada usuario de Drupal adquiere automáticamente una opción en el menú de usuario (desactivable l...
Ejercicio: Perfil de usuario <ul><li>Asignar un avatar a pepe. </li></ul><ul><li>Por ejemplo, pueden encontrarse muchos av...
Masquerade <ul><li>Al configurar los roles y permisos de usuarios es esencial comprobarlos concienzudamente y para hacerlo...
TAC_Lite I: Taxonomy Access Control Lite I <ul><li>TAC_Lite es un módulo derivado de TAC. El apelativo Lite no quiere deci...
TAC_Lite II: Taxonomy Access Control Lite II <ul><li>TAC_Lite funciona mediante esquemas asignados a vocabularios. </li></...
Ejercicio:  Taxonomy Access Control Lite I <ul><li>Crear un vocabulario de taxonomía llamado  Informática  que incluya los...
TAC: Taxonomy Access Control I <ul><li>TAC es un módulo que permite controlar el acceso de los usuarios a los nodos filtrá...
TAC: Taxonomy Access Control II <ul><li>Los permisos que se pueden configurar a través de TAC son: </li></ul><ul><ul><li>V...
Ejercicio: Taxonomy Access Control <ul><li>Crear un tipo de nodo nuevo llamado  Noticia de informática  (noticia_informati...
IMCE <ul><li>IMCE es un gestor de subida de archivos con el que nos resultará muy sencillo incluir imágenes en nuestros no...
Ejercicio: IMCE <ul><li>Insertar una imagen en un artículo. </li></ul><ul><ul><li>Hacer clic sobre el icono  Insertar/Edit...
Perfiles IMCE <ul><li>IMCE usa sus propios perfiles, que se configuran mediante  Configuración>Medios audiovisuales>IMCE ....
Ejercicio: Perfiles IMCE <ul><li>Crear un perfil de IMCE llamado autor que permita acceder a los siguientes directorios: <...
Insertar medios (sonidos y vídeos) en los nodos <ul><li>Instalar el módulo Styles. </li></ul><ul><li>Instalar el módulo Me...
Ejercicio: Insertar medios (sonidos y vídeos) en los nodos <ul><li>Insertar un vídeo en un nodo subido a través del módulo...
Blog <ul><li>El módulo Blog nos permite crear automáticamente un blog para cada usuario (si en su rol tiene permiso para c...
Ejercicio: Blog <ul><li>Activar el módulo de blog. </li></ul><ul><li>Crear un vocabulario de taxonomía para este tipo de c...
Comentarios <ul><li>Los comentarios están controlados por el módulo Comment. </li></ul><ul><li>Cada tipo de contenido pued...
Ejercicio: Comentarios <ul><li>Activar el módulo Comment. </li></ul><ul><li>Configurar el tipo de nodo Blog para que admit...
Trigger: Disparadores y acciones <ul><li>En Drupal podemos configurar que se realicen automáticamente ciertas  acciones  (...
Trigger: Ejercicio <ul><li>Configurar un Disparador/Acción que envíe un mail a cierta dirección cada vez que se cree una c...
Token: Personalización mediante variables <ul><li>El módulo contribuido Token funciona en combinación con otros módulos, c...
Token: Ejercicio <ul><li>Crear una acción que muestre un mensaje con comodines al usuario cada vez que envíe un comentario...
El módulo Path <ul><li>Como ya sabemos, todos los nodos de Drupal son accesibles añadiendo al URL de nuestro sitio /node/x...
Ejercicio: El módulo Path <ul><li>Activar el módulo Path si no lo estuviera ya. </li></ul><ul><li>Crear un nodo con cierto...
El módulo Pathauto I <ul><li>El módulo Path tiene 2 inconvenientes: </li></ul><ul><ul><li>Es tedioso tener que indicar los...
El módulo Pathauto II <ul><li>Tras instalar Pathauto es recomendable retirar a los usuarios que lo tuvieran el permiso de ...
El módulo Pathauto III <ul><li>La actualización de un contenido puede provocar que su patrón de alias varíe, y la opción  ...
Ejercicio: El módulo Pathauto  <ul><li>Instalar y activar los módulos Pathauto y Redirect. </li></ul><ul><li>Comprobar que...
WebForm I <ul><li>El módulo contribuido WebForm nos permite crear nodos que sean, en realidad, formularios. </li></ul><ul>...
WebForm II <ul><li>Los resultados de los formularios pueden descargarse también en formato Excel. </li></ul><ul><li>El pro...
Ejercicio I: WebForm <ul><li>Crear un formulario que: </li></ul><ul><ul><li>Sea accesible a través del menú Navegación med...
WebForm III <ul><li>Con WebForm se pueden crear formularios multipágina (insertando componentes pagebreak). </li></ul><ul>...
Ejercicio II: WebForm <ul><li>Crear un formulario compuesto por dos páginas de modo que: </li></ul><ul><ul><li>En la prime...
Registration code I <ul><li>Este módulo contribuído sólo permitirá registrarse en nuestro sitio Drupal a los usuarios que ...
Registration code II <ul><li>Registration Code crea automáticamente un  vocabulario  de taxonomía llamado Registration cod...
Registration code III <ul><li>Los códigos pueden gestionarse a nivel individual mediante  Lista  (activarlos, desactivarlo...
Ejercicio: Registration code <ul><li>Instalar Views Bulk Operation. </li></ul><ul><li>Instalar Registration code, Code mai...
Contactos <ul><li>El formulario de contacto sirve para que los usuarios puedan contactar con nosotros a través de correo e...
CCK: Content Creation Kit <ul><li>Fields : Tipos de datos </li></ul><ul><ul><li>Integer </li></ul></ul><ul><ul><li>Decimal...
Instalar CCK <ul><li>Descargar el módulo CCK filtrando las categorías de módulos de drupal.org por compatibilidad con la v...
Ejercicio: El tipo de nodo taller <ul><li>Crear un tipo de nodo llamado taller. </li></ul><ul><li>Configurar en él los sig...
Ejercicio: El tipo de nodo inscripción <ul><li>Crear un tipo de nodo llamado inscripción. </li></ul><ul><li>Configurar en ...
Instalar Advanced Help <ul><li>Descargar el módulo Advanced Help filtrando las categorías de módulos de drupal.org por com...
Views I <ul><li>Hasta ahora con Drupal hemos podido mostrar: </li></ul><ul><ul><li>Nodos concretos (/node/#)  </li></ul></...
Views II <ul><li>Una vista es una configuración en la que elegimos mostrar un  tipo de información : </li></ul><ul><ul><li...
Views III <ul><li>Una vez establecida la configuración general de la vista (Master), podemos crear diferentes displays a p...
Instalar Views <ul><li>Antes de instalar el módulo Views, que actualmente es el más instalado en Drupal 7, es necesario in...
Ejercicio: Crear una vista que liste los contenidos de la última semana I <ul><li>Crear la vista : </li></ul><ul><ul><li>E...
Ejercicio: Crear una vista que liste los contenidos de la última semana II <ul><li>Observar que el módulo Views nos permit...
Ejercicio: Crear una página que liste los usuarios agrupándolos por roles I <ul><li>Crear la vista : </li></ul><ul><ul><li...
Ejercicio: Crear una página que liste los usuarios agrupándolos por roles I <ul><li>Crear la vista : </li></ul><ul><ul><li...
Ejercicio: Crear una vista que liste los usuarios agrupándolos por roles II <ul><li>Campos/Fields: </li></ul><ul><ul><li>U...
Ejercicio: Crear una vista que liste los usuarios agrupándolos por roles III <ul><li>Formato : </li></ul><ul><ul><li>Tabla...
Ejercicio: Crear una vista que liste las últimas entradas de blog por usuario I <ul><li>Crear la vista : </li></ul><ul><ul...
Ejercicio: Crear una vista que liste las últimas entradas de blog por usuario II <ul><ul><ul><li>Sort criteria (orden) </l...
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Drupal 7 (2)
Upcoming SlideShare
Loading in...5
×

Drupal 7 (2)

19,096

Published on

Presentacion de drupal 7
Agradecimientos a su autor para los drupaleros, uno de los mejores resumenes

Published in: Technology
5 Comments
16 Likes
Statistics
Notes
No Downloads
Views
Total Views
19,096
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
804
Comments
5
Likes
16
Embeds 0
No embeds

No notes for slide

Drupal 7 (2)

  1. 1. Drupal 7 CRIF &quot;Las Acacias&quot; Abril – 2011 Juan Félix Mateos
  2. 2. ¿Qué es Drupal? <ul><li>Drupal es un gestor web de contenidos (CMS) que se distribuye con licencia GNU-GPL (software libre) y desarrollado con PHP . </li></ul><ul><li>Drupal es la traducción del término neerlandés druppel, que significa gota . </li></ul><ul><li>El fundador de Drupal es el belga de 32 años Dries Buytaert , que lo presentó por primera vez en 2001. </li></ul>
  3. 3. Características principales de Drupal <ul><li>Drupal en sí, lo que conocemos como Drupal Core , ofrece una funcionalidad muy reducida, pero es una base muy bien diseñada para que otros puedan ampliar esa funcionalidad a través de extensiones, que se conocen como Módulos contribuidos . Tanto es así que muchos definen a Drupal más como un Framework que como un CMS. </li></ul><ul><li>Drupal es extraordinariamente flexible . </li></ul><ul><li>El código de Drupal está muy optimizado , por lo que es un sistema relativamente rápido teniendo en cuenta lo amplio de su espectro de aplicación. </li></ul><ul><li>Mediante los temas podemos configurar completamente el aspecto de nuestros sitios. </li></ul>
  4. 4. ¿Quién utiliza Drupal? <ul><li>La casa Blanca: http://www.whitehouse.gov/ </li></ul><ul><li>ING Direct: http://ing.us </li></ul><ul><li>The Economist: http://www.economist.com/ </li></ul><ul><li>El parlamento vasco: http://www.parlamentovasco.euskolegebiltzarra.org/eu/ </li></ul><ul><li>Rafa Nadal: http://www.rafaelnadal.com/ </li></ul><ul><li>Garming, McDonnals, Christina Aguilera, Mensa, Intel, BBC, Linux Journal, Stanford University, </li></ul>
  5. 5. Algunos puntos débiles de Drupal… <ul><li>La interfaz de administración de Drupal resulta compleja y poco manejable . </li></ul><ul><li>Su extraordinaria flexibilidad lo convierten en un producto complicado de configurar cuando se quieren desarrollar sitios avanzados . </li></ul><ul><li>Drupal procura mantenerse siempre en la cresta de la ola de la tecnología, sacrificando para ello la compatibilidad de unas versiones con las anteriores. </li></ul><ul><ul><li>The drop is always moving </li></ul></ul>
  6. 6. … y sus posibles excusas <ul><li>La versión 7 de Drupal ha mejorado notablemente la usabilidad de la interfaz de administración mediante el uso de overlays. </li></ul><ul><li>Aunque Drupal es complejo de configurar, permite crear sitios avanzados que con otros sistemas simplemente serían imposibles o requerirían programación &quot;ad hoc&quot; de extensiones, lo que suele resultar aún más complicado. </li></ul><ul><li>Al renunciar a la compatibilidad con versiones anteriores consigue que el código sea más elegante y eficiente, además de aprovechar los últimos avances tecnológicos. </li></ul>
  7. 7. Las versiones de Drupal <ul><li>En todo momento están disponibles tres versiones de Drupal que son las únicas para las que se ofrecen actualizaciones de seguridad. </li></ul><ul><ul><li>Versión de desarrollo : No se recomienda su uso en sitios en explotación. </li></ul></ul><ul><ul><li>Versión actual estable : Es la versión recomendada para sitios en explotación. </li></ul></ul><ul><ul><li>Versión anterior estable : Se recomienda la actualización de esta versión a la siguiente. </li></ul></ul><ul><li>Drupal incluye un módulo que nos avisa cuando se publican nuevas versiones de Drupal o aparece un parche que resuelve un fallo de seguridad importante. </li></ul><ul><li>A fecha de hoy, la versión actual de Drupal es la 7.0, y la anterior es la 6.20. </li></ul>
  8. 8. ¿Cómo será Drupal 8? <ul><li>Estará pensado para mostrar contenidos en todo tipo de dispositivos (móviles, tabletas, …) apostando por el estándar HTML 5. </li></ul><ul><li>Integración con servicios en la nube. </li></ul><ul><li>Gestión de configuraciones, de modo que resulte más sencillo aplicar cambios en nuestros sitios, duplicarlos, o volver a una configuración anterior. </li></ul><ul><li>Mejor accesibilidad para discapacitados. </li></ul>
  9. 9. Actualización de Drupal <ul><li>Cada vez que se presenta una versión nueva de Drupal sólo incluye la actualización del núcleo y de los módulos del núcleo, pero no de los módulos contribuidos. </li></ul><ul><li>Es responsabilidad de los desarrolladores de los módulos contribuidos adaptarlos a la nueva versión, y esto puede requerirles meses, o incluso renunciar a actualizarlos… por este motivo es aconsejable utilizar sólo módulos contribuidos de prestigio que ofrezcan garantías sobre su continuidad en el futuro. </li></ul>
  10. 10. Sitios estáticos versus dinámicos I
  11. 11. Sitios estáticos versus dinámicos II <html> <head> <title>Página estática</title> </head> <body> <p>Son las 19:30:25</p> </body> </html> <html> <head> <title>Página dinámica</title> </head> <body> <p>Son las <?php echo date(&quot;h:i:s&quot;);?></p> </body> </html>
  12. 12. ¿Cómo funciona Drupal? <ul><li>Drupal es una aplicación que se ejecuta sobre un servidor web y hace uso de PHP para efectuar consultas sobre una base de datos y construir dinámicamente las páginas que sirve al usuario utilizando estándares web como XHTML , CSS y JavaScript . </li></ul><ul><li>En cierta forma Drupal es un intermediario entre los datos y los usuarios, encargado de suministrárselos en un formato atractivo y de ofrecerles opciones de interacción sobre ellos. </li></ul>
  13. 13. La estratificación de Drupal
  14. 14. Instalación de Drupal: Requisitos previos <ul><li>Para instalar Drupal necesitamos: </li></ul><ul><ul><li>Espacio de alojamiento en un servidor web provisto de PHP 5.3 Generalmente se utiliza el servidor Apache (Apache 1.3 o 2.x). </li></ul></ul><ul><ul><li>Acceso a una base de datos web (Drupal puede albergar sus tablas en una base de datos exclusiva o dentro de una base de datos que ya utilicemos para otros sistemas como blogs, comercio electrónico, …). Generalmente se utiliza el servidor de bases de datos MySQL 5.0.15 . </li></ul></ul><ul><ul><ul><li>Extensión PDO de PHP. </li></ul></ul></ul><ul><ul><li>64 MB de memoria para PHP y 120 segundos de ejecución para scripts. </li></ul></ul>
  15. 15. Instalación de Drupal: Convertir nuestro ordenador local en un servidor web <ul><li>XAMPP: Windows y Linux </li></ul><ul><li>WampServer: Windows </li></ul><ul><li>MAMP: Macintosh </li></ul><ul><li>Descargar e instalar WampServer de www.wampserver.com/en/ </li></ul>
  16. 16. Instalación de Drupal: Modificar el archivo php.ini <ul><li>Acceder al archivo php.ini, que controla el funcionamiento de PHP, a través de W>PHP>php.ini, y modificar la siguiente línea: max_execution_time = 120 Que controla cuánto tiempo puede ocupar como máximo la ejecución de un script PHP. </li></ul>
  17. 17. Instalación de Drupal: Crear la base de datos <ul><li>Si tenemos contratado un alojamiento remoto es probable que la base de datos debamos crearla a través del panel de control (cPanel, Plesk). </li></ul><ul><li>Si vamos a instalar Drupal en nuestro ordenador local podemos crear la base de datos directamente con phpMyAdmin . </li></ul>
  18. 18. Instalación de Drupal: Crear la base de datos con phpMyAdmin <ul><li>El cotejamiento debe ser utf8_spanish_ci </li></ul>
  19. 19. Instalación de Drupal: Crear un usuario para la base de datos <ul><li>Página de inicio </li></ul><ul><li>Privilegios </li></ul><ul><li>Agregar un nuevo usuario </li></ul>
  20. 20. Instalación de Drupal: Descomprimir y colocar los archivos de Drupal en el servidor <ul><li>Descomprimir el archivo drupal-7.0.tar.gz utilizando, por ejemplo, 7-zip.org </li></ul><ul><li>Copiar los archivos/carpetas anteriores en el servidor (mediante FTP en remoto, o directamente copiándolos a una subcarpeta dentro de c:/wamp/www). </li></ul><ul><li>Una misma instalación de Drupal puede servirnos para varios sitios, facilitando así mucho las tareas de mantenimiento. </li></ul><ul><li>En la carpeta sites/all colocaremos los módulos y temas que deseemos añadir a nuestra instalación básica de Drupal. </li></ul><ul><li>Crear un duplicado del archivo sites/default/default.settings.php en la misma carpeta pero con el nombre settings.php y con los permisos 666 . </li></ul>
  21. 21. Instalación de Drupal: Iniciar la instalación y traducir Drupal al castellano <ul><li>Acceder a la dirección de nuestro servidor (por ejemplo, http://localhost/drupal ). </li></ul><ul><li>Seleccionar la opción Standard y pulsar el botón Save and continue . </li></ul><ul><li>Hacer clic sobre el enlace Learn how to install Drupal in other languages . </li></ul><ul><li>Hacer clic sobre el enlace translation server . </li></ul><ul><li>Descargar el archivo de la traducción al castellanon (drupal-7.0.es.po), descomprimirlo y copiarlo en la carpeta Drupal (c:/wamp/www/drupal/profiles/standard/translations/). </li></ul><ul><li>Hacer clic sobre el enlace Reload the language selection page after adding translations . </li></ul>
  22. 22. Instalación de Drupal: Introducir los datos de la base de datos <ul><li>Mediante la sección Opciones avanzadas podemos añadir un prefijo a las tablas de Drupal de modo que se acoplen sin problemas en una base de datos que ya estemos usando para otro sistema. </li></ul><ul><li>Es muy aconsejable indicar un prefijo para las tablas (por ejemplo, drupal_), pues así nos resultará más sencillo diferenciar qué tablas pertenecen a Drupal si en nuestra base de datos tenemos además otras tablas (por ejemplo, de Moodle). </li></ul>
  23. 23. Instalación de Drupal: Configuración inicial del sitio <ul><li>En el servidor de explotación es conveniente que el email utilice el mismo dominio que el servidor web. </li></ul><ul><li>Usuario: admin </li></ul><ul><li>Contraseña: drupal </li></ul><ul><li>Verificar actualizaciones automáticamente (privacidad) </li></ul>
  24. 24. Instalación de Drupal: Fin de la instalación
  25. 25. Instalación de Drupal: Resumen <ul><li>Instalar WAMP y configurar el php.ini con 120 segundos en max_execution_time. </li></ul><ul><li>Con phpMyAdmin, crear una base de datos y un usuario con todos los privilegios sobre ella. </li></ul><ul><li>Crear una subcarpeta para Drupal (llamada drupal) dentro de la carpeta /wamp/www y copiar en ella los archivos descomprimidos de Drupal. </li></ul><ul><li>Duplicar el archivo /sites/default/default.settings.php en la misma carpeta pero con el nombre settings.php. </li></ul><ul><li>Iniciar la instalación de Drupal accediendo con el navegador web a la dirección localhost/drupal. </li></ul><ul><li>Descargar el archivo po de la traducción a español y copiarlo en la carpeta profiles/standard/translations. </li></ul><ul><li>Continuar la instalación y recordar el nombre de usuario y la contraseña asignada al usuario administrador. </li></ul>
  26. 26. Barra de herramientas/Toolbar <ul><li>La barra de herramientas ocupa la zona superior cuando estamos acreditados y sus opciones son: </li></ul><ul><ul><li>Home: Página de inicio </li></ul></ul><ul><ul><li>Panel de control: Es una página resumen que podemos configurar a nuestro gusto para que nos muestre, por ejemplo, los últimos contenidos o comentarios, quién está actualmente visitando nuestro sitio, … </li></ul></ul><ul><ul><li>Contenido: Creación de nodos </li></ul></ul><ul><ul><li>Estructura: Bloques, menús, taxonomía y CCK </li></ul></ul><ul><ul><li>Apariencia: Control de temas </li></ul></ul><ul><ul><li>Personas: Gestión de usuarios, roles y permisos </li></ul></ul><ul><ul><li>Módulos: Activación, configuración y actualización de módulos. </li></ul></ul><ul><ul><li>Configuración: Información del sitio, URL limpias, Idiomas, … </li></ul></ul><ul><ul><li>Informes: Estado, actualizaciones, errores, … </li></ul></ul><ul><ul><li>Bienvenido xxx </li></ul></ul><ul><ul><li>Cerrar sesión </li></ul></ul>
  27. 27. Solapa de atajos <ul><li>Es la barra que hay debajo de la de herramientas, y nos ofrece enlaces para acceder rápidamente a las páginas que mas usemos. </li></ul><ul><li>Los enlaces que contiene son modificables e incluso podemos configurar distintos conjuntos de enlaces para mostrarlos en distintas situaciones. </li></ul>
  28. 28. Panel de control/Dashboard <ul><li>Es una página que podemos configurar a nuestro gusto para obtener de un vistazo la información que más nos interese (último contenidos añadidos al sitio, últimos comentarios, qué usuarios están actualmente visitando el sitio, …) </li></ul>
  29. 29. Reasignar una contaseña al administrador I <ul><li>Si, por cualquier motivo no recordamos la contraseña del administrador y no podemos recuperarla mediante la opción Solicitar una nueva contraseña del bloque Inicio de sesión (por ejemplo, hemos utilizado una dirección falsa para el administrador), tendremos que acudir a phpMyAdmin para editar la tabla users e introducir en el campo pass el hash de la nueva contraseña que deseemos asignar al administrador. </li></ul><ul><li>Drupal 7 utiliza un algoritmo de hashing basado en SHA512 , aderezado con técnicas de salting y stretching , y que finalmente se codifica en base64 y se precede con el identificador $S$ . </li></ul>
  30. 30. Reasignar una contaseña al administrador II <ul><li>Crear un duplicado del archivo index.php de Drupal 7 llamado password.php. </li></ul><ul><li>Añadir las líneas que se muestran en negrita a continuación: </li></ul><ul><ul><li>drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); </li></ul></ul><ul><ul><li>require_once 'includes/password.inc'; </li></ul></ul><ul><ul><li>echo user_hash_password('juanfe'); </li></ul></ul><ul><ul><li>die(); </li></ul></ul><ul><ul><li>menu_execute_active_handler(); </li></ul></ul><ul><li>Acceder con el navegador al archivo password.php y copiar el hash del nuevo password. </li></ul><ul><li>Mediante phpMyAdmin, pegar en el campo pass del usuario 1 el password copiado anteriormente. </li></ul><ul><li>Borrar el archivo password.php. </li></ul>
  31. 31. Dirección temporalmente bloqueada tras 5 intentos de acreditación fallidos <ul><li>Si introducimos incorrectamente nuestra acreditación más de 5 veces, Drupal impedirá nuevos intentos durante un periodo de tiempo para evitar ataques por la fuerza. </li></ul><ul><li>Si queremos saltarnos esta demora, tendremos que acceder a la base de datos con phpMyAdmin a la base de datos, y borrar de la tabla flood todas las entradas relacionadas con nuestra direción IP. </li></ul>
  32. 32. Activar las URLs limpias <ul><li>El uso de URLs limpias favorece que nuestro sitio sea correctamente indexado por los buscadores como Google. </li></ul><ul><li>Activar el módulo rewrite_module de Apache mediante W>Apache>Apache modules>rewrite_module para que aparezca una marca de verificación a su izquierda. </li></ul><ul><li>Seleccionar Configuración>URL limpias>Activar URL limpias . </li></ul>
  33. 33. Crear un contenido para la página inicial <ul><li>Seleccionar Agregar contenido. </li></ul><ul><li>Elegir el tipo de contenido Página básica . </li></ul><ul><li>Título: Bienvenido a mi sitio Drupal 7 . </li></ul><ul><li>Editar resumen. </li></ul><ul><li>Resumen: Hoy he aprendido a instalar Drupal 7 . </li></ul><ul><li>Cuerpo: Es más fácil de lo que esperaba . </li></ul><ul><li>Opciones de comentarios: </li></ul><ul><ul><li>Cerrada . </li></ul></ul><ul><li>Opciones de publicación: </li></ul><ul><ul><li>Publicado </li></ul></ul><ul><ul><li>Colocado en la página principal </li></ul></ul>
  34. 34. Traducir el enlace « Read more » <ul><li>Seleccionar Configuración>Traducir interfaz>Traducir. </li></ul><ul><li>Escribir Read more (la R en mayúscula) en El texto contiene y pulsar el boton Filtrar . </li></ul><ul><li>Pulsar editar en la entrada Read more . </li></ul><ul><li>Escribir lo siguiente en Español: </li></ul><ul><ul><li>Leer más<span class=&quot;element-invisible&quot;> sobre @title</span> </li></ul></ul><ul><li>Pulsar Guardar las traducciones . </li></ul>
  35. 35. Configurar un tema <ul><li>Los temas determinan el aspecto de nuestro sitio. </li></ul><ul><li>Podemos tener un tema predeterminado para el sitio, y otro predeterminado para las tareas de administración. </li></ul><ul><li>Pulsar el botón Opciones del tema Bartik para configurarlo. </li></ul>
  36. 36. Instalar un tema nuevo <ul><li>El mejor sitio para obtener temas con seguridad es drupal.org. </li></ul><ul><li>Descargar el tema marinelli comprimido. </li></ul><ul><li>Instalarlo mediante Apariencia. </li></ul><ul><li>Activarlo y convertirlo en predeterminado. </li></ul><ul><li>Pulsar el botón Opciones del nuevo tema. </li></ul><ul><li>Cerrar la sesión para ver el nuevo aspecto de nuestro sitio. </li></ul>
  37. 37. Módulos: Activación/Desactivación <ul><li>Los módulos son fragmentos de código que añaden funcionalidad adicional a Drupal. </li></ul><ul><li>Existen módulos del núcleo , que se distribuyen junto con Drupal, y módulos contribuidos que podemos instalar de forma separada. </li></ul><ul><li>Es frecuente que los módulos de Drupal estén concebidos para permitir que unos puedan interactuar con otros; por ejemplo, un módulo de galería de imágenes y otro de comentarios pueden cooperar para que los visitantes tengan la opción de comentar las fotografías de la galería. </li></ul><ul><li>Barra de herramientas>Módulos </li></ul>
  38. 38. Módulos: Módulos esenciales (obligatorios) del núcleo <ul><li>Block </li></ul><ul><li>Field/Field SQL storage </li></ul><ul><ul><li>File </li></ul></ul><ul><ul><li>Options </li></ul></ul><ul><ul><li>Text </li></ul></ul><ul><li>Filter: Formatos de introducción de texto </li></ul><ul><li>Node </li></ul><ul><li>System </li></ul><ul><li>User </li></ul>
  39. 39. Módulos: Los principales módulos del núcleo <ul><li>Blog : Enviar contenidos fácilmente; un blog para cada usuario </li></ul><ul><li>Comment : Comentar contenidos </li></ul><ul><li>Contact : Formulario de contacto </li></ul><ul><li>Forum : Un foro básico </li></ul><ul><li>Menu : Controla el sistema de navegación por menús </li></ul><ul><li>Path : Permite crear alias más amigables para los URL </li></ul><ul><li>Poll : Encuestas </li></ul><ul><li>Taxonomy : Clasificar los contenidos mediante etiquetas </li></ul><ul><li>Update manager : Saber si existen versiones nuevas </li></ul>
  40. 40. Módulos: Algunos módulos contribuidos populares <ul><li>Views : Sirve para configurar los listados de contenidos. </li></ul><ul><li>Token : Permite personalizar los contenidos con marcadores de posición como %site-name </li></ul><ul><li>CCK : Content Construction Kit </li></ul><ul><li>Pathauto : Crea automáticamente alias amigables para los URL </li></ul><ul><li>Administration Menu </li></ul><ul><li>Date: Añadir campos de tipo fecha a los nodos. </li></ul><ul><li>IMCE : Gestor de descargas </li></ul><ul><li>WYSIWYG: Permite utilizar distintos editores para crear los contenidos. </li></ul><ul><li>Webform: Permite crear nodos de tipo formulario. </li></ul><ul><li>CKeditor: Un editor WYSIWYG muy completo </li></ul><ul><li>Fivestar : Módulo de votaciones </li></ul><ul><li>Panels : Editor visual para crear distribuciones de contenidos adaptadas a cada usuario </li></ul><ul><li>Backup and migrate : Copia de seguridad y migración de sitios Drupal </li></ul><ul><li>Ubercart: Comercio electrónico </li></ul>
  41. 41. Usuarios: Roles y Permisos <ul><li>Personas : Inicialmente Drupal tiene un único usuario, el usuario 1 , o administrador. Este usuario es especial, porque tiene poder absoluto sobre el sitio (lo puede todo, incluso estropear el sitio). </li></ul><ul><li>Personas>Permisos>Roles: Inicialmente Drupal tiene tres roles : </li></ul><ul><ul><li>Usuario anónimo </li></ul></ul><ul><ul><li>Usuario autenticado </li></ul></ul><ul><ul><li>administrador </li></ul></ul><ul><li>Personas>Permisos>Permisos: Drupal nos permite configurar los permisos de cada rol para cada módulo. </li></ul><ul><li>Cada usuario puede tener asignado uno o más roles; cada rol posee una configuración específica de permisos sobre los módulos; consecuentemente, los roles de un usuario determinan qué permisos tiene en el sistema. </li></ul><ul><li>Por defecto, los permisos determinan qué se puede hacer, pero no qué se puede ver. Para controlar qué puede ver cada rol necesitaremos recurrir a un módulo contribuido, como Content Access. </li></ul>
  42. 42. Contenidos: Tipos de nodos y nodos <ul><li>Los tipos de nodos son los tipos de datos que &quot;comprende&quot; Drupal: Artículos, encuestas, temas del foro, … </li></ul><ul><li>Estructura>Tipos de contenido: Inicialmente Drupal incluye sólo 2 tipos de nodos: </li></ul><ul><ul><li>Artículo/ : Optimizado para publicar noticias mostrando los datos del autor, la fecha de creación, admiten comentarios e imágenes, y se muestran en la página principal. </li></ul></ul><ul><ul><li>Página/Page : Ideal para contenidos estáticos. </li></ul></ul><ul><li>Los tipos de nodos se crean mediante Estructura>Tipos de contenido>Añadir tipo de contenido </li></ul><ul><li>Los nodos poseen: </li></ul><ul><ul><li>Campos : Determinan las propiedades del nodo, como título, cuerpo, autor, … </li></ul></ul><ul><ul><li>Opciones de funcionamiento básicas : Determinan cómo son tratados los nodos por Drupal; por ejemplo, si se publican automáticamente, o si se muestran en la página principal </li></ul></ul><ul><ul><li>Opciones de funcionamiento añadidas : Ciertos módulos pueden añadir posibilidades adicionales a los nodos, como la capacidad de recibir comentarios. </li></ul></ul><ul><ul><li>Presentaciones: Un nodo puede mostrarse de distintas formas, como resumido, completo, en formato RSS o en formato de impresión. </li></ul></ul><ul><li>Los nodos se crean mediante Contenido . </li></ul>
  43. 43. Contenidos: Creación de nodos <ul><li>Título </li></ul><ul><li>Opciones de menú </li></ul><ul><li>Cuerpo/Resumen </li></ul><ul><li>Filtrado </li></ul><ul><li>Revisiones </li></ul><ul><li>Comentarios (*) </li></ul><ul><li>Autoría </li></ul><ul><li>Publicación (*) </li></ul><ul><li>(*) Estas opciones pueden configurarse de forma predeterminada en el tipo de nodo, pero siempre prevalecen las establecidas en el propio nodo y, consecuentemente, al cambiar las opciones del tipo de nodo no se alteran automáticamente las de los nodos que ya teníamos previamente. </li></ul>
  44. 44. Contenidos: Entendiendo el resumen <ul><li>Si especificamos un texto para el resumen, ese texto se mostrará sólo en la presentación resumida del nodo, pero no en la completa. </li></ul><ul><li>Si dejamos el resumen vacío y permitimos que sea generado automáticamente por Drupal, el texto escogido para el resumen se mostrará tanto en la presentación resumida como en la completa. Esto suele ser los más aconsejable. </li></ul><ul><ul><li>La longitud del resumen se configura mediante Estructura>Tipos de contenidos>Gestionar presentación>Resumen>Recortar longitud . </li></ul></ul>
  45. 45. Contenidos: Formatos de texto/Filtrado <ul><li>El contenido de los nodos se almacena en lenguaje HTML, pero existen elementos de HTML potencialmente peligrosos que podrían dañar nuestro sitio o hurtar datos de las personas que lo visitan. </li></ul><ul><li>Para evitarlo, Drupal aplica un Formato de texto, que es un conjunto de filtros que básicamente eliminan los elementos HTML potencialmente peligrosos (aunque existen filtros como SpamSpan con otras misiones). </li></ul><ul><li>Se configuran a través de Configuración>Formatos de texto . </li></ul><ul><li>Cada Formato puede configurarse para que esté diponible para ciertos roles. </li></ul><ul><li>Inicialmente Drupal dispone de 3 Formatos: </li></ul><ul><ul><li>Plain Text: Es el más restrictivo, no admite ningún elemento HTML y está a disposición forzosamente de todos los roles. </li></ul></ul><ul><ul><li>Filtered HTML: Sólo admite los elementos HTML <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> </li></ul></ul><ul><ul><li>Full HTML: Admite cualquier elemento HTML pero sólo está a disposición del rol Administrator. </li></ul></ul>
  46. 46. Contenidos: Acceso <ul><li>Básicamente, cada página de un sitio Drupal muestra un único nodo o un listado de nodos en su zona principal </li></ul><ul><li>Cada nodo es accesible a través de un URL del tipo /node/1 </li></ul><ul><li>Por defecto, todos los contenidos son visibles para todos los usuarios; tendremos que recurrir a módulos contribuidos para configurar qué usuarios pueden ver qué contenidos. </li></ul>
  47. 47. Contenidos: Navegación/menús <ul><li>Para facilitar la navegación por los contenidos podemos utilizar menús. Inicialmente Drupal incluye 4 menús: </li></ul><ul><ul><li>Management </li></ul></ul><ul><ul><li>Menú principal </li></ul></ul><ul><ul><li>Navegación </li></ul></ul><ul><ul><li>User menu </li></ul></ul><ul><li>Los menús se gestionan mediante Estructura>Menús . </li></ul><ul><li>Cada menú está asociado a un bloque, que podemos asignar a la región del tema que prefiramos. </li></ul><ul><ul><li>Los temas incluyen dos pseudo-bloques (su visualización se controla a través de la configuración del tema) que podemos vincular a menús, llamados Enlaces principales/Menú principal y Enlaces secundarios/Menú secundario. Estos bloques están inicialmente vinculados al Menú principal y Menú de usuario, respectivamente, pero esta vinculación puede modificarse mediante Estructura>Menús>Opciones. </li></ul></ul>
  48. 48. Contenidos: Menús predeterminados
  49. 49. Bloques, regiones y temas <ul><li>Estructura>Bloques: Cada página de un sitio Drupal, además de un nodo o listado de nodos, puede mostrar fragmentos de información adicional denominados bloques . </li></ul><ul><li>Los bloques pueden mostrarse en diferentes zonas de la página, que se denominan regiones y que tienen &quot;nombres propios&quot;. </li></ul><ul><ul><li>Los bloques pueden mostrarse en sólo algunas páginas, y/o sólo a los usuarios de ciertos roles , y/o sólo en las páginas que muestren contenidos de un tipo concreto (páginas, artículos, …). Importante: por defecto los bloques son lo único cuya visibilidad podemos configurar en función de los roles. </li></ul></ul><ul><ul><li>La visualización de los menús depende de su bloque asociado. Al crear un menú se crea automáticamente un bloque, aunque inicialmente está desactivado. </li></ul></ul><ul><li>Apariencia>Temas: Las regiones posibles, sus posiciones, nombres y demás características están determinadas por el tema asignado al sitio. </li></ul>
  50. 50. ¿Cómo se llaman las regiones en cada tema? <ul><li>Para descubrir el nombre de las regiones en el tema activo seleccionaremos Estructura>Bloques>Demostrar regiones de bloques . </li></ul>
  51. 51. Algunos bloques incluidos en Drupal <ul><li>Comentarios recientes </li></ul><ul><li>Contenido reciente </li></ul><ul><li>Quién está conectado </li></ul><ul><li>Usuarios nuevos </li></ul><ul><li>Sindicar </li></ul>
  52. 52. Resumen de nomenclatura <ul><li>Módulos </li></ul><ul><ul><li>Del núcleo </li></ul></ul><ul><ul><ul><li>Esenciales </li></ul></ul></ul><ul><ul><li>Contribuidos </li></ul></ul><ul><li>Contenidos </li></ul><ul><ul><li>Tipos de nodos </li></ul></ul><ul><ul><ul><li>Campos </li></ul></ul></ul><ul><ul><ul><li>Presentaciones </li></ul></ul></ul><ul><ul><li>Nodos </li></ul></ul><ul><li>Usuarios </li></ul><ul><ul><li>Roles </li></ul></ul><ul><ul><li>Permisos </li></ul></ul><ul><li>Menús </li></ul><ul><li>Temas </li></ul><ul><ul><li>Bloques </li></ul></ul><ul><ul><li>Regiones </li></ul></ul><ul><li>Formatos de texto (Configuración) </li></ul>
  53. 53. Ejercicio: Crear un nodo y asignarle un acceso mediante menú <ul><li>Crear un nodo de tipo página básica con las siguientes características: </li></ul><ul><ul><li>Título : Bienvenido al sitio web de Juanfe </li></ul></ul><ul><ul><li>Cuerpo : Este sitio está aún en <b>construcción</b>. Puedes contactar con el administrador en administrador@juanfe.es </li></ul></ul><ul><ul><li>Formato de entrada : Filtered HTML </li></ul></ul><ul><ul><li>Opciones de menú : </li></ul></ul><ul><ul><ul><li>Proporcionar un enlace de menú </li></ul></ul></ul><ul><ul><ul><li>Título del enlace del menú : Inicio alternativo </li></ul></ul></ul><ul><ul><ul><li>Elemento padre : Menú principal </li></ul></ul></ul><ul><ul><li>Opciones de publicación </li></ul></ul><ul><ul><ul><li>Publicado </li></ul></ul></ul><ul><ul><ul><li>Colocar en la página principal </li></ul></ul></ul><ul><li>Comprobar si este nodo se ha convertido automáticamente en la página inicial de nuestro sitio (la que aparece al hacer clic sobre el logotipo de Drupal o sobre la opción Inicio del menú principal). No, comparte la página con el artículo que habíamos creado anteriormente. </li></ul><ul><li>Comprobar que no aparece en negrita construcción porque el elemento <b> no está permitido en el formato de texto Filtered HTML. </li></ul>
  54. 54. Nodos: Revisiones <ul><li>Drupal incluye un flexible sistema de revisiones que nos permite mantener almacenadas distintas versiones de cada nodo, de modo que podamos volver en cualquier momento a una versión anterior. </li></ul><ul><li>Por ejemplo, imaginemos que tenemos un nodo titulado “Menú de la semana”, y que existen 12 menús semanales que van rotando. Podríamos crear una revisión con cada uno de ellos y luego revertir a la revisión apropiada para que en cada semana el menú que se muestre sea el correcto. </li></ul><ul><ul><li>Otro ejemplo, si en la elaboración de un documento intervienen varias personas podemos indicarles que creen una revisión con cada modificación para que en cualquier momento se puedan consultar los estados anteriores). </li></ul></ul><ul><li>La creación de revisiones se realiza a través de Información de revisión en el formulario de edición de los nodos. </li></ul><ul><ul><li>Una vez creadas revisiones, aparecerá además de la lengüeta Editar, otra llamada Revisiones, que nos permite revertir el contenido actual del nodo a cualquier revisión anterior. </li></ul></ul>
  55. 55. Ejercicio: Revisiones <ul><li>Crear un artículo titulado “Personal de guardia de la semana” cuyo contenido sea una lista de nombres. </li></ul><ul><li>Editar el artículo cambiando los nombres y creando una revisión mediante la activación de la casilla Crear nueva revisión y la asignación de la descripción “Semana 2” antes de guardarlo. Esta casilla indica a Drupal que queríamos mantener el artículo original tal y como estaba, y que queremos guardar su estado actual como una revisión nueva con la descripción que hemos utilizado. </li></ul><ul><li>Utilizar la ficha Revisiones para revertir a la versión original. </li></ul><ul><li>Observar que la revisión vigente utiliza la descripción “Copia de la revisión …” ¿Qué pasaría si borrásemos la revisión original? Nada. </li></ul>
  56. 56. Contenidos multi-idioma <ul><li>Drupal 7 incluye dos módulos orientados a crear sitios multi-idioma: </li></ul><ul><ul><li>Locale: Permite traducir la interfaz de Drupal. </li></ul></ul><ul><ul><li>Content translation: Al crear ó editar un nodo, este módulo nos permitirá crear otros nodos con la traducción de su contenido a cada uno de los demás idiomas activos en el sitio. Además este módulo nos proporciona el bloque Alternador de idioma con el que podemos acceder al contenido que estamos viendo en todos los idiomas para los que se haya creado una traducción. </li></ul></ul><ul><li>El procedimiento general para crear un sitio multi-idioma es: </li></ul><ul><ul><li>Activar lo módulos Loace y Content translation. </li></ul></ul><ul><ul><li>Utilizar Configuración>Regional e idioma>Idiomas para instalar todos los idiomas que deseemos utilizar en nuestro sitio. </li></ul></ul><ul><ul><ul><li>Asegurarse de que todos los idiomas tienen asignado un prefijo (particularmente inglés), pues posteriormente usaremos ese prefijo para saber qué idioma quierel usuario. </li></ul></ul></ul><ul><ul><ul><li>Utilizar Configuración>Regional e idioma>Detección y selección, activar el método de selección URL. </li></ul></ul></ul><ul><ul><li>Utilizar Configuración>Regional e idioma>Traducir interfaz para traducir la interfaz de Drupal. </li></ul></ul><ul><ul><li>Elegir un funcionamiento multi idioma en las opciones de publicación de los tipos de contenido que deseemos publicar en nuestro sitio con versiones en varios idiomas: </li></ul></ul><ul><ul><ul><li>Activado: Simplemente permite asignar un idioma a los nodos. </li></ul></ul></ul><ul><ul><ul><li>Activado con traducción: Permite traducir los nodos, marcarlos automáticamente como que requieren ser revisados, y permitir marcar en los nodos traducidos que requieren revisión. </li></ul></ul></ul><ul><ul><li>Asignar el bloque Alternador de idioma a una región. </li></ul></ul>
  57. 57. Ejercicio: Contenidos multi-idioma <ul><li>Activar los módulos Locale y Content Translation </li></ul><ul><li>Configurar el prefijo en para el prefijo inglés. </li></ul><ul><li>Activar la detección de idioma por URL. </li></ul><ul><li>Crear un tipo de contenido nuevo llamado “Departamento de inglés” y elegir en él el funcionamiento activado de multi-idioma en las opciones de publicación. </li></ul><ul><li>Crear dos nodos nuevos de tipo “Departamento de inglés”, uno asignado al idioma español y otro al idioma inglés, publicados en la página principal. </li></ul><ul><li>Asignar el bloque Alternador de idioma a una región. </li></ul><ul><li>Comprobar que al cambiar de idioma mediante el bloque Alternador de idioma cambia el enlace “Read more” por “Leer más” y el resto de los elementos de la interfaz de Drupal. </li></ul><ul><li>Elegir ahora el modo Activado con traducción para el tipo de contenido “Departamento de inglés”. </li></ul><ul><li>Crear un nuevo nodo de este tipo asignado al idioma español publicado en la página inicial y comprobar que ofrece otra ficha para la traducción al idioma inglés. </li></ul><ul><li>Utilizar esa ficha para crear una traducción al inglés. </li></ul><ul><li>Observar en la página principal que dentro de cada nodo (en la zona donde normalmente aparecen los términos de taxonomía) aparece la opción para acceder a la versión traducida del nodo en cada idioma. </li></ul><ul><li>En la página principal, editar el nodo original y observar que ofrece en Opciones de traducción la posibilidad de marcar las traducciones como caducadas. </li></ul><ul><li>En la página principal, editar el nodo traducido y observar que ofrece en Translation settings la posibilidad de marcar esta traducción como pendiente de revisión. </li></ul>
  58. 58. Ejercicio: Posibles mejoras al núcleo para crear contenidos <ul><li>¿Qué sensaciones tiene después de crear su primer nodo en Drupal? </li></ul><ul><ul><li>Se agradecería un editor más completo para el cuerpo del nodo  Módulo WYSIWYG + CKeditor </li></ul></ul><ul><ul><li>Estaría bien que las direcciones de email se ofuscaran automáticamente para evitar spam  Módulo SpamSpan </li></ul></ul><ul><ul><li>¿Cómo se modifica la página inicial del sitio? </li></ul></ul>
  59. 59. Ejercicio: Especificar la página inicial del sitio Drupal <ul><li>Por defecto, un sitio Drupal muestra en su página inicial todos los nodos en los que hayamos activado la opción de publicación Colocado en la página principal . </li></ul><ul><li>No obstante, podemos elegir cualquier otra ubicación como página inicial a través de Configuración>Sistema>Información del sitio>Página inicial predeterminada . </li></ul><ul><li>Cambiar la página inicial predeterminada del sitio a node/2 . </li></ul>
  60. 60. Ejercicio: Instalar WYSIWYG + CKeditor <ul><li>Comprobar que existe una carpeta llamada modules dentro de sites/all </li></ul><ul><li>Descargar el módulo WYSIWYG filtrando las categorías de módulos de drupal.org por compatibilidad con la versión 7.0 y por proyecto Filters/Editors. La versión disponible actualmente es WYSIWYG 7.x-2.0. </li></ul><ul><li>Descomprimirlo y copiar la carpeta resultante WYSIWYG en la carpeta sites/all/modules. </li></ul><ul><li>Activar el módulo mediante Módulos>Interfaz de usuario . </li></ul><ul><li>Crear una carpeta llamada libraries dentro de sites/all </li></ul><ul><li>Acceder a la página de administración del módulo mediante Configuración>Autoría del contenido>Wysiwyg profiles . </li></ul><ul><li>Pulsar el enlace Download de la sección CKeditor. </li></ul><ul><li>Descargar CKeditor 3.5.3, descomprimirlo y copiar la carpeta CKeditor resultante en la carpeta libraries . </li></ul><ul><li>Lo interesante de WYSIWYG es que nos permite asignar un editor diferente a cada formato de entrada. Acceder a la página de administración del módulo mediante Configuración>Autoría del contenido>Wysiwyg profiles y asignar el editor CKeditor al formato Filtered HTML . </li></ul><ul><li>Configurar el idioma español para CKeditor y activar los botones Bold, Italic y underline. </li></ul><ul><li>Acceder al nodo de sitio en construcción, hacer clic sobre Editar y comprobar que al elegir el formato Filtered HTML aparece efectivamente el editor CKeditor. </li></ul>
  61. 61. Ejercicio: Formatos de texto vs Editores <ul><li>Cada formato de texto puede tener asignado un editor, pero esto no significa que todas las opciones disponibles en el editor vayan a ser permitidas por el formato de texto. Siempre prevalecen los filtros del formato de texto. </li></ul><ul><li>Eliminar los elementos <b> que rodean a la palabra construcción y poner esa palabra en negrita utilizando el botón B de CKEditor. Comprobar que efectivamente aparece en negrita al previsualizar el nodo. </li></ul><ul><li>Intentar poner además la palabra construcción subrayada… en el editor la veremos subrayada, pero al previsualizar el nodo no, pues el elemento HTML <u> no está permitido en el formato de texto Filtered HTML. </li></ul>
  62. 62. Ejercicio: Instalar SpamSpan <ul><li>Descargar el módulo SpamSpan filtrando las categorías de módulos de drupal.org por compatibilidad con la versión 7.0 y por proyecto Filters/Editors. La versión disponible actualmente es spamspan 7.x-1.1-beta1. </li></ul><ul><li>Descomprimirlo y copiar la carpeta resultante spamspan en la carpeta sites/all/modules. </li></ul><ul><li>Activar el módulo mediante Módulos . </li></ul><ul><li>Este módulo realmente es un filtro para los formatos de entrada, por lo que para hacer uso de él tendremos que acceder a Configuración>Autoría del contenido>Formatos de texto>Filtered HTML [Configurar] y activar la casilla SpamSpan email address encode filter . Además, deberemos colocarlo por detrás del filtro Limpiar las etiquetas HTML permitidas , pues de otro modo no funcionaría (pues utiliza etiquetas HTML no permitidas) </li></ul><ul><li>Acceder al nodo de página en construcción, ver el código fuente de la página y comprobar que efectivamente se ha ofuscado. </li></ul><ul><li>Acceder a Configuración>Autoría del contenido>Formatos de texto>Filtered HTML [Configurar] para activar la casilla Use a graphical replacement for &quot;@&quot; . ¿Cómo ha variado la ofuscación? </li></ul>
  63. 63. Ejercicio: Instalar Administration Menu <ul><li>El acceso a las opciones de configuración mediante la barra de menús ha sido un gran avance respecto a la versión 6, pero aún resulta un tanto engorroso por el número de veces que tenemos que hacer clic, especialmente cuando al principio aún no tenemos muy claro dónde está cada opción y tenemos que ir buscándola. </li></ul><ul><li>Para resolverlo podemos instalar el módulo Administration Menu, que insertará un menú desplegable (como el de cualquier aplicación) en la zona superior de nuestro sitio. </li></ul><ul><li>Descargar el módulo Administration Menu filtrando las categorías de módulos de drupal.org por compatibilidad con la versión 7.0 y por proyecto Administration. La versión disponible actualmente es admin_menu 7.x-3.0-rc1. </li></ul><ul><li>Descomprimirlo y copiar la carpeta resultante admin_menu en la carpeta sites/all/modules. </li></ul><ul><li>Activar los módulos Administration Menu y Administration menu toolbar style mediante Módulos , y desactivar el módulo del núcleo Toolbar . </li></ul>
  64. 64. Resumen: ¿Cómo instalar un módulo? <ul><li>Descargarlo del sitio web de Drupal. </li></ul><ul><li>Descomprimirlo. </li></ul><ul><li>Copiar la carpeta resultante dentro de sites/all/modules. </li></ul><ul><li>Módulos para activarlo. </li></ul><ul><li>Módulos[Configuración] o Configuración para ver sus opciones de configuración. </li></ul>
  65. 65. Módulos: El modulo SMTP Authentication Support I <ul><li>Algunos hostings no permiten usar la función mail de PHP, o si hemos instalado nuestro servidor local mediante WampServer no tendremos un servidor de mail, y consecuentemente nuestra instalación de Drupal no podrá enviar correos. </li></ul><ul><li>Para resolverlo podemos instalar el módulo SMTP Authenticacion . </li></ul>
  66. 66. Módulos: El modulo SMTP Authentication Support II <ul><li>Imaginemos que queremos utilizar una cuenta de gmail como remitente genérico de nuestro sitio. Deberemos introducir esta cuenta en Administrar>Configuración del sitio>Información del sitio y configura SMTP Authentication como se muestra en la figura. </li></ul><ul><li>Es necesario que tengamos instalado el módulo php_openSSL </li></ul><ul><li>La mayoría de los servidores (como educa.madrid.org) utilizan el puerto 25, pero gmail utiliza el 465. </li></ul><ul><li>Escribir una dirección válida en SEND TEST E-MAIL para comprobar que realmente funciona. </li></ul>
  67. 67. Sistema de archivos en Drupal 7: público o privado <ul><li>Gracias a los campos de tipo imagen y archivo podemos incluir distintos tipos de archivos en nuestros nodos. Inicialmente, el único tipo de contenido que incluye uno de estos campos es Artículo, que incluye un campo de tipo imagen. </li></ul><ul><li>Por defecto, estos archivos se almacenan en la carpeta pública del sistema sites/default/files , desde la que son directamente accesibles, es decir, cualquiera podría acceder a un archivo si conociera su nombre (nombrearchivo.ext) simplemente escribiendo www.nuestrodominio.com/sites/default/files/nombrearchivo.ext </li></ul><ul><li>Sin embargo, también podemos usar el sistema privado de archivos de Drupal, que no permite acceder directamente a los archivos escribiendo su URL, sino que utiliza un path especial de tipo www.nuestrodominio.com/system/files/nombrearchivo.ext, que recurre a Drupal para descargar el archivo… y desde Drupal con un módulo podría restringirse el acceso al archivo dependiendo del rol del usuario (aunque actualmente no existe ningún módulo que lo haga). </li></ul><ul><li>Para activar el sistema privado de archivos tenemos que especificar su path de almacenamiento mediante Configuración>Medios audiovisuales>Sistema de archivos . Generalmente se elige la subcarpeta de sites/default/files/private. </li></ul><ul><li>Posteriormente, al crear en un tipo de contenido un campo de tipo imagen o archivo, podremos decidir si el almacenamiento que queremos usar es público o privado. </li></ul>
  68. 68. Ejercicio: Sistema de archivos en Drupal 7 <ul><li>Mediante Configuración>Medios audiovisuales>Sistema de archivos indicar la subcarpeta de sites/default/files/private para el alojamiento privado de archivos. </li></ul><ul><li>Comprobar que Drupal crea automáticamente esta carpeta y crea dentro de ella un archivo .htaccess (este archivo es el que indica a Apache que no debe permitir el acceso directo a los archivos). </li></ul><ul><li>Crear un artículo adjuntándole una imagen, y comprobar que podemos acceder a ella directamente escribiendo en el navegador el URL de su ubicación: </li></ul><ul><ul><li>www.midominio.com/sites/default/files/field/image/nombredelaimagen.jpg </li></ul></ul><ul><li>Modificar el campo Imagen del tipo de contenido Artículo para que utilice el sistema de archivos privado (Estructura>Tipos de contenido>Artículo>Configurar campos). </li></ul><ul><li>Crear un segundo artículo adjuntándole la misma imagen, y comprobar que ahora no podemos acceder directamente a ella escribiendo en el navegador su URL: </li></ul><ul><ul><li>www.midominio.com/sites/default/files/private/field/image/nombredelaimagen.jpg </li></ul></ul>
  69. 69. Estilos de imagen en Drupal 7 <ul><li>Un estilo de imagen es un conjunto de transformaciones que se puede aplicar automáticamente a las imágenes de nuestros nodos en presentaciones concretas: </li></ul><ul><ul><li>Recortar </li></ul></ul><ul><ul><li>Desaturar (convertir a escala de grises) </li></ul></ul><ul><ul><li>Redimensionar (cuidado puede deformar) </li></ul></ul><ul><ul><li>Girar </li></ul></ul><ul><ul><li>Escala (no deforma) </li></ul></ul><ul><ul><li>Escalar y recortar </li></ul></ul><ul><li>Los estilos de imagen se configuran mediante Configuración>Medios audiovisuales>Estilos de imagen . </li></ul><ul><li>Una vez creado un estilo, podremos seleccionarlo en la presentación de los campos de tipo imagen en la configuración de los tipos de contenidos ( Estructura>Tipos de contenido>Gestionar presentación ) </li></ul><ul><li>El módulo contribuido Image Cache Actions ofrece más transformaciones (bordes redondeados, overlays, …), pero actualmente aún se encuentra en fase beta para Drupal 7. </li></ul>
  70. 70. Ejercicio: Estilos de imagen en Drupal 7 <ul><li>Crear un estilo de imagen que gire las imágenes al azar hasta un máximo de 25º, que las escale a un máximo de 150 píxeles de ancho y que las desature. </li></ul><ul><li>Configurar el tipo de contenido Artículo para que en la presentación resumida muestre las imágenes utilizando este estilo. </li></ul>
  71. 71. Taxonomía: Vocabularios y términos <ul><li>El módulo de Taxonomía nos permite asignar etiquetas a nuestros nodos, de modo que luego podamos acceder a todos los nodos que comparten una misma etiqueta. Estas etiquetas se denominan términos . </li></ul><ul><li>Los términos deben agruparse en vocabularios, que pueden ser de dos tipos (el tipo está determinado por el tipo de control para el campo elegido en la configuración del tipo de nodo): </li></ul><ul><ul><li>Etiquetas : El propio usuario puede escribir libremente los términos. </li></ul></ul><ul><ul><li>Fijos : Los términos deben elegirse de entre los que contiene el vocabulario, pudiendo forzar a que se elija al menos uno o permitir que se elija incluso más de uno. </li></ul></ul><ul><li>Cada vocabulario puede asignarse a uno o más tipos de nodos . </li></ul><ul><li>Se pueden configurar los términos jerárquicamente, de modo que unos sean hijos de otros. </li></ul><ul><li>Cada término de cada vocabulario tiene aparejado un número, y el listado de los nodos que tienen asignado ese término son accesibles a través del URL taxonomy/term/1. </li></ul><ul><li>Además podemos mostrar nodos de varios términos: </li></ul><ul><ul><li>taxonomy/term/1,2: Muestra el listado de los nodos que tienen asignados los términos 1 Y 2. </li></ul></ul><ul><ul><li>taxonomy/term/1+2: Muestra el listado de los nodos que tienen asignados los términos 1 O 2. </li></ul></ul><ul><ul><li>taxonomy/term/1/2: Muestra el listado de los nodos que tienen asignado el término 1 o cualquiera hijo de él hasta 2 niveles de profundidad. </li></ul></ul><ul><ul><li>taxonomy/term/1/all: Muestra el listado de los nodos que tienen asignado el término 1 o cualquiera hijo de él. </li></ul></ul><ul><li>Para crear un vocabulario recurriremos a Estructura>Taxonomía>Agregar vocabulario . </li></ul><ul><li>Para crear un término recurriremos a Estructura>Taxonomía>Agregar términos . </li></ul><ul><li>Para conocer el número aparejado a un término concreto recurriremos a Estructura>Taxonomía>Lista de términos . </li></ul><ul><li>El módulo de taxonomía es muy versátil, permitiendo por ejemplo que un término posea varios padres, o incluso que tenga sinónimos. </li></ul>
  72. 72. Ejercicio: Crear un vocabulario <ul><li>Crear un vocabulario llamado &quot;Jornadas TIC &quot;. </li></ul><ul><li>Agregar a este vocabulario los términos &quot;General&quot;, &quot;Jornada 1&quot;, &quot;Jornada 2&quot; y &quot;Jornada 3&quot;. </li></ul>
  73. 73. Tipos de contenido <ul><li>En Drupal 7 se ha incorporado dentro del núcleo parte del CCK a través del módulo Field (esencial), de modo que podemos crear directamente nuevos tipos de contenidos con campos de tipo: </li></ul><ul><ul><li>Text </li></ul></ul><ul><ul><li>Number </li></ul></ul><ul><ul><li>Image </li></ul></ul><ul><ul><li>File </li></ul></ul><ul><ul><li>Options </li></ul></ul><ul><ul><li>List </li></ul></ul><ul><ul><li>Taxonomy </li></ul></ul>
  74. 74. Ejercicio: Asignar un vocabulario a un tipo de contenidos <ul><li>Crear un tipo de contenido llamado Sesiones TIC , con la siguiente configuración: </li></ul><ul><ul><li>Etiqueta del campo de título: Título </li></ul></ul><ul><ul><li>Opciones de publicación: Sólo Publicado </li></ul></ul><ul><ul><li>Opciones de comentarios: Abrir </li></ul></ul><ul><li>Añadirle el siguiente campo: </li></ul><ul><ul><li>Etiqueta: Etiquetas </li></ul></ul><ul><ul><li>Nombre: field_etiquetas </li></ul></ul><ul><ul><li>Campo: Referencia de término </li></ul></ul><ul><ul><li>Control: Casillas de selección/Botones de opciones </li></ul></ul><ul><ul><li>Vocabulario: Jornadas TIC </li></ul></ul><ul><ul><ul><li>Campo necesario </li></ul></ul></ul><ul><ul><ul><li>Valor predeterminado: N/D </li></ul></ul></ul><ul><ul><ul><li>Número de valores: 1 </li></ul></ul></ul>
  75. 75. Ejercicio: Asignar términos a nodos <ul><li>Crear 3 nodos de tipo Jornadas TIC llamados &quot;Programa jornada #&quot;, cuyo contenido sea el supuesto programa de actividades de una sesión y asignando a cada uno un término de los creados anteriormente. </li></ul><ul><li>Crear un cuarto nodo de tipo página llamado &quot;Programación de jornadas&quot; que simplemente contenga un enlace a cada uno de los nodos anteriores y que tenga asignado el término General. </li></ul>
  76. 76. Ejercicio: Crear un menú para el vocabulario <ul><li>Instalar el módulo taxonomy_menu y activarlo. </li></ul><ul><li>Editar el vocabularios Jornadas TIC para que se cree automáticamente un menú para sus términos dentro de Menú principal (Estructura>Taxonomía>Editar vocabulario). </li></ul><ul><li>Modificar la jerarquía de los término para que General sea el padre de los demás (Estructura>Taxonomía>Lista de términos). </li></ul><ul><li>Reconstruir el menú a través de Estructura>Taxonomía>Editar vocabulario (Select to rebuild the menu on submit). </li></ul><ul><li>Modificar las opciones de los menús para que la fuente de los enlaces primarios y secundarios sea el Menú principal (Estructura>Menús>Opciones). </li></ul><ul><li>Si no lo estuviera ya, activar el menú secundario en las opciones de visualización del tema activo. </li></ul>
  77. 77. Ejercicio: Instalar un tema con menús Suckerfish <ul><li>Instalar el tema Danland. </li></ul><ul><li>Asignar el bloque Menú principal a la región Superfish menu. </li></ul><ul><li>Desactivar la opción de visualización Menú principal en las opciones del tema Danland. </li></ul>
  78. 78. SuperFish I <ul><li>SuperFish es un módulo con el que podremos incluir menús suckerfish de los siguientes tipos en cualquier tema: </li></ul><ul><ul><li>Horizontal </li></ul></ul><ul><ul><li>Vertical </li></ul></ul><ul><ul><li>Barra de navegación (muy útil) </li></ul></ul><ul><li>Para instalar este módulo previamente debemos: </li></ul><ul><ul><li>Copiar en la carpeta sites/all/libraries la librería Superfish disponible en la propia página del módulo. </li></ul></ul><ul><ul><li>Instalar el módulo Libraries. </li></ul></ul>
  79. 79. SuperFish II <ul><li>Una vez instalado el módulo, lo configuraremos mediante Configuración>Interfaz de usuario>Superfish para indicar cuántos bloques de tipo suckerfish vamos a necesitar. Indicar el número exacto para ahorrar recursos (es un módulo muy exigente). </li></ul><ul><li>Mediante Estructura>Bloques asignaremos a los bloques creados en el paso anterior los menús a los que queramos aplicar el efecto suckerfish… </li></ul><ul><li>… y mediante la opción Configuración del bloque configuraremos todas las opciones de Superfish (tipo de menú, estilo, efectos, …). </li></ul>
  80. 80. Ejercicio: SuperFish <ul><li>Instalar SuperFish. </li></ul><ul><li>Reestablecer como predeterminado el tema Bartik. </li></ul><ul><li>Configurar SuperFish para utilizar un único bloque. </li></ul><ul><li>Asignar a ese bloque el menú principal y colocarlo en la región Featured. </li></ul><ul><li>Configurar el bloque con el estilo menú de navegación. </li></ul><ul><li>Probar a discreción otras opciones de configuración del bloque (sombras, flechas, …). </li></ul>
  81. 81. Registro de usuarios <ul><li>Configuración>Personas>Opciones de la cuenta </li></ul><ul><li>Existen 3 métodos de registro: </li></ul><ul><ul><li>Sólo los administradores pueden crear usuarios. </li></ul></ul><ul><ul><li>Visitantes: Cualquiera puede registrarse sin más. </li></ul></ul><ul><ul><li>Cualquiera puede solicitar registrarse, pero deberá ser aprobado por un administrador. </li></ul></ul><ul><li>Conviene dejar activada la casilla de Pedir una verificación por correo electrónico . </li></ul><ul><li>Podemos configurar el texto de los correos que el sistema envía a los nuevos usuarios. </li></ul><ul><li>Podemos admitir el uso de firmas . </li></ul><ul><li>Podemos admitir el uso de avatares (imágenes de usuario) . </li></ul>
  82. 82. Ejercicio: Registro de usuarios <ul><li>Configurar Drupal para que permita el registro de usuarios pero que deban ser aceptados por el administrador. </li></ul><ul><li>Registrar un usuario nuevo llamado pepe . </li></ul><ul><li>Acreditarse como administrador para poder activar al nuevo usuario. </li></ul><ul><li>¿Qué perfil adquiere por defecto un nuevo usuario si no se requiere confirmación por parte del administrador? </li></ul><ul><ul><li>Ninguno (Usuario registrado de forma implícita) </li></ul></ul>
  83. 83. Ejercicio: Roles y permisos I <ul><li>Crear un rol nuevo llamado autor con los siguientes permisos: </li></ul><ul><ul><li>Ver contenido publicado </li></ul></ul><ul><ul><li>Ver el contenido propio sin publicar </li></ul></ul><ul><ul><li>Crear contenidos de tipo artículo </li></ul></ul><ul><ul><li>Modificar sus propios artículos </li></ul></ul><ul><li>Asignar este rol al usuario pepe creado en el ejercicio anterior. </li></ul><ul><li>Acreditarse como pepe y crear un artículo nuevo. </li></ul><ul><ul><li>¿Puede pepe hacer que sus artículos se publiquen automáticamente o que se muestren en la página inicial? </li></ul></ul><ul><ul><ul><li>No, pero a través de las opciones de publicación predeterminadas del tipo de contenido Artículo podemos hacer que se publiquen automáticamente. </li></ul></ul></ul>
  84. 84. Ejercicio: Roles y permisos II <ul><li>Cambiar las opciones predeterminadas del tipo de contenido artículo para que no se publiquen automáticamente ni se incluyan en la página principal. </li></ul><ul><ul><li>¿Afecta esto al artículo que había creado pepe? </li></ul></ul><ul><ul><ul><li>No, las modificaciones en Drupal no tienen carácter retroactivo. </li></ul></ul></ul><ul><li>Publicar un segundo artículo con pepe. </li></ul><ul><ul><li>¿Cómo puede acceder pepe a su artículo? </li></ul></ul><ul><ul><ul><li>Recordando el número de nodo </li></ul></ul></ul><ul><li>Tras desactivar el Administration menu y regresar al módulo Toolbar, conceder al rol autor los siguientes permisos: </li></ul><ul><ul><li>Usar la barra de herramientas de administración </li></ul></ul><ul><ul><li>Acceder a la página resumen de contenido </li></ul></ul><ul><ul><ul><li>¿Más cómodo así verdad? </li></ul></ul></ul><ul><li>¿Y si prefiriésemos seguir usan Administration menu? </li></ul><ul><ul><li>Crear un enlace a admin/content por ejemplo en el menú User menu. </li></ul></ul>
  85. 85. Perfil de usuario <ul><li>Cada usuario de Drupal adquiere automáticamente una opción en el menú de usuario (desactivable la opción de menú, no el acceso al perfil) para acceder a una página con opciones referentes a su cuenta: </li></ul><ul><ul><li>Puede modificar sus datos (email, contraseña, …) </li></ul></ul><ul><ul><ul><li>Incluso su nombre de usuario si le concedemos este permiso a alguno de sus roles </li></ul></ul></ul><ul><ul><li>Elegir un avatar </li></ul></ul>
  86. 86. Ejercicio: Perfil de usuario <ul><li>Asignar un avatar a pepe. </li></ul><ul><li>Por ejemplo, pueden encontrarse muchos avatares gratuitos en: </li></ul><ul><ul><li>http://www.free-avatars.com </li></ul></ul>
  87. 87. Masquerade <ul><li>Al configurar los roles y permisos de usuarios es esencial comprobarlos concienzudamente y para hacerlo cómodamente disponemos del módulo Masquerade, que nos permite acreditarnos fácilmente en el sistema como cualquier otro usuario y regresar posteriormente a nuestro rol de administrador sin tener que escribir nombres de usuario ni contraseñas. </li></ul><ul><li>Este módulo puede ofrecer las opciones de cambio de usuario a través de un ítem de menú (en el menú Navegación) o de un bloque (que no está inicialmente asignado a ninguna región) </li></ul>
  88. 88. TAC_Lite I: Taxonomy Access Control Lite I <ul><li>TAC_Lite es un módulo derivado de TAC. El apelativo Lite no quiere decir que sea una versión reducida de TAC, sino que provoca muy poco impacto en la base de datos de Drupal. </li></ul><ul><li>Sirve para controlar 3 tipos de permisos: </li></ul><ul><ul><li>View: Ver </li></ul></ul><ul><ul><li>Update: Actualizar </li></ul></ul><ul><ul><li>Delete: Borrar </li></ul></ul><ul><li>Estos permisos pueden controlarse a nivel de rol y a nivel de usuario individual. </li></ul><ul><ul><li>Los permisos concedidos a nivel de usuario se añaden (suman) a los que recibe el usuario a través de sus roles. </li></ul></ul><ul><li>En otras palabras, TAC_Lite controla qué roles pueden ver/actualizar/borrar nodos basándose en los términos de taxonomía que estos últimos tienen asignados. </li></ul><ul><li>TAC_Lite no puede desautorizar los permisos que tengamos asignados a nivel global a un rol. Por ejemplo, si un rol tiene asignado el permiso Editar cualquier contenido, no se verá afectado por la configuración que podamos establecer en TAC_Lite. </li></ul>
  89. 89. TAC_Lite II: Taxonomy Access Control Lite II <ul><li>TAC_Lite funciona mediante esquemas asignados a vocabularios. </li></ul><ul><li>En un esquema podemos definir qué acciones (ver, actualizar y/o borrar) puede realizar cada rol sobre cada término de cada vocabulario. </li></ul><ul><li>Adicionalmente, en cada esquema podemos indicar si los términos del vocabulario se muestran en el propio nodo y/o en su formulario de edición (para esto último debemos tener activado también el módulo Taxonomy Access Control Lite Create). </li></ul><ul><li>La configuración de permisos a nivel de roles se realiza mediante Personas>Access by taxonomy . </li></ul><ul><li>La otorgación de permisos adicionales a nivel de usuario particular se realiza mediante Personas>Lista>Editar>Access by taxonomy </li></ul>
  90. 90. Ejercicio: Taxonomy Access Control Lite I <ul><li>Crear un vocabulario de taxonomía llamado Informática que incluya los términos software y hardware y asignado al menú Navegación . </li></ul><ul><li>Crear un tipo de nodo nuevo llamado Noticia de informática (noticia_informatica). </li></ul><ul><li>Añadir un campo al tipo de nodo Notica de informática que sea de tipo Referencia de término con un widget Lista de selección (hay un bug en TAC_Lite que impide que funcione correctamente con otros widgets), y configurado para seleccionar obligatoriamente uno y sólo uno de los términos del vocabulario Informática. </li></ul><ul><li>Crear dos roles llamados Redacción de software y Redacción de hardware , ambos con permiso de Ver contenido publicado y Creación de noticia_informatica . </li></ul><ul><li>Crear dos usuarios, uno en cada rol, llamados Paco de software y Paco de hardware . </li></ul><ul><li>Configurar Masquerade para que permita alternar entre estos usuarios. </li></ul><ul><li>Configurar TAC_Lite para utilizar dos esquemas asociados al vocabulario Informática. </li></ul><ul><ul><li>Llamar al primer esquema Ver informática y asignar permisos a los roles Redacción de software y de hardware para que puedan ver los términos Software y Hardware. Activar la casilla Visibilidad para que puedan ver el término en el nodo. </li></ul></ul><ul><ul><li>Llamar al segundo esquema Actualizar informática y configurar el permiso Update para que el rol Redacción de software sólo pueda actualizar los nodos con el término Software, y el rol Redacción de hardware sólo pueda actualizar los nodos con el término Hardware. Activar la casilla Visibility on create and edit forms para que puedan seleccionar el término al crear los nodos. </li></ul></ul><ul><li>Crear una noticia de informática con el perfil de Paco de software </li></ul><ul><ul><li>¿Puede verla Paco de hardware? </li></ul></ul><ul><ul><li>¿Puede editarla Paco de hardware? </li></ul></ul><ul><ul><li>¿Puede editarla Paco de software? </li></ul></ul><ul><li>Ampliar los permisos de Paco de hardware a nivel individual (no de rol) para que pueda editar también las noticias con el término Software. </li></ul><ul><ul><li>¿Puede ahora Paco de hardware cambiar el departamento de un nodo? </li></ul></ul>
  91. 91. TAC: Taxonomy Access Control I <ul><li>TAC es un módulo que permite controlar el acceso de los usuarios a los nodos filtrándolos por: </li></ul><ul><ul><li>Roles de usuario </li></ul></ul><ul><ul><li>Términos de vocabulario asignados a los nodos </li></ul></ul><ul><li>En otras palabras, TAC controla qué roles tienen acceso a qué nodos basándose en los términos de taxonomía que estos últimos tienen asignados. </li></ul><ul><li>Para que TAC pueda aplicarse a un rol, ese rol debe tener en la configuración general de permisos de Drupal (Personas>Permisos): </li></ul><ul><ul><li>Activado el permiso de acceso a nodos. </li></ul></ul><ul><ul><li>Desactivado el permiso de administración de nodos. </li></ul></ul><ul><ul><li>Desactivado los permisos de edición y eliminación si queremos controlarlos a través de TAC. </li></ul></ul><ul><li>Todos los roles heredan las propiedades del rol Usuario registrado y, en este sentido, debemos tener en cuenta que un permiso permitido (Allow) en cualquier rol de un usuario prevalecerá sobre la denegación de ese mismo permiso (Deny) en cualquier otro rol de ese mismo usuario (recordemos que un mismo usuario puede tener asignados varios roles). </li></ul><ul><li>A su vez, un nodo podría tener asignados varios términos de taxonomía; en este caso prevalece la denegación (Deny) sobre la permisión (Allow) dentro del mismo rol (recordemos del punto anterior que si intervienen varios roles siempre prevalece la permisión (Allow) sobre la denegación (Deny). </li></ul>
  92. 92. TAC: Taxonomy Access Control II <ul><li>Los permisos que se pueden configurar a través de TAC son: </li></ul><ul><ul><li>Ver : Determina si el rol puede ver los nodos que tienen asignado ese término. </li></ul></ul><ul><ul><li>Actualizar : Para que funcione debemos desactivar el privilegio de actualización en la configuración de permisos de Drupal. </li></ul></ul><ul><ul><li>Eliminar : Para que funcione debemos desactivar el privilegio de eliminación en la configuración de permisos de Drupal. </li></ul></ul><ul><ul><li>Crear : Permite al rol asignar ese término a los nodos que cree. </li></ul></ul><ul><ul><li>Lista : Permite mostrar el nodo a través de la taxonomía (/taxonomy/term/1). Si un rol tiene privilegio de Lista pero no de Ver, no podrá ver los nodos que tengan asignado ese término. Si un rol tiene privilegio de Ver pero no de Lista, podrá ver el nodo a través del acceso habitual a los nodos (node/1), pero en él no se mostrará el término de taxonomía que tiene asignado. </li></ul></ul><ul><li>La configuración de TAC se realiza a través de Taxonomy Access Permissions </li></ul><ul><li>TAC permite asignar permisos a cada término, pero también nos ofrece una opción default (predeterminada) en cada vocabulario, que se utiliza en ausencia de una configuración de permisos más específica. </li></ul>
  93. 93. Ejercicio: Taxonomy Access Control <ul><li>Crear un tipo de nodo nuevo llamado Noticia de informática (noticia_informatica). </li></ul><ul><li>Crear un vocabulario de taxonomía llamado Informática que incluya los términos software y hardware y asignado al menú Navegación . </li></ul><ul><li>Añadir un campo al tipo de nodo Notica de informática que sea de tipo Referencia de término con un widget Casillas de selección, y configurado para seleccionar obligatoriamente uno y sólo uno de los términos del vocabulario Informática. </li></ul><ul><li>Crear dos roles llamados Redacción de software y Redacción de hardware , ambos con permiso de Ver contenido publicado y creación de noticia_informatica . </li></ul><ul><li>Crear dos usuarios, uno en cada rol, llamados Paco de software y Paco de hardware . </li></ul><ul><li>Configurar Masquerade para que permita alternar entre estos usuarios. </li></ul><ul><li>Configurar TAC para que cada Paco sólo pueda ver, editar, eliminar, crear y listar noticias de informática de su redacción (software o hardware). </li></ul><ul><li>Crear una noticia de informática con el perfil de Paco de software ¿puede verla Paco de hardware? </li></ul><ul><li>Configurar TAC para que cada Paco pueda ver todas las noticias de informática pero crear sólo las de su redacción. </li></ul>
  94. 94. IMCE <ul><li>IMCE es un gestor de subida de archivos con el que nos resultará muy sencillo incluir imágenes en nuestros nodos. </li></ul><ul><li>Además permite configurar permisos con tamaños máximo de archivo, extensiones de archivos, y carpetas de destino a través de perfiles. </li></ul><ul><li>Instalar y activar </li></ul><ul><ul><li>IMCE WYSIWYG API Bridge </li></ul></ul><ul><ul><li>IMCE </li></ul></ul><ul><li>Configuración>Autoría del contenido>Wysiwyg profiles>Editar CKeditor>Buttons and Plugins  Activar Imagen, IMCE y todos los demás botones que se deseen. </li></ul><ul><li>Configuración>Medios audiovisuales>IMCE </li></ul><ul><li>IMCE incluye el enlace Explorador de documentos en la página del perfil de cada usuario para que pueda gestionar en un lugar centralizado todas sus imágenes. </li></ul>
  95. 95. Ejercicio: IMCE <ul><li>Insertar una imagen en un artículo. </li></ul><ul><ul><li>Hacer clic sobre el icono Insertar/Editar imagen de CKeditor. </li></ul></ul><ul><ul><li>Pulsar el botón Ver servidor . </li></ul></ul><ul><ul><li>Pulsar el enlace Subir . </li></ul></ul><ul><ul><li>Pulsar el enlace Insert file . </li></ul></ul><ul><ul><li>Pulsar el botón Aceptar . </li></ul></ul><ul><ul><ul><li>¿Qué pasa si no tenemos activado el formato de texto Full HTML? </li></ul></ul></ul><ul><ul><li>Configurar los perfiles de WYSIWYG para que el formato Filtered HTML no use IMCE y el formato Full HTML para que utilice CKEditor con IMCE. </li></ul></ul><ul><ul><ul><li>Obviamente, habrá que autorizar el elemento im en el formato de entrada Filtered HTML (Configuración>Autoría del contenido>Formatos de entrada) </li></ul></ul></ul>
  96. 96. Perfiles IMCE <ul><li>IMCE usa sus propios perfiles, que se configuran mediante Configuración>Medios audiovisuales>IMCE . </li></ul><ul><li>Cada perfil de IMCE puede asociarse a uno o más roles de usuario Drupal, y pueden usarse perfiles distintos para el sistema de archivos público y privado. </li></ul><ul><li>Para cada perfil podemos configurar: </li></ul><ul><ul><li>Tamaño máximo de archivo admitido </li></ul></ul><ul><ul><li>Cuota máxima por directorio </li></ul></ul><ul><ul><li>Cuota máxima por usuario </li></ul></ul><ul><ul><li>Extensiones admitidas </li></ul></ul><ul><ul><li>Tamaño máximo de las imágenes </li></ul></ul><ul><ul><li>Directorios a los que tiene acceso cada usuario (%uid) y con qué permisos (Explorar, Subir, Miniaturas, Eliminar o redimensionar) </li></ul></ul><ul><ul><li>Los tipos de miniatura que puede generar. </li></ul></ul>
  97. 97. Ejercicio: Perfiles IMCE <ul><li>Crear un perfil de IMCE llamado autor que permita acceder a los siguientes directorios: </li></ul><ul><ul><li>Uno con el nombre del usuario ( php: return 'users/'.$user->name; ) en el directorio /sites/default/files (este directorio es el que se denomina raíz en IMCE), con permiso de explorar, subir y miniaturas. </li></ul></ul><ul><ul><li>Otro llamado imágenes generales en el directorio /sites/default/imagenes_generales, sólo con permiso de explorar. </li></ul></ul><ul><li>Permitir que pueda generar dos tipos de miniaturas: pequeñas (45x45) y grandes (90x90). </li></ul><ul><li>Comprobar que la carpeta imagenes_generales se crea automáticamente la primera vez que el usuario intenta insertar una imagen. </li></ul>
  98. 98. Insertar medios (sonidos y vídeos) en los nodos <ul><li>Instalar el módulo Styles. </li></ul><ul><li>Instalar el módulo Media. </li></ul><ul><li>Instalar el módulo Media YouTube y Media Flickr </li></ul><ul><li>Habilitar en el perfil de WYSIWYG el botón Media Browser. </li></ul><ul><li>Habilitar en el formato de texto correspondiente el filtro Convertir Media tags to Markup. </li></ul><ul><li>Los archivos subidos con Media se almacenan en el sistema de archivos de Drupal, sin que puedan configurarse (como en IMCE) carpetas independientes para cada usuario. </li></ul>
  99. 99. Ejercicio: Insertar medios (sonidos y vídeos) en los nodos <ul><li>Insertar un vídeo en un nodo subido a través del módulo Media. </li></ul><ul><li>Insertar un vídeo de YouTube en un nodo. </li></ul>
  100. 100. Blog <ul><li>El módulo Blog nos permite crear automáticamente un blog para cada usuario (si en su rol tiene permiso para crear entradas de blog). </li></ul><ul><li>El blog de cada usuario es accesible a través del url /blog/%uid </li></ul><ul><li>Al activar el módulo Blog se crea automáticamente en el menú Navegación una opción que permite acceder al blog propio, pero como está subordinada a otra opción general (Blogs ) no se muestra automáticamente. Tenemos que acceder a Estructura>Menú>Navegación para activar el enlace general a todos los blogs (Blogs). </li></ul>
  101. 101. Ejercicio: Blog <ul><li>Activar el módulo de blog. </li></ul><ul><li>Crear un vocabulario de taxonomía para este tipo de contenido. </li></ul><ul><li>Crear un campo en el tipo de contenido blog que permita elegir un término del vocabulario anterior. </li></ul><ul><li>Activar las opciones de menú que permiten mostrar los enlaces a los blogs. </li></ul><ul><li>Crear una entrada de blog. </li></ul>
  102. 102. Comentarios <ul><li>Los comentarios están controlados por el módulo Comment. </li></ul><ul><li>Cada tipo de contenido puede configurarse para admitir o no comentarios. </li></ul><ul><li>Los permisos de los comentarios son: </li></ul><ul><ul><li>Administrar </li></ul></ul><ul><ul><li>Ver </li></ul></ul><ul><ul><li>Publicar </li></ul></ul><ul><ul><li>Publicar sin aprobación </li></ul></ul><ul><ul><li>Editar comentarios propios </li></ul></ul><ul><li>Las opciones de comentarios pueden configurarse globalmente para cada tipo de contenido, y localmente para cada nodo (esta configuración particular prevalece sobre la general y sólo está al alcance de los roles con permiso de administrar comentarios). </li></ul><ul><li>Los comentarios se pueden aprobar a través de Contenido>Comentarios . </li></ul><ul><li>La aparición de los avatares en los comentarios está controlada por el tema ( Apariencia>Opciones>Imágenes de los usuarios en los comentarios ). </li></ul>
  103. 103. Ejercicio: Comentarios <ul><li>Activar el módulo Comment. </li></ul><ul><li>Configurar el tipo de nodo Blog para que admita comentarios. </li></ul><ul><li>Crear un comentario con un usuario cuyos comentarios requieran aprobación. </li></ul><ul><ul><li>Vaya, todos los usuarios registrados pueden omitir la aprobación. Esto puede ser peligroso cuando se trabaja con niños. Quitar el privilegio al usuario Registrado. </li></ul></ul><ul><li>Aprobar el comentario. </li></ul>
  104. 104. Trigger: Disparadores y acciones <ul><li>En Drupal podemos configurar que se realicen automáticamente ciertas acciones (como mandar un email) cada vez que se produzca cierto evento o disparador (como que se envíe un nuevo comentario). Esta funcionalidad se consigue a través del módulo Trigger del núcleo. </li></ul><ul><li>Primero se definen las acciones a través de Configuración>Sistema>Acciones . Aunque el módulo Trigger ofrece varias acciones predefinidas, como &quot;Hacer el envío pegajoso“ (colocarlo en primera posición, es decir, fijarlo). </li></ul><ul><li>Y después los disparadores a través de Estructura>Disparadores . </li></ul><ul><li>Los disparadores pueden desencadenarse a raíz de operaciones con: </li></ul><ul><ul><li>Comentarios: Tras enviar un comentario nuevo </li></ul></ul><ul><ul><li>Contenidos: Tras actualizar un nodo </li></ul></ul><ul><ul><li>Taxónomia: Tras crear un término </li></ul></ul><ul><ul><li>Usuarios: Tras crear una cuenta de usuarios </li></ul></ul><ul><li>Existe un módulo contribuido llamado Rules que es aún más potente, pero aún está en fase beta. </li></ul>
  105. 105. Trigger: Ejercicio <ul><li>Configurar un Disparador/Acción que envíe un mail a cierta dirección cada vez que se cree una cuenta de usuario nueva. </li></ul><ul><li>Configurar un Disparador/Acción que despublique los comentarios que contengan como palabras clave ciertos insultos. </li></ul><ul><ul><li>No funciona actualmente en Drupal 7 </li></ul></ul>
  106. 106. Token: Personalización mediante variables <ul><li>El módulo contribuido Token funciona en combinación con otros módulos, como Ubercart o Pathauto, ofreciéndoles variables (como [site-name]) que se sustituyen por cadenas de texto (en este caso, por el nombre del sitio configurado en Configuración del sitio>Información del sitio). </li></ul><ul><li>Estas variables se denominan comodines . </li></ul><ul><li>Los Token también pueden utilizarse en las acciones de Trigger, pero se requiere activar el módulo Token Actions incluido con el propio Token. </li></ul><ul><li>Puede ver un listado de todos los tokens posibles a través de la ayuda del módulo. </li></ul>
  107. 107. Token: Ejercicio <ul><li>Crear una acción que muestre un mensaje con comodines al usuario cada vez que envíe un comentario. El cuerpo del mensaje será el siguiente: </li></ul><ul><li>Hola [current-user:name]: </li></ul><ul><li>Gracias por enviar el comentario siguiente: </li></ul><ul><li>[comment:body] </li></ul><ul><li>para el artículo [comment:node:title] de [comment:node:author] el día: [current-date:long] </li></ul>
  108. 108. El módulo Path <ul><li>Como ya sabemos, todos los nodos de Drupal son accesibles añadiendo al URL de nuestro sitio /node/x (donde x es el número del nodo al que queremos acceder). </li></ul><ul><li>Sin embargo, este método no es muy descriptivo, y tampoco favorece la catalogación de los buscadores como Google. </li></ul><ul><li>El módulo del núcleo Path , nos permite asignar un nombre concreto a cada nodo a través de la opción Opciones de ruta URL que aparece en la página de creación/edición de los nodos al activar este módulo. </li></ul><ul><li>Esta ruta es lo que tendremos que escribir en lugar de node/x para acceder a él (no anula la forma node/x). </li></ul><ul><li>Estas rutas alternativas se denominan alias . </li></ul>
  109. 109. Ejercicio: El módulo Path <ul><li>Activar el módulo Path si no lo estuviera ya. </li></ul><ul><li>Crear un nodo con ciertos datos personales y asignarle la ruta de acceso curriculum . </li></ul><ul><li>Comprobar que este nodo es accesibe a través del URL: www.dirección_de_nuestro_sitio/ curriculum </li></ul>
  110. 110. El módulo Pathauto I <ul><li>El módulo Path tiene 2 inconvenientes: </li></ul><ul><ul><li>Es tedioso tener que indicar los alias manualmente </li></ul></ul><ul><ul><li>Puede producir inconsistencia en los alias. Por ejemplo, un usuario puede utilizar un patrón distintos a las normas generales. </li></ul></ul><ul><li>Afortunadamente podemos evitar esos inconvenientes gracias al módulo contribuido Pathauto . Este módulo crea automáticamente alias para los nodos (node/x), usuarios (user/x), términos de taxonomía (taxonomy/term/x), blogs (blog/x) y es compatible también con módulos que añaden otros tipos de nodos). </li></ul><ul><li>Lo interesante de Pathauto es que puede servirse del módulo Token para introducir en los alias información referente al propio contenido, como el nombre del usuario, o el título del artículo. </li></ul>
  111. 111. El módulo Pathauto II <ul><li>Tras instalar Pathauto es recomendable retirar a los usuarios que lo tuvieran el permiso de crear alias (es mejor que todos sean automáticos para que se ajusten al mismo criterio). </li></ul><ul><li>Las opciones de Pathauto se configuran a través de Configuración>Búsqueda y metadatos>Alias de URL . </li></ul><ul><li>En Opciones de alias de rutas automáticas se configura el aspecto que tendrán los alias que generará Pathauto automáticamente a partir de su activación … y qué hacer con los alias ya existentes (borrarlos, mantenerlos, crear uno alternativo, …) </li></ul><ul><li>Pero si también queremos aplicar este patrón de alias a los contenidos previos a la instalación de Pathauto (¡ojo!, sólo a los que no tuviesen ya un alias creado con Path) tendremos que utilizar Bulk update … </li></ul>
  112. 112. El módulo Pathauto III <ul><li>La actualización de un contenido puede provocar que su patrón de alias varíe, y la opción Opciones generales>Acción al actualizar nos permite elegir entre: </li></ul><ul><ul><li>No hacer nada. Dejar intacto el alias anterior. </li></ul></ul><ul><ul><li>Crear alias nuevo. Dejando el alias anterior operativo. </li></ul></ul><ul><ul><li>Crear alias nuevo. Borrando el alias anterior. </li></ul></ul><ul><ul><li>Instalar el módulo Redirect. Redirigir desde el alias anterior. Ésta es la opción más favorable (para evitar que haya dos URL que conduzcan a la misma página y podamos ser penalizados por la arañas de los buscadores). </li></ul></ul>
  113. 113. Ejercicio: El módulo Pathauto <ul><li>Instalar y activar los módulos Pathauto y Redirect. </li></ul><ul><li>Comprobar que ningún rol tiene permisos para los módulos (de este modo sólo el administrador puede configurar los alias y se asegura la consistencia): </li></ul><ul><ul><li>Path </li></ul></ul><ul><ul><li>Redirect (antiguo Path redirect) </li></ul></ul><ul><ul><li>Pathauto </li></ul></ul><ul><li>Explorar los Patterns (patrón) de alias de rutas automáticos: </li></ul><ul><ul><li>Observar que, en el caso de los nodos, los patrones de reemplazo nos permiten utilizar, por ejemplo, fechas. De modo que podríamos clasificar los nodos por años; por ejemplo: content/[current-date:custom:Y]/[node:title] </li></ul></ul><ul><ul><li>Realizar una generación de alias en masa para actualizar todo el sitio. </li></ul></ul>
  114. 114. WebForm I <ul><li>El módulo contribuido WebForm nos permite crear nodos que sean, en realidad, formularios. </li></ul><ul><li>Los usuarios podrán rellenar estos formularios, y los datos que introduzcan se almacenarán en el sistema y, opcionalmente, se enviarán por correo a la dirección que configuremos. </li></ul><ul><li>El acceso a los formularios puede limitarse: </li></ul><ul><ul><li>Por roles </li></ul></ul><ul><ul><li>Por número de veces </li></ul></ul><ul><li>Los campos de los formularios se denominan componentes y pueden ser de varios tipos: </li></ul><ul><ul><li>archivo </li></ul></ul><ul><ul><li>date </li></ul></ul><ul><ul><li>email </li></ul></ul><ul><ul><li>hidden </li></ul></ul><ul><ul><li>select </li></ul></ul><ul><ul><li>textarea </li></ul></ul><ul><ul><li>… </li></ul></ul>
  115. 115. WebForm II <ul><li>Los resultados de los formularios pueden descargarse también en formato Excel. </li></ul><ul><li>El procedimiento general para crear un formulario es: </li></ul><ul><ul><li>Administración de contenido>Webforms </li></ul></ul><ul><ul><ul><li>Aquí configuramos el título del formulario. </li></ul></ul></ul><ul><ul><li>Añadir los componentes (campos) necesario y configurarlos. </li></ul></ul><ul><ul><ul><li>Podemos indicar qué campos serán obligatorios. </li></ul></ul></ul><ul><ul><li>Configurar los correos electrónicos. Se puede utilizar el contenido de algún campo como detalle del email (remitente o asunto). </li></ul></ul><ul><ul><li>En Form Settings se puede configurar qué roles tienen acceso al formulario y cuántas veces lo pueden enviar. </li></ul></ul><ul><ul><ul><li>En Opciones avanzadas podemos configurar que el formulario esté disponible como un bloque y que permita guardarlo para completarlo más tarde (draft). </li></ul></ul></ul><ul><ul><li>Analizar los resultados. </li></ul></ul>
  116. 116. Ejercicio I: WebForm <ul><li>Crear un formulario que: </li></ul><ul><ul><li>Sea accesible a través del menú Navegación mediante un item llamado Examen. </li></ul></ul><ul><ul><li>Sea accesible para los usuarios de un rol determinado (por ejemplo alumnos). </li></ul></ul><ul><ul><li>Contenga un campo oculto en el que se almacene el nombre del usuario (%username). </li></ul></ul><ul><ul><li>Contenga varios campos de selección, de modo que en cada uno de ellos se ponga un término en español y se pregunte su traducción al inglés. </li></ul></ul><ul><ul><li>Configurar todos los campos para que se envíen por email, y el formulario para que sólo se pueda enviar una vez. </li></ul></ul><ul><ul><li>Permitir la opción de guardar el borrador del formulario (draft). </li></ul></ul><ul><ul><li>Descargar los resultados con formato Excel. </li></ul></ul>
  117. 117. WebForm III <ul><li>Con WebForm se pueden crear formularios multipágina (insertando componentes pagebreak). </li></ul><ul><li>Además, mediante Conditional rules, podemos hacer que los controles de unas páginas se muestren o no en función de los valores elegidos en las páginas anteriores. </li></ul>
  118. 118. Ejercicio II: WebForm <ul><li>Crear un formulario compuesto por dos páginas de modo que: </li></ul><ul><ul><li>En la primera haya que elegir entre ciencias o letras. </li></ul></ul><ul><ul><li>En la segunda haya que elegir entre asignaturas de ciencias o letras dependiendo de la opción elegida en la página anterior. </li></ul></ul>
  119. 119. Registration code I <ul><li>Este módulo contribuído sólo permitirá registrarse en nuestro sitio Drupal a los usuarios que dispongan de un código de registro . </li></ul><ul><li>Estos códigos de registro pueden generarse con el propio módulo, que permite limitar cuántas veces es válido cada código de registro, es decir, cuántos registros de usuario pueden realizarse con cada código. </li></ul><ul><li>Registration code permite generar fácilmente códigos a granel y gestionarlos, pues se apoya en el módulo taxonomía para asignar términos a los códigos, y en el módulo Views Bulk Operations para realizar operaciones en conjunto sobre ellos. La versión de Views Bulk Operations (VBO) dependerá de la versión de Views: </li></ul><ul><ul><li>Views 6.x-2.x utiliza VBO 6.x-1.x </li></ul></ul><ul><ul><li>Views 6.3-3.x utiliza VBO 6.x-3.x </li></ul></ul>
  120. 120. Registration code II <ul><li>Registration Code crea automáticamente un vocabulario de taxonomía llamado Registration codes, pero sin términos. Es aconsejable crear los términos antes de empezar a generar códigos de registro (por ejemplo, podríamos crear términos como ESO, Bachillerato, Primero, Segundo, …). Si lo deseásemos, también podríamos elegir cualquiera de los vocabularios ya existentes mediante Opciones de Registration code. </li></ul><ul><li>Para crear los códigos acudiremos a Administración de usuario>Registration code>Crear. Este formulario nos permite crear códigos en masa sin más que indicar un prefijo en Registration code e indicar cuántos códigos necesitamos en Number of codes to generate . </li></ul><ul><li>El formato de las fechas Active from y Expires on puede ser, entre otros, AAAA/MM/DD. </li></ul><ul><li>Los códigos pueden estar compuestos sólo por letras, sólo por números, por letras y números, o ser números hexadecimales. </li></ul>
  121. 121. Registration code III <ul><li>Los códigos pueden gestionarse a nivel individual mediante Lista (activarlos, desactivarlos, borrarlos, …). </li></ul><ul><li>Los códigos se gestionan a nivel global mediante Manage . </li></ul><ul><li>El módulo Registration code viene acompañado de otros de interés: </li></ul><ul><ul><li>Code mailer : Permite enviar lotes de códigos a direcciones de email utilizando el comodín [regcode]. </li></ul></ul><ul><ul><li>Dynamic code support : Cuidado con este módulo porque permite al usuario crear códigos que cumplan un cierto patrón (por defecto, cualquier número mayor que 1000000000 a incrementos de 7). Mejor desactivarlo . </li></ul></ul><ul><ul><li>Role assigment : Permite asignar un rol concreto en función del término de taxonomía que tenga asignado cada código de registro. </li></ul></ul>
  122. 122. Ejercicio: Registration code <ul><li>Instalar Views Bulk Operation. </li></ul><ul><li>Instalar Registration code, Code mailer y Role assigment. </li></ul><ul><li>Añadir los términos ESO y Bachillerato al vocabulario Registration code. </li></ul><ul><li>Generar un lote de 10 códigos de registro con cada uno de los términos anteriores. </li></ul><ul><li>Configurar los códigos de uno y otro término para que adquieran roles diferentes en Drupal. </li></ul><ul><li>Enviar varios de estos códigos por email (utilizando [regcode]). </li></ul><ul><li>Comprobar que efectivamente los códigos permiten registrarse. </li></ul>
  123. 123. Contactos <ul><li>El formulario de contacto sirve para que los usuarios puedan contactar con nosotros a través de correo electrónico pero sin desvelar nuestras direcciones. </li></ul><ul><li>Los formularios de contacto están controlados por el módulo Contact. </li></ul><ul><li>Drupal nos permite crear distintas categorías (información del producto, información general, …) de formularios de contacto. Estructura>Formulario de contacto </li></ul><ul><li>En las opciones podemos configurar: </li></ul><ul><ul><li>El número máximo de mensajes que puede enviar un usuario por hora (sólo Drupal 6). </li></ul></ul><ul><ul><li>Si queremos que se muestre un formulario de contacto para cada usuario en su perfil. Configuración>Personas>Opciones de la cuenta </li></ul></ul><ul><li>Al activar este módulo se crea automáticamente el ítem de menú correspondiente en el menú Navegación, pero está inicialmente desactivado. </li></ul><ul><li>También tenemos que configurar los permisos del módulo Contact para definir quién (qué roles) puede acceder a estos formularios. </li></ul><ul><li>Adicionalmente, cada usuario puede configurar en su página de perfil si quiere o no mostrar su formulario de contacto. </li></ul>
  124. 124. CCK: Content Creation Kit <ul><li>Fields : Tipos de datos </li></ul><ul><ul><li>Integer </li></ul></ul><ul><ul><li>Decimal </li></ul></ul><ul><ul><li>Float </li></ul></ul><ul><ul><li>Text </li></ul></ul><ul><ul><li>Node reference: Referencia a un nodo </li></ul></ul><ul><ul><li>User reference: Referencia a un usuario </li></ul></ul><ul><li>Widgets : Presentación para introducir el tipo de dato </li></ul><ul><ul><li>Text field </li></ul></ul><ul><ul><li>Text area </li></ul></ul><ul><ul><li>Check box </li></ul></ul><ul><ul><li>Radio buttons </li></ul></ul><ul><ul><li>Select list </li></ul></ul><ul><ul><li>Autocomplete text field </li></ul></ul><ul><li>Formatters : Presentación de los datos. Permite definir qué campos se mostrarán en el modo resumido y en el modo extendido del nodo. </li></ul>
  125. 125. Instalar CCK <ul><li>Descargar el módulo CCK filtrando las categorías de módulos de drupal.org por compatibilidad con la versión 6.0 y por proyecto Content. La versión disponible actualmente es CCK 6.x-2.6. </li></ul><ul><li>Aprovechar también para descargar el módulo FileFiled , que se encuentra en la versión 6.x-3.2. </li></ul><ul><li>Descomprimirlos y copiar las carpetas resultante cck y filefield en la carpeta sites/all/modules. </li></ul><ul><li>Acceder a Administrar>Construcción del sitio>Módulos y activar los siguientes módulos: </li></ul><ul><ul><li>Content </li></ul></ul><ul><ul><li>FileField </li></ul></ul><ul><ul><li>Node Reference </li></ul></ul><ul><ul><li>Number </li></ul></ul><ul><ul><li>Option widget </li></ul></ul><ul><ul><li>Text </li></ul></ul><ul><ul><li>User reference </li></ul></ul>
  126. 126. Ejercicio: El tipo de nodo taller <ul><li>Crear un tipo de nodo llamado taller. </li></ul><ul><li>Configurar en él los siguientes campos: </li></ul><ul><ul><li>Taller (*Título) </li></ul></ul><ul><ul><li>Descripción (*Cuerpo) </li></ul></ul><ul><ul><li>Departamento: Text – Select list </li></ul></ul><ul><ul><li>Responsable: User reference – Select list </li></ul></ul><ul><ul><li>Precio: Decimal – Text field </li></ul></ul><ul><li>Usar la opción Display fields para que las etiquetas aparezcan junto a los datos en lugar de sobre ellos. </li></ul>
  127. 127. Ejercicio: El tipo de nodo inscripción <ul><li>Crear un tipo de nodo llamado inscripción. </li></ul><ul><li>Configurar en él los siguientes campos: </li></ul><ul><ul><li>Nombre (*Título) </li></ul></ul><ul><ul><li>Observaciones (*Cuerpo) </li></ul></ul><ul><ul><li>Taller: Node reference – Select list </li></ul></ul><ul><ul><li>Copia DNI: archivo – File upload (que se guarden en files/dni) </li></ul></ul><ul><li>Usar la opción Display fields para que las etiquetas aparezcan junto a los datos en lugar de sobre ellos. </li></ul>
  128. 128. Instalar Advanced Help <ul><li>Descargar el módulo Advanced Help filtrando las categorías de módulos de drupal.org por compatibilidad con la versión 6.0 y por proyecto Utility. La versión disponible actualmente es CCK 6.x-1.2. </li></ul><ul><li>Descomprimirlos y copiar la carpeta resultante advanced_help en la carpeta sites/all/modules. </li></ul><ul><li>Acceder a Administrar>Construcción del sitio>Módulos y activar el módulo Advanced Help . </li></ul><ul><li>Comprobar cómo aparecen nuevas opciones de ayuda en las páginas relacionadas con CCK. </li></ul>
  129. 129. Views I <ul><li>Hasta ahora con Drupal hemos podido mostrar: </li></ul><ul><ul><li>Nodos concretos (/node/#) </li></ul></ul><ul><ul><li>Listados de nodos que comparten un término de taxonomía (/taxonomy/term/#) </li></ul></ul><ul><ul><li>El perfil de un usuario (/user/#) </li></ul></ul><ul><ul><li>Las entradas del blog de un usuario (/blog/#) </li></ul></ul><ul><li>Pero ¿y si quisiéramos mostrar algo diferente? Por ejemplo, un bloque en el que apareciesen los últimos contenidos enviados por el usuario que actualmente está viendo nuestro sitio. </li></ul><ul><ul><li>En este caso tendríamos que recurrir al módulo Views, que sin lugar a dudas, es el mayor responsable de que Drupal sea considerado uno de los CMS más flexibles. </li></ul></ul>
  130. 130. Views II <ul><li>Una vista es una configuración en la que elegimos mostrar un tipo de información : </li></ul><ul><ul><li>Nodos </li></ul></ul><ul><ul><li>Comentarios </li></ul></ul><ul><ul><li>Usuarios </li></ul></ul><ul><ul><li>Archivos </li></ul></ul><ul><ul><li>Términos de taxonomía </li></ul></ul><ul><li>Con un Formato determinado </li></ul><ul><ul><li>Grid (cuadrícula) </li></ul></ul><ul><ul><li>HTML list </li></ul></ul><ul><ul><li>Jump Menu (cuadro de lista desplegable) </li></ul></ul><ul><ul><li>Tabla </li></ul></ul><ul><ul><li>Unformated list </li></ul></ul><ul><li>Eligiendo qué campos queremos mostrar de cada elementos </li></ul><ul><li>Filtrándolos por distintos criterios </li></ul><ul><li>Y ordenándolos con los criterios que queramos. </li></ul>
  131. 131. Views III <ul><li>Una vez establecida la configuración general de la vista (Master), podemos crear diferentes displays a partir de ella, que son los que realmente podremos mostrar en nuestro sitio, y que pueden ser de los siguientes tipos: </li></ul><ul><ul><li>Página </li></ul></ul><ul><ul><li>Bloque </li></ul></ul><ul><ul><li>Adjunto </li></ul></ul><ul><ul><li>Feed </li></ul></ul><ul><ul><li>Contexto </li></ul></ul><ul><ul><li>Panel </li></ul></ul>
  132. 132. Instalar Views <ul><li>Antes de instalar el módulo Views, que actualmente es el más instalado en Drupal 7, es necesario instalar el módulo Chaos Toolsuite , y muy recomendable instalar el módulo Advanced Help . </li></ul>
  133. 133. Ejercicio: Crear una vista que liste los contenidos de la última semana I <ul><li>Crear la vista : </li></ul><ul><ul><li>Estructura>Views>Add new view </li></ul></ul><ul><ul><ul><li>View name: articulos_recientes </li></ul></ul></ul><ul><ul><ul><li>Mostrar: Contenido </li></ul></ul></ul><ul><li>Desactivar Create a page y Create a block (inicialmente configuramos la vista y luego ya decidiremos qué displays queremos) </li></ul><ul><li>Formato: </li></ul><ul><ul><li>Formato: HTML list </li></ul></ul><ul><ul><li>Mostrar: Campos </li></ul></ul><ul><li>Campos </li></ul><ul><ul><li>Título </li></ul></ul><ul><ul><li>Agregar </li></ul></ul><ul><ul><ul><li>Contenido: Post date </li></ul></ul></ul><ul><ul><ul><ul><li>Sin etiqueta </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Excluido de la visualización </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Formato personalizado: j de F de Y </li></ul></ul></ul></ul><ul><ul><li>Comprobar que se puede cambiar el orden de presentación de los campos </li></ul></ul><ul><li>Formato: Modificar las opciones de HTML list para agrupar el listado por Contenido: Post date </li></ul><ul><li>Filtros </li></ul><ul><ul><li>Añadir un filtro sobre Post date para que sólo se muestren los nodos de la última semana (is greater than -7 day) </li></ul></ul><ul><li>Ordenación </li></ul><ul><ul><li>Mantener el criterio descendente sobre Contenido: Post date, pero configurándolo con una granularidad diaria y luego con una granularidad horaria y explicar las diferencias. </li></ul></ul>
  134. 134. Ejercicio: Crear una vista que liste los contenidos de la última semana II <ul><li>Observar que el módulo Views nos permite controlar el acceso por permiso, además de por rol (que es lo único que permiten los bloques por defecto) </li></ul><ul><li>Modificar el Pager para que sólo muestre 4 elementos por página. </li></ul><ul><li>Guardar la vista </li></ul><ul><li>Añadir un display de tipo Bloque y asignarle el nombre “Contenidos de la semana” </li></ul><ul><li>Asignar el bloque a una región de la plantilla y configurar su título como “Contenido de la semana”. Obsérvese la diferencia entre nombre (paso anterior) y título del bloque. </li></ul>
  135. 135. Ejercicio: Crear una página que liste los usuarios agrupándolos por roles I <ul><li>Crear la vista : </li></ul><ul><ul><li>Construcción del sitio>Views>Add </li></ul></ul><ul><ul><ul><li>View name: lista_de_usuarios </li></ul></ul></ul><ul><ul><ul><li>View tag: usuarios </li></ul></ul></ul><ul><ul><ul><li>View type: Usuario </li></ul></ul></ul><ul><li>Elegir el tipo de display : </li></ul><ul><ul><li>Seleccionar la opción Página y pulsar Add display. </li></ul></ul><ul><ul><ul><li>Ruta: lista_de_usuarios </li></ul></ul></ul><ul><ul><ul><li>Menu: Normal menu entry </li></ul></ul></ul><ul><ul><ul><ul><li>Título: Lista de usuarios </li></ul></ul></ul></ul>
  136. 136. Ejercicio: Crear una página que liste los usuarios agrupándolos por roles I <ul><li>Crear la vista : </li></ul><ul><ul><li>Estructura>Views>Add new view </li></ul></ul><ul><ul><ul><li>View name: lista_de_usuarios </li></ul></ul></ul><ul><ul><ul><li>Mostrar: usuarios </li></ul></ul></ul><ul><li>Activar Create a page : </li></ul><ul><ul><li>Ruta: lista-de-usuarios </li></ul></ul><ul><ul><ul><li>Menu: Normal menu entry </li></ul></ul></ul><ul><ul><ul><li>Create a menu link </li></ul></ul></ul><ul><ul><ul><ul><li>Menu: Menú principal </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Link text: Lista de usuarios </li></ul></ul></ul></ul>
  137. 137. Ejercicio: Crear una vista que liste los usuarios agrupándolos por roles II <ul><li>Campos/Fields: </li></ul><ul><ul><li>Usuario: Created date </li></ul></ul><ul><ul><li>Usuario: Candel link </li></ul></ul><ul><ul><li>Usuario: Edit link </li></ul></ul><ul><ul><li>Usuario: Imagen </li></ul></ul><ul><ul><li>Usuario: Nombre </li></ul></ul><ul><ul><li>Usuario: Último acceso </li></ul></ul><ul><li>Configurar la etiqueta de los campos, respectivamente, del siguiente modo: </li></ul><ul><ul><li>Fecha de registro </li></ul></ul><ul><ul><li>Operaciones </li></ul></ul><ul><ul><li>Editar perfil </li></ul></ul><ul><ul><li>Imagen </li></ul></ul><ul><ul><li>Nombre </li></ul></ul><ul><ul><li>Último acceso </li></ul></ul><ul><li>Establecer el siguiente orden para los campos: </li></ul><ul><ul><li>Nombre </li></ul></ul><ul><ul><li>Fecha de creación </li></ul></ul><ul><ul><li>Imagen </li></ul></ul><ul><ul><li>Último acceso </li></ul></ul><ul><ul><li>Editar </li></ul></ul><ul><ul><li>Operaciones </li></ul></ul><ul><li>Asignar al campo Nombre la etiqueta Nombre </li></ul>
  138. 138. Ejercicio: Crear una vista que liste los usuarios agrupándolos por roles III <ul><li>Formato : </li></ul><ul><ul><li>Tabla. </li></ul></ul><ul><ul><li>Configurar la tabla del siguiente modo: </li></ul></ul><ul><ul><ul><li>En la columna Column del field (campo) Editar seleccionar Operaciones </li></ul></ul></ul><ul><ul><ul><li>En la columna Separator del field Operaciones escribir espacio|espacio </li></ul></ul></ul><ul><ul><ul><li>Activar todas las casillas Sortable </li></ul></ul></ul><ul><ul><ul><li>Elegir Nombre como Default sort </li></ul></ul></ul><ul><ul><ul><li>Update default settings </li></ul></ul></ul><ul><li>Filtros : </li></ul><ul><ul><li>Mantener el filtro que usa como criterio que el usuario esté activo. </li></ul></ul><ul><li>Contextual filters/Argumentos : </li></ul><ul><ul><li>Agregar un filtro contextual que use como criterio Usuario: Roles </li></ul></ul><ul><ul><li>When the filter value is not in the URL: </li></ul></ul><ul><ul><ul><li>Display a summary </li></ul></ul></ul><ul><ul><ul><li>En el resto de la configuración mantener las opciones predeterminadas </li></ul></ul></ul><ul><ul><li>When the filter value is in the URL: </li></ul></ul><ul><ul><ul><li>Override title: Usuarios con el rol %1 </li></ul></ul></ul><ul><li>Guardar la vista </li></ul>
  139. 139. Ejercicio: Crear una vista que liste las últimas entradas de blog por usuario I <ul><li>Crear la vista : </li></ul><ul><ul><li>Construcción del sitio>Views>Add </li></ul></ul><ul><ul><ul><li>View name: entradas_blog_recientes </li></ul></ul></ul><ul><ul><ul><li>View tag: blog </li></ul></ul></ul><ul><ul><ul><li>View type: Nodo </li></ul></ul></ul><ul><li>Configuración default </li></ul><ul><ul><li>Campos </li></ul></ul><ul><ul><ul><li>Añadir los campos </li></ul></ul></ul><ul><ul><ul><ul><li>Nodo: Título </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Borrar la etiqueta </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Link this field to its node </li></ul></ul></ul></ul></ul><ul><ul><ul><li>Colocar el campo Título delante de Post date </li></ul></ul></ul><ul><ul><li>Filtros </li></ul></ul><ul><ul><ul><li>Añadir los filtros </li></ul></ul></ul><ul><ul><ul><ul><li>Nodo: Type </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Is one of Entrada de bitácora </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Nodo: Published </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Sí </li></ul></ul></ul></ul></ul>
  140. 140. Ejercicio: Crear una vista que liste las últimas entradas de blog por usuario II <ul><ul><ul><li>Sort criteria (orden) </li></ul></ul></ul><ul><ul><ul><ul><li>Añadir el criterio Node: Post date y configurarlo en orden Descending </li></ul></ul></ul></ul><ul><ul><ul><li>Basic settings (primera columna) </li></ul></ul></ul><ul><ul><ul><ul><li>Items to display: 4 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Style: HTML list </li></ul></ul></ul></ul><ul><ul><ul><li>Arguments </li></ul></ul></ul><ul><ul><ul><ul><li>Añadir el argumento Usuario: uid </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Título: Entradas recientes de %1 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Action to take if argument is not present: Provide default argument </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>User ID from URL </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Also look for a node and u
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×