introduccion_a_drupal

Download Report

Transcript introduccion_a_drupal

Drupal 7
CRIF "Las Acacias"
Abril – 2011
Juan Félix Mateos
¿Qué es Drupal?
• Drupal es un gestor web de
contenidos (CMS) que se distribuye
con licencia GNU-GPL (software libre) y
desarrollado con PHP.
• Drupal es la traducción del término
neerlandés druppel, que significa gota.
• El fundador de Drupal es el belga de 32
años Dries Buytaert, que lo presentó
por primera vez en 2001.
Características principales de Drupal
• 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.
• Drupal es extraordinariamente flexible.
• 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.
• Mediante los temas podemos configurar completamente el
aspecto de nuestros sitios.
¿Quién utiliza Drupal?
•
•
•
•
La casa Blanca: http://www.whitehouse.gov/
ING Direct: http://ing.us
The Economist: http://www.economist.com/
El parlamento vasco:
http://www.parlamentovasco.euskolegebiltzarra.org
/eu/
• Rafa Nadal: http://www.rafaelnadal.com/
• Garming, McDonnals, Christina Aguilera, Mensa,
Intel, BBC, Linux Journal, Stanford University,
Algunos puntos débiles de Drupal…
• La interfaz de administración de Drupal resulta
compleja y poco manejable.
• Su extraordinaria flexibilidad lo convierten en un
producto complicado de configurar cuando se
quieren desarrollar sitios avanzados.
• 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.
– The drop is always moving
… y sus posibles excusas
• La versión 7 de Drupal ha mejorado notablemente la
usabilidad de la interfaz de administración mediante
el uso de overlays.
• Aunque Drupal es complejo de configurar, permite
crear sitios avanzados que con otros sistemas
simplemente serían imposibles o requerirían
programación "ad hoc" de extensiones, lo que suele
resultar aún más complicado.
• 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.
Las versiones de Drupal
• En todo momento están disponibles tres versiones de Drupal
que son las únicas para las que se ofrecen actualizaciones de
seguridad.
– Versión de desarrollo: No se recomienda su uso en sitios en
explotación.
– Versión actual estable: Es la versión recomendada para sitios en
explotación.
– Versión anterior estable: Se recomienda la actualización de esta
versión a la siguiente.
• 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.
• A fecha de hoy, la versión actual de Drupal es la 7.0, y la
anterior es la 6.20.
¿Cómo será Drupal 8?
• Estará pensado para mostrar contenidos en
todo tipo de dispositivos (móviles, tabletas, …)
apostando por el estándar HTML 5.
• Integración con servicios en la nube.
• Gestión de configuraciones, de modo que
resulte más sencillo aplicar cambios en
nuestros sitios, duplicarlos, o volver a una
configuración anterior.
• Mejor accesibilidad para discapacitados.
Actualización de Drupal
• 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.
• 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.
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>
</body>
</html>
<html>
<head>
<title>Página dinámica</title>
</head>
<body>
<p>Son las <?php echo
date("h:i:s");?></p>
</body>
</html>
¿Cómo funciona Drupal?
• 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.
• 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.
La estratificación de Drupal
Instalación de Drupal:
Requisitos previos
• Para instalar Drupal necesitamos:
– Espacio de alojamiento en un servidor web provisto de
PHP 5.3 Generalmente se utiliza el servidor Apache
(Apache 1.3 o 2.x).
– 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.
• Extensión PDO de PHP.
– 64 MB de memoria para PHP y 120 segundos de ejecución
para scripts.
Instalación de Drupal:
Convertir nuestro ordenador local en un servidor web
• XAMPP: Windows y Linux
• WampServer: Windows
• MAMP: Macintosh
• Descargar e instalar WampServer de
www.wampserver.com/en/
Instalación de Drupal:
Modificar el archivo php.ini
• 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.
Instalación de Drupal:
Crear la base de datos
• Si tenemos contratado un alojamiento remoto
es probable que la base de datos debamos
crearla a través del panel de control (cPanel,
Plesk).
• Si vamos a instalar Drupal en nuestro
ordenador local podemos crear la base de
datos directamente con phpMyAdmin.
Instalación de Drupal:
Crear la base de datos con phpMyAdmin
• El cotejamiento
debe ser
utf8_spanish_ci
Instalación de Drupal:
Crear un usuario para la base de datos
• Página de inicio
• Privilegios
• Agregar un nuevo usuario
Instalación de Drupal:
Descomprimir y colocar los archivos de Drupal en el servidor
• Descomprimir el archivo drupal-7.0.tar.gz utilizando, por
ejemplo, 7-zip.org
• Copiar los archivos/carpetas anteriores en el servidor
(mediante FTP en remoto, o directamente copiándolos a
una subcarpeta dentro de c:/wamp/www).
• Una misma instalación de Drupal puede servirnos para
varios sitios, facilitando así mucho las tareas de
mantenimiento.
• En la carpeta sites/all colocaremos los módulos y temas
que deseemos añadir a nuestra instalación básica de
Drupal.
• 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.
Instalación de Drupal:
Iniciar la instalación y traducir Drupal al castellano
1.
2.
3.
4.
5.
6.
Acceder a la dirección de nuestro servidor
(por ejemplo, http://localhost/drupal).
Seleccionar la opción Standard y pulsar el
botón Save and continue.
Hacer clic sobre el enlace Learn how to
install Drupal in other languages.
Hacer clic sobre el enlace translation
server.
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/).
Hacer clic sobre el enlace Reload the
language selection page after adding
translations.
Instalación de Drupal:
Introducir los datos de la base de datos
•
•
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.
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).
Instalación de Drupal:
Configuración inicial del sitio
•
•
•
•
En el servidor de
explotación es
conveniente que el email
utilice el mismo dominio
que el servidor web.
Usuario: admin
Contraseña: drupal
Verificar actualizaciones
automáticamente
(privacidad)
Instalación de Drupal:
Fin de la instalación
Instalación de Drupal:
Resumen
1. Instalar WAMP y configurar el php.ini con 120 segundos en
max_execution_time.
2. Con phpMyAdmin, crear una base de datos y un usuario con
todos los privilegios sobre ella.
3. Crear una subcarpeta para Drupal (llamada drupal) dentro de
la carpeta /wamp/www y copiar en ella los archivos
descomprimidos de Drupal.
4. Duplicar el archivo /sites/default/default.settings.php en la
misma carpeta pero con el nombre settings.php.
5. Iniciar la instalación de Drupal accediendo con el navegador
web a la dirección localhost/drupal.
6. Descargar el archivo po de la traducción a español y copiarlo
en la carpeta profiles/standard/translations.
7. Continuar la instalación y recordar el nombre de usuario y la
contraseña asignada al usuario administrador.
Barra de herramientas/Toolbar
• La barra de herramientas ocupa la zona superior cuando estamos
acreditados y sus opciones son:
– Home: Página de inicio
– 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, …
– Contenido: Creación de nodos
– Estructura: Bloques, menús, taxonomía y CCK
– Apariencia: Control de temas
– Personas: Gestión de usuarios, roles y permisos
– Módulos: Activación, configuración y actualización de módulos.
– Configuración: Información del sitio, URL limpias, Idiomas, …
– Informes: Estado, actualizaciones, errores, …
– Bienvenido xxx
– Cerrar sesión
Solapa de atajos
• 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.
• Los enlaces que contiene son modificables e incluso
podemos configurar distintos conjuntos de enlaces
para mostrarlos en distintas situaciones.
Panel de control/Dashboard
• 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, …)
Reasignar una contaseña al
administrador I
• 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.
• 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$.
Reasignar una contaseña al
administrador II
1.
2.
Crear un duplicado del archivo index.php de Drupal 7
llamado password.php.
Añadir las líneas que se muestran en negrita a continuación:
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once 'includes/password.inc';
echo user_hash_password('juanfe');
die();
menu_execute_active_handler();
3.
4.
5.
Acceder con el navegador al archivo password.php y copiar
el hash del nuevo password.
Mediante phpMyAdmin, pegar en el campo pass del usuario
1 el password copiado anteriormente.
Borrar el archivo password.php.
Dirección temporalmente bloqueada
tras 5 intentos de acreditación fallidos
•
•
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.
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.
Activar las URLs limpias
•
•
•
El uso de URLs limpias favorece que nuestro sitio sea
correctamente indexado por los buscadores como Google.
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.
Seleccionar Configuración>URL limpias>Activar URL
limpias.
Crear un contenido para la página
inicial
1.
2.
3.
4.
5.
6.
7.
Seleccionar Agregar contenido.
Elegir el tipo de contenido Página básica.
Título: Bienvenido a mi sitio Drupal 7.
Editar resumen.
Resumen: Hoy he aprendido a instalar Drupal 7.
Cuerpo: Es más fácil de lo que esperaba.
Opciones de comentarios:
•
8.
Cerrada.
Opciones de publicación:
•
•
Publicado
Colocado en la página principal
Traducir el enlace « Read more »
1. Seleccionar Configuración>Traducir
interfaz>Traducir.
2. Escribir Read more (la R en mayúscula) en El
texto contiene y pulsar el boton Filtrar.
3. Pulsar editar en la entrada Read more.
4. Escribir lo siguiente en Español:
Leer más<span class="element-invisible"> sobre
@title</span>
5. Pulsar Guardar las traducciones.
Configurar un tema
•
•
•
Los temas
determinan el
aspecto de nuestro
sitio.
Podemos tener un
tema
predeterminado
para el sitio, y otro
predeterminado
para las tareas de
administración.
Pulsar el botón
Opciones del tema
Bartik para
configurarlo.
Instalar un tema nuevo
1.
2.
3.
4.
5.
6.
El mejor sitio para
obtener temas con
seguridad es drupal.org.
Descargar el tema
marinelli comprimido.
Instalarlo mediante
Apariencia.
Activarlo y convertirlo
en predeterminado.
Pulsar el botón
Opciones del nuevo
tema.
Cerrar la sesión para ver
el nuevo aspecto de
nuestro sitio.
Módulos:
Activación/Desactivación
•
•
•
•
Los módulos son fragmentos de
código que añaden funcionalidad
adicional a Drupal.
Existen módulos del núcleo, que se
distribuyen junto con Drupal, y
módulos contribuidos que podemos
instalar de forma separada.
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.
Barra de herramientas>Módulos
Módulos:
Módulos esenciales (obligatorios) del núcleo
• Block
• Field/Field SQL storage
• File
• Options
• Text
•
•
•
•
Filter: Formatos de introducción de texto
Node
System
User
Módulos:
Los principales módulos del núcleo
•
•
•
•
•
•
•
•
•
Blog: Enviar contenidos fácilmente; un blog para cada usuario
Comment: Comentar contenidos
Contact: Formulario de contacto
Forum: Un foro básico
Menu: Controla el sistema de navegación por menús
Path: Permite crear alias más amigables para los URL
Poll: Encuestas
Taxonomy: Clasificar los contenidos mediante etiquetas
Update manager: Saber si existen versiones nuevas
Módulos:
Algunos módulos contribuidos populares
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Views: Sirve para configurar los listados de contenidos.
Token: Permite personalizar los contenidos con marcadores de posición como
%site-name
CCK: Content Construction Kit
Pathauto: Crea automáticamente alias amigables para los URL
Administration Menu
Date: Añadir campos de tipo fecha a los nodos.
IMCE: Gestor de descargas
WYSIWYG: Permite utilizar distintos editores para crear los contenidos.
Webform: Permite crear nodos de tipo formulario.
CKeditor: Un editor WYSIWYG muy completo
Fivestar: Módulo de votaciones
Panels: Editor visual para crear distribuciones de contenidos adaptadas a cada
usuario
Backup and migrate: Copia de seguridad y migración de sitios Drupal
Ubercart: Comercio electrónico
Usuarios: Roles y Permisos
•
•
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).
Personas>Permisos>Roles: Inicialmente Drupal tiene tres roles:
•
•
•
•
•
•
Usuario anónimo
Usuario autenticado
administrador
Personas>Permisos>Permisos: Drupal nos permite configurar los permisos
de cada rol para cada módulo.
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.
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.
Contenidos: Tipos de nodos y nodos
•
•
Los tipos de nodos son los tipos de datos que "comprende" Drupal: Artículos,
encuestas, temas del foro, …
Estructura>Tipos de contenido: Inicialmente Drupal incluye sólo 2 tipos de nodos:
•
•
•
•
Los tipos de nodos se crean mediante Estructura>Tipos de contenido>Añadir tipo
de contenido
Los nodos poseen:
•
•
•
•
•
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.
Página/Page: Ideal para contenidos estáticos.
Campos: Determinan las propiedades del nodo, como título, cuerpo, autor, …
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
Opciones de funcionamiento añadidas: Ciertos módulos pueden añadir posibilidades
adicionales a los nodos, como la capacidad de recibir comentarios.
Presentaciones: Un nodo puede mostrarse de distintas formas, como resumido,
completo, en formato RSS o en formato de impresión.
Los nodos se crean mediante Contenido.
Contenidos: Creación de nodos
• Título
• Opciones de menú
• Cuerpo/Resumen
• Filtrado
• Revisiones
• Comentarios (*)
• Autoría
• Publicación (*)
(*) 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.
Contenidos: Entendiendo el resumen
• 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.
• 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.
• La longitud del resumen se configura mediante
Estructura>Tipos de contenidos>Gestionar
presentación>Resumen>Recortar longitud.
Contenidos: Formatos de
texto/Filtrado
• 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.
• 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).
• Se configuran a través de Configuración>Formatos de texto.
• Cada Formato puede configurarse para que esté diponible para ciertos roles.
• Inicialmente Drupal dispone de 3 Formatos:
•
•
•
Plain Text: Es el más restrictivo, no admite ningún elemento HTML y está a
disposición forzosamente de todos los roles.
Filtered HTML: Sólo admite los elementos HTML <a> <em> <strong> <cite>
<blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
Full HTML: Admite cualquier elemento HTML pero sólo está a disposición del
rol Administrator.
Contenidos: Acceso
• Básicamente, cada página de un sitio Drupal
muestra un único nodo o un listado de nodos
en su zona principal
• Cada nodo es accesible a través de un URL del
tipo /node/1
• 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.
Contenidos: Navegación/menús
•
Para facilitar la navegación por los contenidos podemos utilizar menús.
Inicialmente Drupal incluye 4 menús:
•
•
•
•
•
•
Management
Menú principal
Navegación
User menu
Los menús se gestionan mediante Estructura>Menús.
Cada menú está asociado a un bloque, que podemos asignar a la región del
tema que prefiramos.
•
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.
Contenidos: Menús predeterminados
Bloques, regiones y temas
•
•
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.
Los bloques pueden mostrarse en diferentes zonas de la página, que se
denominan regiones y que tienen "nombres propios".
•
•
•
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.
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.
Apariencia>Temas: Las regiones posibles, sus posiciones, nombres y demás
características están determinadas por el tema asignado al sitio.
¿Cómo se llaman las regiones en cada
tema?
• Para descubrir el nombre de las regiones en el tema
activo seleccionaremos
Estructura>Bloques>Demostrar regiones de bloques.
Algunos bloques incluidos en Drupal
•
•
•
•
•
Comentarios recientes
Contenido reciente
Quién está conectado
Usuarios nuevos
Sindicar
Resumen de nomenclatura
•
Módulos
•
Del núcleo
•
•
•
Contribuidos
Contenidos
•
Tipos de nodos
•
•
•
•
Nodos
Roles
Permisos
Menús
Temas
•
•
•
Campos
Presentaciones
Usuarios
•
•
•
•
Esenciales
Bloques
Regiones
Formatos de texto (Configuración)
Ejercicio:
Crear un nodo y asignarle un acceso mediante menú
•
Crear un nodo de tipo página básica con las siguientes características:
• Título: Bienvenido al sitio web de Juanfe
• Cuerpo: Este sitio está aún en <b>construcción</b>. Puedes contactar con el
administrador en [email protected]
• Formato de entrada: Filtered HTML
• Opciones de menú:
•
•
•
Proporcionar un enlace de menú
Título del enlace del menú: Inicio alternativo
Elemento padre: Menú principal
• Opciones de publicación
•
•
•
•
Publicado
Colocar en la página principal
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.
Comprobar que no aparece en negrita construcción porque el elemento <b> no
está permitido en el formato de texto Filtered HTML.
Nodos: Revisiones
•
•
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.
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.
•
•
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).
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.
•
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.
Ejercicio: Revisiones
1. Crear un artículo titulado “Personal de guardia de la semana”
cuyo contenido sea una lista de nombres.
2. 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.
3. Utilizar la ficha Revisiones para revertir a la versión original.
4. 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.
Contenidos multi-idioma
•
Drupal 7 incluye dos módulos orientados a crear sitios multi-idioma:
•
•
•
Locale: Permite traducir la interfaz de Drupal.
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.
El procedimiento general para crear un sitio multi-idioma es:
•
•
Activar lo módulos Loace y Content translation.
Utilizar Configuración>Regional e idioma>Idiomas para instalar todos los idiomas que
deseemos utilizar en nuestro sitio.
•
•
•
•
Utilizar Configuración>Regional e idioma>Traducir interfaz para traducir la interfaz de
Drupal.
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:
•
•
•
Asegurarse de que todos los idiomas tienen asignado un prefijo (particularmente inglés), pues
posteriormente usaremos ese prefijo para saber qué idioma quierel usuario.
Utilizar Configuración>Regional e idioma>Detección y selección, activar el método de
selección URL.
Activado: Simplemente permite asignar un idioma a los nodos.
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.
Asignar el bloque Alternador de idioma a una región.
Ejercicio: Contenidos multi-idioma
•
•
•
•
•
•
•
•
•
•
•
•
•
Activar los módulos Locale y Content Translation
Configurar el prefijo en para el prefijo inglés.
Activar la detección de idioma por URL.
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.
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.
Asignar el bloque Alternador de idioma a una región.
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.
Elegir ahora el modo Activado con traducción para el tipo de contenido “Departamento de
inglés”.
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.
Utilizar esa ficha para crear una traducción al inglés.
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.
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.
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.
Ejercicio:
Posibles mejoras al núcleo para crear contenidos
• ¿Qué sensaciones tiene después de crear su
primer nodo en Drupal?
•Se agradecería un editor más completo para el
cuerpo del nodo  Módulo WYSIWYG + CKeditor
•Estaría bien que las direcciones de email se
ofuscaran automáticamente para evitar spam 
Módulo SpamSpan
•¿Cómo se modifica la página inicial del sitio?
Ejercicio: Especificar la página inicial
del sitio Drupal
• 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.
• 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.
• Cambiar la página inicial predeterminada del sitio a
node/2.
Ejercicio:
Instalar WYSIWYG + CKeditor
•
•
•
•
•
•
•
•
•
•
•
Comprobar que existe una carpeta llamada modules dentro de sites/all
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.
Descomprimirlo y copiar la carpeta resultante WYSIWYG en la carpeta
sites/all/modules.
Activar el módulo mediante Módulos>Interfaz de usuario.
Crear una carpeta llamada libraries dentro de sites/all
Acceder a la página de administración del módulo mediante Configuración>Autoría
del contenido>Wysiwyg profiles.
Pulsar el enlace Download de la sección CKeditor.
Descargar CKeditor 3.5.3, descomprimirlo y copiar la carpeta CKeditor resultante en
la carpeta libraries.
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.
Configurar el idioma español para CKeditor y activar los botones Bold, Italic y
underline.
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.
Ejercicio:
Formatos de texto vs Editores
•
•
•
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.
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.
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.
Ejercicio:
Instalar SpamSpan
•
•
•
•
•
•
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.1beta1.
Descomprimirlo y copiar la carpeta resultante spamspan en la carpeta
sites/all/modules.
Activar el módulo mediante Módulos.
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)
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.
Acceder a Configuración>Autoría del contenido>Formatos de
texto>Filtered HTML [Configurar] para activar la casilla Use a graphical
replacement for "@". ¿Cómo ha variado la ofuscación?
Ejercicio:
Instalar Administration Menu
•
•
•
•
•
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.
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.
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.0rc1.
Descomprimirlo y copiar la carpeta resultante admin_menu en la carpeta
sites/all/modules.
Activar los módulos Administration Menu y Administration menu toolbar
style mediante Módulos, y desactivar el módulo del núcleo Toolbar.
Resumen:
¿Cómo instalar un módulo?
1. Descargarlo del sitio web de Drupal.
2. Descomprimirlo.
3. Copiar la carpeta resultante dentro de
sites/all/modules.
4. Módulos para activarlo.
5. Módulos[Configuración] o Configuración para ver
sus opciones de configuración.
Módulos:
El modulo SMTP Authentication Support I
• 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.
• Para resolverlo podemos instalar el módulo SMTP
Authenticacion.
Módulos:
El modulo SMTP Authentication Support II
•
•
•
•
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.
Es necesario que tengamos instalado
el módulo php_openSSL
La mayoría de los servidores (como
educa.madrid.org) utilizan el puerto
25, pero gmail utiliza el 465.
Escribir una dirección válida en SEND
TEST E-MAIL para comprobar que
realmente funciona.
Sistema de archivos en Drupal 7:
público o privado
•
•
•
•
•
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.
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
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).
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.
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.
Ejercicio:
Sistema de archivos en Drupal 7
•
•
•
Mediante Configuración>Medios audiovisuales>Sistema de archivos
indicar la subcarpeta de sites/default/files/private para el alojamiento
privado de archivos.
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).
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:
• www.midominio.com/sites/default/files/field/image/nombredelaimagen.jpg
•
•
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).
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:
• www.midominio.com/sites/default/files/private/field/image/nombredelaimage
n.jpg
Estilos de imagen en Drupal 7
•
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:
• Recortar
• Desaturar (convertir a escala de grises)
• Redimensionar (cuidado puede deformar)
• Girar
• Escala (no deforma)
• Escalar y recortar
•
•
•
Los estilos de imagen se configuran mediante Configuración>Medios
audiovisuales>Estilos de imagen.
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)
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.
Ejercicio:
Estilos de imagen en Drupal 7
• 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.
• Configurar el tipo de contenido Artículo para
que en la presentación resumida muestre las
imágenes utilizando este estilo.
Taxonomía:
Vocabularios y términos
•
•
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.
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):
• Etiquetas: El propio usuario puede escribir libremente los términos.
• 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.
•
•
•
•
Cada vocabulario puede asignarse a uno o más tipos de nodos.
Se pueden configurar los términos jerárquicamente, de modo que unos sean hijos de otros.
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.
Además podemos mostrar nodos de varios términos:
• taxonomy/term/1,2: Muestra el listado de los nodos que tienen asignados los términos 1 Y 2.
• taxonomy/term/1+2: Muestra el listado de los nodos que tienen asignados los términos 1 O 2.
• 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.
• taxonomy/term/1/all: Muestra el listado de los nodos que tienen asignado el término 1 o cualquiera hijo de él.
•
•
•
•
Para crear un vocabulario recurriremos a Estructura>Taxonomía>Agregar vocabulario.
Para crear un término recurriremos a Estructura>Taxonomía>Agregar términos.
Para conocer el número aparejado a un término concreto recurriremos a Estructura>Taxonomía>Lista de
términos.
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.
Ejercicio:
Crear un vocabulario
• Crear un vocabulario llamado "Jornadas TIC ".
• Agregar a este vocabulario los términos "General",
"Jornada 1", "Jornada 2" y "Jornada 3".
Tipos de contenido
• 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:
•
•
•
•
•
•
•
Text
Number
Image
File
Options
List
Taxonomy
Ejercicio: Asignar un vocabulario a un
tipo de contenidos
•
Crear un tipo de contenido llamado Sesiones TIC, con la
siguiente configuración:
• Etiqueta del campo de título: Título
• Opciones de publicación: Sólo Publicado
• Opciones de comentarios: Abrir
•
Añadirle el siguiente campo:
• Etiqueta: Etiquetas
• Nombre: field_etiquetas
• Campo: Referencia de término
• Control: Casillas de selección/Botones de opciones
• Vocabulario: Jornadas TIC
•
•
•
Campo necesario
Valor predeterminado: N/D
Número de valores: 1
Ejercicio: Asignar términos a nodos
• Crear 3 nodos de tipo Jornadas TIC llamados
"Programa jornada #", cuyo contenido sea el
supuesto programa de actividades de una sesión y
asignando a cada uno un término de los creados
anteriormente.
• Crear un cuarto nodo de tipo página llamado
"Programación de jornadas" que simplemente
contenga un enlace a cada uno de los nodos
anteriores y que tenga asignado el término General.
Ejercicio:
Crear un menú para el vocabulario
•
•
•
•
•
•
Instalar el módulo taxonomy_menu y activarlo.
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).
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).
Reconstruir el menú a través de Estructura>Taxonomía>Editar vocabulario
(Select to rebuild the menu on submit).
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).
Si no lo estuviera ya, activar el menú secundario en las opciones de
visualización del tema activo.
Ejercicio:
Instalar un tema con menús Suckerfish
• Instalar el tema Danland.
• Asignar el bloque Menú principal a la región Superfish
menu.
• Desactivar la opción de visualización Menú principal
en las opciones del tema Danland.
SuperFish I
• SuperFish es un módulo con el que podremos incluir
menús suckerfish de los siguientes tipos en cualquier
tema:
•Horizontal
•Vertical
•Barra de navegación (muy útil)
• Para instalar este módulo previamente debemos:
• Copiar en la carpeta sites/all/libraries la librería Superfish
disponible en la propia página del módulo.
•Instalar el módulo Libraries.
SuperFish II
•
•
•
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).
Mediante Estructura>Bloques asignaremos a los bloques
creados en el paso anterior los menús a los que queramos
aplicar el efecto suckerfish…
… y mediante la opción Configuración del bloque
configuraremos todas las opciones de Superfish (tipo de menú,
estilo, efectos, …).
Ejercicio: SuperFish
•
•
•
•
Instalar SuperFish.
Reestablecer como predeterminado el tema Bartik.
Configurar SuperFish para utilizar un único bloque.
Asignar a ese bloque el menú principal y colocarlo en
la región Featured.
• Configurar el bloque con el estilo menú de
navegación.
• Probar a discreción otras opciones de configuración
del bloque (sombras, flechas, …).
Registro de usuarios
•
•
Configuración>Personas>Opciones de la cuenta
Existen 3 métodos de registro:
• Sólo los administradores pueden crear usuarios.
• Visitantes: Cualquiera puede registrarse sin más.
• Cualquiera puede solicitar registrarse, pero deberá ser aprobado por un
administrador.
•
•
•
•
Conviene dejar activada la casilla de Pedir una verificación por
correo electrónico.
Podemos configurar el texto de los correos que el sistema
envía a los nuevos usuarios.
Podemos admitir el uso de firmas.
Podemos admitir el uso de avatares (imágenes de usuario).
Ejercicio: Registro de usuarios
• Configurar Drupal para que permita el registro de
usuarios pero que deban ser aceptados por el
administrador.
• Registrar un usuario nuevo llamado pepe.
• Acreditarse como administrador para poder activar al
nuevo usuario.
• ¿Qué perfil adquiere por defecto un nuevo usuario si
no se requiere confirmación por parte del
administrador?
•Ninguno (Usuario registrado de forma implícita)
Ejercicio: Roles y permisos I
•
Crear un rol nuevo llamado autor con los siguientes permisos:
• Ver contenido publicado
• Ver el contenido propio sin publicar
• Crear contenidos de tipo artículo
• Modificar sus propios artículos
•
•
Asignar este rol al usuario pepe creado en el ejercicio anterior.
Acreditarse como pepe y crear un artículo nuevo.
• ¿Puede pepe hacer que sus artículos se publiquen automáticamente o
que se muestren en la página inicial?
•
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.
Ejercicio: Roles y permisos II
•
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.
• ¿Afecta esto al artículo que había creado pepe?
•
•
No, las modificaciones en Drupal no tienen carácter retroactivo.
Publicar un segundo artículo con pepe.
• ¿Cómo puede acceder pepe a su artículo?
•
•
Recordando el número de nodo
Tras desactivar el Administration menu y regresar al módulo Toolbar,
conceder al rol autor los siguientes permisos:
• Usar la barra de herramientas de administración
• Acceder a la página resumen de contenido
•
•
¿Más cómodo así verdad?
¿Y si prefiriésemos seguir usan Administration menu?
• Crear un enlace a admin/content por ejemplo en el menú User menu.
Perfil de usuario
• 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:
• Puede modificar sus datos (email, contraseña, …)
•
Incluso su nombre de usuario si le concedemos este permiso a alguno de sus roles
• Elegir un avatar
Ejercicio: Perfil de usuario
• Asignar un avatar a pepe.
• Por ejemplo, pueden encontrarse muchos avatares
gratuitos en:
•http://www.free-avatars.com
Masquerade
•
•
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.
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)
TAC_Lite I:
Taxonomy Access Control Lite I
•
•
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.
Sirve para controlar 3 tipos de permisos:
• View: Ver
• Update: Actualizar
• Delete: Borrar
•
Estos permisos pueden controlarse a nivel de rol y a nivel de usuario
individual.
• Los permisos concedidos a nivel de usuario se añaden (suman) a los que recibe
el usuario a través de sus roles.
•
•
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.
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.
TAC_Lite II:
Taxonomy Access Control Lite II
•
•
•
•
•
TAC_Lite funciona mediante esquemas asignados a
vocabularios.
En un esquema podemos definir qué acciones (ver, actualizar
y/o borrar) puede realizar cada rol sobre cada término de cada
vocabulario.
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).
La configuración de permisos a nivel de roles se realiza
mediante Personas>Access by taxonomy.
La otorgación de permisos adicionales a nivel de usuario
particular se realiza mediante Personas>Lista>Editar>Access
by taxonomy
Ejercicio:
Taxonomy Access Control Lite I
•
•
•
•
•
•
•
Crear un vocabulario de taxonomía llamado Informática que incluya los términos software y hardware y
asignado al menú Navegación.
Crear un tipo de nodo nuevo llamado Noticia de informática (noticia_informatica).
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.
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.
Crear dos usuarios, uno en cada rol, llamados Paco de software y Paco de hardware.
Configurar Masquerade para que permita alternar entre estos usuarios.
Configurar TAC_Lite para utilizar dos esquemas asociados al vocabulario Informática.
• 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.
• 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.
•
Crear una noticia de informática con el perfil de Paco de software
• ¿Puede verla Paco de hardware?
• ¿Puede editarla Paco de hardware?
• ¿Puede editarla Paco de software?
•
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.
• ¿Puede ahora Paco de hardware cambiar el departamento de un nodo?
TAC: Taxonomy Access Control I
•
TAC es un módulo que permite controlar el acceso de los usuarios a los nodos
filtrándolos por:
• Roles de usuario
• Términos de vocabulario asignados a los nodos
•
•
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.
Para que TAC pueda aplicarse a un rol, ese rol debe tener en la configuración
general de permisos de Drupal (Personas>Permisos):
• Activado el permiso de acceso a nodos.
• Desactivado el permiso de administración de nodos.
• Desactivado los permisos de edición y eliminación si queremos controlarlos a través de
TAC.
•
•
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).
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).
TAC: Taxonomy Access Control II
•
Los permisos que se pueden configurar a través de TAC son:
• Ver: Determina si el rol puede ver los nodos que tienen asignado ese término.
• Actualizar: Para que funcione debemos desactivar el privilegio de actualización
en la configuración de permisos de Drupal.
• Eliminar: Para que funcione debemos desactivar el privilegio de eliminación en
la configuración de permisos de Drupal.
• Crear: Permite al rol asignar ese término a los nodos que cree.
• 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.
•
•
La configuración de TAC se realiza a través de Taxonomy Access
Permissions
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.
Ejercicio: Taxonomy Access Control
•
•
•
•
•
•
•
•
•
Crear un tipo de nodo nuevo llamado Noticia de informática (noticia_informatica).
Crear un vocabulario de taxonomía llamado Informática que incluya los términos
software y hardware y asignado al menú Navegación.
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.
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.
Crear dos usuarios, uno en cada rol, llamados Paco de software y Paco de
hardware.
Configurar Masquerade para que permita alternar entre estos usuarios.
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).
Crear una noticia de informática con el perfil de Paco de software ¿puede verla
Paco de hardware?
Configurar TAC para que cada Paco pueda ver todas las noticias de informática pero
crear sólo las de su redacción.
IMCE
•
•
•
IMCE es un gestor de subida de archivos con el que nos resultará muy
sencillo incluir imágenes en nuestros nodos.
Además permite configurar permisos con tamaños máximo de archivo,
extensiones de archivos, y carpetas de destino a través de perfiles.
Instalar y activar
• IMCE WYSIWYG API Bridge
• IMCE
•
•
•
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.
Configuración>Medios audiovisuales>IMCE
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.
Ejercicio: IMCE
•
Insertar una imagen en un artículo.
• Hacer clic sobre el icono
Insertar/Editar imagen de CKeditor.
• Pulsar el botón Ver servidor.
• Pulsar el enlace Subir.
• Pulsar el enlace Insert file.
• Pulsar el botón Aceptar.
•
¿Qué pasa si no tenemos
activado el formato de texto Full
HTML?
• 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.
•
Obviamente, habrá que autorizar
el elemento im en el formato de
entrada Filtered HTML
(Configuración>Autoría del
contenido>Formatos de entrada)
Perfiles IMCE
•
•
•
IMCE usa sus propios perfiles, que se configuran mediante
Configuración>Medios audiovisuales>IMCE.
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.
Para cada perfil podemos configurar:
• Tamaño máximo de archivo admitido
• Cuota máxima por directorio
• Cuota máxima por usuario
• Extensiones admitidas
• Tamaño máximo de las imágenes
• Directorios a los que tiene acceso cada usuario (%uid) y con qué
permisos (Explorar, Subir, Miniaturas, Eliminar o redimensionar)
• Los tipos de miniatura que puede generar.
Ejercicio: Perfiles IMCE
•
Crear un perfil de IMCE llamado autor que permita acceder a
los siguientes directorios:
• 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.
• Otro llamado imágenes generales en el directorio
/sites/default/imagenes_generales, sólo con permiso de explorar.
•
•
Permitir que pueda generar dos tipos de miniaturas: pequeñas
(45x45) y grandes (90x90).
Comprobar que la carpeta imagenes_generales se crea
automáticamente la primera vez que el usuario intenta
insertar una imagen.
Insertar medios (sonidos y vídeos) en
los nodos
•
•
•
•
•
•
Instalar el módulo Styles.
Instalar el módulo Media.
Instalar el módulo Media YouTube y Media Flickr
Habilitar en el perfil de WYSIWYG el botón Media Browser.
Habilitar en el formato de texto correspondiente el filtro
Convertir Media tags to Markup.
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.
Ejercicio: Insertar medios (sonidos y
vídeos) en los nodos
• Insertar un vídeo en un nodo subido a través del
módulo Media.
• Insertar un vídeo de YouTube en un nodo.
Blog
•
•
•
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).
El blog de cada usuario es accesible a través del url /blog/%uid
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).
Ejercicio: Blog
• Activar el módulo de blog.
• Crear un vocabulario de taxonomía para este tipo de
contenido.
• Crear un campo en el tipo de contenido blog que
permita elegir un término del vocabulario anterior.
• Activar las opciones de menú que permiten mostrar
los enlaces a los blogs.
• Crear una entrada de blog.
Comentarios
•
•
•
Los comentarios están controlados por el módulo Comment.
Cada tipo de contenido puede configurarse para admitir o no comentarios.
Los permisos de los comentarios son:
• Administrar
• Ver
• Publicar
• Publicar sin aprobación
• Editar comentarios propios
•
•
•
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).
Los comentarios se pueden aprobar a través de Contenido>Comentarios.
La aparición de los avatares en los comentarios está controlada por el tema
(Apariencia>Opciones>Imágenes de los usuarios en los comentarios).
Ejercicio: Comentarios
• Activar el módulo Comment.
• Configurar el tipo de nodo Blog para que admita
comentarios.
• Crear un comentario con un usuario cuyos
comentarios requieran aprobación.
•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.
• Aprobar el comentario.
Trigger: Disparadores y acciones
•
•
•
•
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.
Primero se definen las acciones a través de
Configuración>Sistema>Acciones. Aunque el módulo Trigger ofrece varias
acciones predefinidas, como "Hacer el envío pegajoso“ (colocarlo en
primera posición, es decir, fijarlo).
Y después los disparadores a través de Estructura>Disparadores.
Los disparadores pueden desencadenarse a raíz de operaciones con:
• Comentarios: Tras enviar un comentario nuevo
• Contenidos: Tras actualizar un nodo
• Taxónomia: Tras crear un término
• Usuarios: Tras crear una cuenta de usuarios
•
Existe un módulo contribuido llamado Rules que es aún más potente, pero
aún está en fase beta.
Trigger: Ejercicio
• Configurar un Disparador/Acción que envíe un mail a
cierta dirección cada vez que se cree una cuenta de
usuario nueva.
• Configurar un Disparador/Acción que despublique los
comentarios que contengan como palabras clave
ciertos insultos.
•No funciona actualmente en Drupal 7
Token: Personalización mediante
variables
•
•
•
•
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).
Estas variables se denominan comodines.
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.
Puede ver un listado de todos los tokens posibles a través de la
ayuda del módulo.
Token: Ejercicio
• 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:
Hola [current-user:name]:
Gracias por enviar el comentario siguiente:
[comment:body]
para el artículo [comment:node:title] de
[comment:node:author] el día: [current-date:long]
El módulo Path
•
•
•
•
•
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).
Sin embargo, este método no es muy descriptivo, y tampoco
favorece la catalogación de los buscadores como Google.
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.
Esta ruta es lo que tendremos que escribir en lugar de node/x
para acceder a él (no anula la forma node/x).
Estas rutas alternativas se denominan alias.
Ejercicio: El módulo Path
• Activar el módulo Path si no lo estuviera ya.
• Crear un nodo con ciertos datos personales y
asignarle la ruta de acceso curriculum.
• Comprobar que este nodo es accesibe a través del
URL: www.dirección_de_nuestro_sitio/curriculum
El módulo Pathauto I
•
El módulo Path tiene 2 inconvenientes:
• Es tedioso tener que indicar los alias manualmente
• Puede producir inconsistencia en los alias. Por ejemplo, un usuario
puede utilizar un patrón distintos a las normas generales.
•
•
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).
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.
El módulo Pathauto II
•
•
•
•
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).
Las opciones de Pathauto se configuran a través de
Configuración>Búsqueda y metadatos>Alias de URL.
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, …)
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…
El módulo Pathauto III
• 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:
•No hacer nada. Dejar intacto el alias anterior.
•Crear alias nuevo. Dejando el alias anterior operativo.
•Crear alias nuevo. Borrando el alias anterior.
•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).
Ejercicio: El módulo Pathauto
•
•
Instalar y activar los módulos Pathauto y Redirect.
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):
• Path
• Redirect (antiguo Path redirect)
• Pathauto
•
Explorar los Patterns (patrón) de alias de rutas automáticos:
• 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]
• Realizar una generación de alias en masa para actualizar todo el sitio.
WebForm I
•
•
•
El módulo contribuido WebForm nos permite crear nodos que sean, en realidad,
formularios.
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.
El acceso a los formularios puede limitarse:
• Por roles
• Por número de veces
•
Los campos de los formularios se denominan componentes y pueden ser de varios
tipos:
•
•
•
•
•
•
•
archivo
date
email
hidden
select
textarea
…
WebForm II
•
•
Los resultados de los formularios pueden descargarse también
en formato Excel.
El procedimiento general para crear un formulario es:
1.
Administración de contenido>Webforms
•
2.
Añadir los componentes (campos) necesario y configurarlos.
•
3.
4.
Podemos indicar qué campos serán obligatorios.
Configurar los correos electrónicos. Se puede utilizar el contenido de
algún campo como detalle del email (remitente o asunto).
En Form Settings se puede configurar qué roles tienen acceso al
formulario y cuántas veces lo pueden enviar.
•
5.
Aquí configuramos el título del formulario.
En Opciones avanzadas podemos configurar que el formulario esté
disponible como un bloque y que permita guardarlo para completarlo
más tarde (draft).
Analizar los resultados.
Ejercicio I: WebForm
•
Crear un formulario que:
•
•
•
•
•
•
•
Sea accesible a través del menú Navegación mediante un item
llamado Examen.
Sea accesible para los usuarios de un rol determinado (por ejemplo
alumnos).
Contenga un campo oculto en el que se almacene el nombre del
usuario (%username).
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.
Configurar todos los campos para que se envíen por email, y el
formulario para que sólo se pueda enviar una vez.
Permitir la opción de guardar el borrador del formulario (draft).
Descargar los resultados con formato Excel.
WebForm III
•
•
Con WebForm se pueden crear formularios
multipágina (insertando componentes pagebreak).
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.
Ejercicio II: WebForm
•
Crear un formulario compuesto por dos páginas de
modo que:
•
•
En la primera haya que elegir entre ciencias o letras.
En la segunda haya que elegir entre asignaturas de
ciencias o letras dependiendo de la opción elegida en la
página anterior.
Registration code I
•
•
•
Este módulo contribuído sólo permitirá registrarse en nuestro
sitio Drupal a los usuarios que dispongan de un código de
registro.
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.
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:
•
•
Views 6.x-2.x utiliza VBO 6.x-1.x
Views 6.3-3.x utiliza VBO 6.x-3.x
Registration code II
•
•
•
•
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.
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.
El formato de las fechas Active from y Expires on puede ser, entre otros,
AAAA/MM/DD.
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.
Registration code III
•
•
•
Los códigos pueden gestionarse a nivel individual mediante
Lista (activarlos, desactivarlos, borrarlos, …).
Los códigos se gestionan a nivel global mediante Manage.
El módulo Registration code viene acompañado de otros de
interés:
•
•
•
Code mailer: Permite enviar lotes de códigos a direcciones de email
utilizando el comodín [regcode].
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.
Role assigment: Permite asignar un rol concreto en función del
término de taxonomía que tenga asignado cada código de registro.
Ejercicio: Registration code
•
•
•
•
•
•
•
Instalar Views Bulk Operation.
Instalar Registration code, Code mailer y Role assigment.
Añadir los términos ESO y Bachillerato al vocabulario
Registration code.
Generar un lote de 10 códigos de registro con cada uno de los
términos anteriores.
Configurar los códigos de uno y otro término para que
adquieran roles diferentes en Drupal.
Enviar varios de estos códigos por email (utilizando [regcode]).
Comprobar que efectivamente los códigos permiten
registrarse.
Contactos
•
•
•
•
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.
Los formularios de contacto están controlados por el módulo Contact.
Drupal nos permite crear distintas categorías (información del producto,
información general, …) de formularios de contacto. Estructura>Formulario de
contacto
En las opciones podemos configurar:
• El número máximo de mensajes que puede enviar un usuario por hora (sólo Drupal 6).
• Si queremos que se muestre un formulario de contacto para cada usuario en su perfil.
Configuración>Personas>Opciones de la cuenta
•
•
•
Al activar este módulo se crea automáticamente el ítem de menú correspondiente
en el menú Navegación, pero está inicialmente desactivado.
También tenemos que configurar los permisos del módulo Contact para definir
quién (qué roles) puede acceder a estos formularios.
Adicionalmente, cada usuario puede configurar en su página de perfil si quiere o no
mostrar su formulario de contacto.
CCK: Content Creation Kit
•
Fields: Tipos de datos
• Integer
• Decimal
• Float
• Text
• Node reference: Referencia a un nodo
• User reference: Referencia a un usuario
•
Widgets: Presentación para introducir el tipo de dato
• Text field
• Text area
• Check box
• Radio buttons
• Select list
• Autocomplete text field
•
Formatters: Presentación de los datos. Permite definir qué campos se
mostrarán en el modo resumido y en el modo extendido del nodo.
Instalar CCK
•
•
•
•
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.
Aprovechar también para descargar el módulo FileFiled, que se encuentra
en la versión 6.x-3.2.
Descomprimirlos y copiar las carpetas resultante cck y filefield en la
carpeta sites/all/modules.
Acceder a Administrar>Construcción del sitio>Módulos y activar los
siguientes módulos:
• Content
• FileField
• Node Reference
• Number
• Option widget
• Text
• User reference
Ejercicio: El tipo de nodo taller
• Crear un tipo de nodo llamado taller.
• Configurar en él los siguientes campos:
•Taller (*Título)
•Descripción (*Cuerpo)
•Departamento: Text – Select list
•Responsable: User reference – Select list
•Precio: Decimal – Text field
• Usar la opción Display fields para que las etiquetas
aparezcan junto a los datos en lugar de sobre ellos.
Ejercicio: El tipo de nodo inscripción
• Crear un tipo de nodo llamado inscripción.
• Configurar en él los siguientes campos:
•Nombre (*Título)
•Observaciones (*Cuerpo)
•Taller: Node reference – Select list
•Copia DNI: archivo – File upload (que se guarden en
files/dni)
• Usar la opción Display fields para que las etiquetas
aparezcan junto a los datos en lugar de sobre ellos.
Instalar Advanced Help
•
•
•
•
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.
Descomprimirlos y copiar la carpeta resultante advanced_help
en la carpeta sites/all/modules.
Acceder a Administrar>Construcción del sitio>Módulos y
activar el módulo Advanced Help.
Comprobar cómo aparecen nuevas opciones de ayuda en las
páginas relacionadas con CCK.
Views I
•
Hasta ahora con Drupal hemos podido mostrar:
• Nodos concretos (/node/#)
• Listados de nodos que comparten un término de taxonomía
(/taxonomy/term/#)
• El perfil de un usuario (/user/#)
• Las entradas del blog de un usuario (/blog/#)
•
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.
• 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.
Views II
•
•
Una vista es una configuración en la que elegimos mostrar un tipo de
información:
• Nodos
• Comentarios
• Usuarios
• Archivos
• Términos de taxonomía
Con un Formato determinado
•
•
•
•
•
•
•
•
Grid (cuadrícula)
HTML list
Jump Menu (cuadro de lista desplegable)
Tabla
Unformated list
Eligiendo qué campos queremos mostrar de cada elementos
Filtrándolos por distintos criterios
Y ordenándolos con los criterios que queramos.
Views III
•
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:
• Página
• Bloque
• Adjunto
• Feed
• Contexto
• Panel
Instalar Views
• 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.
Ejercicio: Crear una vista que liste los
contenidos de la última semana I
•
Crear la vista:
• Estructura>Views>Add new view
•
•
•
•
View name: articulos_recientes
Mostrar: Contenido
Desactivar Create a page y Create a block (inicialmente configuramos la vista y luego ya
decidiremos qué displays queremos)
Formato:
• Formato: HTML list
• Mostrar: Campos
•
Campos
• Título
• Agregar
•
Contenido: Post date
•
•
•
Sin etiqueta
Excluido de la visualización
Formato personalizado: j \d\e F \d\e Y
• Comprobar que se puede cambiar el orden de presentación de los campos
•
•
Formato: Modificar las opciones de HTML list para agrupar el listado por Contenido: Post date
Filtros
• Añadir un filtro sobre Post date para que sólo se muestren los nodos de la última semana (is greater
than -7 day)
•
Ordenación
• 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.
Ejercicio: Crear una vista que liste los
contenidos de la última semana II
•
•
•
•
•
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)
Modificar el Pager para que sólo muestre 4 elementos por página.
Guardar la vista
Añadir un display de tipo Bloque y asignarle el nombre “Contenidos de la
semana”
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.
Ejercicio: Crear una página que liste los
usuarios agrupándolos por roles I
• Crear la vista:
•Construcción del sitio>Views>Add
• View name: lista_de_usuarios
• View tag: usuarios
• View type: Usuario
• Elegir el tipo de display:
•Seleccionar la opción Página y pulsar Add display.
• Ruta: lista_de_usuarios
• Menu: Normal menu entry
• Título: Lista de usuarios
Ejercicio: Crear una página que liste los
usuarios agrupándolos por roles I
• Crear la vista:
•Estructura>Views>Add new view
• View name: lista_de_usuarios
• Mostrar: usuarios
• Activar Create a page:
•Ruta: lista-de-usuarios
• Menu: Normal menu entry
• Create a menu link
• Menu: Menú principal
• Link text: Lista de usuarios
Ejercicio: Crear una vista que liste los
usuarios agrupándolos por roles II
•
Campos/Fields:
•
•
•
•
•
•
•
Configurar la etiqueta de los campos, respectivamente, del siguiente modo:
•
•
•
•
•
•
•
Fecha de registro
Operaciones
Editar perfil
Imagen
Nombre
Último acceso
Establecer el siguiente orden para los campos:
•
•
•
•
•
•
•
Usuario: Created date
Usuario: Candel link
Usuario: Edit link
Usuario: Imagen
Usuario: Nombre
Usuario: Último acceso
Nombre
Fecha de creación
Imagen
Último acceso
Editar
Operaciones
Asignar al campo Nombre la etiqueta Nombre
Ejercicio: Crear una vista que liste los
usuarios agrupándolos por roles III
•
Formato:
• Tabla.
• Configurar la tabla del siguiente modo:
•
•
•
•
•
•
En la columna Column del field (campo) Editar seleccionar Operaciones
En la columna Separator del field Operaciones escribir espacio|espacio
Activar todas las casillas Sortable
Elegir Nombre como Default sort
Update default settings
Filtros:
• Mantener el filtro que usa como criterio que el usuario esté activo.
•
Contextual filters/Argumentos:
• Agregar un filtro contextual que use como criterio Usuario: Roles
• When the filter value is not in the URL:
•
•
Display a summary
En el resto de la configuración mantener las opciones predeterminadas
• When the filter value is in the URL:
•
•
Override title: Usuarios con el rol %1
Guardar la vista
Ejercicio: Crear una vista que liste las
últimas entradas de blog por usuario I
•
Crear la vista:
• Construcción del sitio>Views>Add
•
•
•
•
View name: entradas_blog_recientes
View tag: blog
View type: Nodo
Configuración default
• Campos
•
Añadir los campos
•
•
Nodo: Título
• Borrar la etiqueta
• Link this field to its node
Colocar el campo Título delante de Post date
• Filtros
•
Añadir los filtros
•
•
Nodo: Type
• Is one of Entrada de bitácora
Nodo: Published
• Sí
Ejercicio: Crear una vista que liste las
últimas entradas de blog por usuario II
•
Sort criteria (orden)
•
•
Basic settings (primera columna)
•
•
•
Items to display: 4
Style: HTML list
Arguments
•
•
•
Añadir el criterio Node: Post date y configurarlo en orden Descending
Añadir el argumento Usuario: uid
• Título: Entradas recientes de %1
• Action to take if argument is not present: Provide default argument
• User ID from URL
• Also look for a node and use node author
• Validator: Usuario
Probar el argumento escribiendo 1 en el campo de la sección Live preview
Crear el display de bloque
• Seleccionar Block y pulsar Add display
• Block Settings (debajo de Basic Settings)>Admin: Entradas de blog recientes
•
•
Guardar la vista
Construcción del sitio>Bloques para mostrar el bloque
Ejercicio: Crear una vista de talleres
• Vamos a crear una vista que muestre todos los
talleres propuestos.
• Administrar>Construcción del sitio>Views>Add.
•View name: Talleres
•View tag: Talleres (sólo sirve para ordenar las vistas en la
zona administrativa)
•View type: Node
• Pulsar Next para empezar a configurar la vista.
Ejercicio: Configurar la vista talleres
• En la sección Basic
Settings:
•Título: Talleres propuestos
•Style: Tabla
•Use pager: Sí – Full pager
•Empty text: Aún no se ha
propuesto ningún taller
Ejercicio:
Añadir campos a la vista talleres
•
En la sección Fields, pulsar el icono + para
añadir cada uno de los siguientes
campos:
•
•
•
•
•
Y configurarlos así:
•
•
•
•
•
•
Nodo: Título
Nodo: Post date
Contenido: Precio
Contenido: Responsable
Título: Link this field to its node
Post date: Date format
Precio: Formato
Responsable: dejar por defecto
Comprobar que en la previsualización de
la vista se muestran todos los tipos de
nodos (no sólo los de tipo taller).
Reordenar los campos como se muestra
en la figura.
Ejercicio:
Filtrar la vista talleres
• En la sección Filtros, pulsar
el icono + para añadir los
siguientes filtros:
•Nodo: Published
•Nodo: Type (Is one of Taller)
Ejercicio:
Establecer un orden en la vista talleres
•
En la sección Sort criteria, pulsar el
icono + para añadir el siguiente
criterio:
• Nodo
•
Post date
•
•
•
Descendant
Granurality: second
La granularidad sirve para indicar a
qué nivel deben considerarse
idénticos en ordenación dos nodos
(por ejemplo, si tiene la misma hora
aunque los minutos/segundos sean
distintos). Esto es muy útil para poder
aplicar criterios de ordenación
secundarios. Por ejemplo, ordenar
primero por fecha y luego por título
todos los talleres propuestos para el
mismo día.
Ejercicio:
Crear un display para la vista talleres
• En la sección Defaults,
seleccionar Página y pulsar
Add display.
• Configurar la sección Page
Settings del siguiente
modo:
•Ruta: talleres
•Menú
• Normal menu entry
• Título: Talleres propuestos
• Menú: Navegación
Ejercicio:
Crear un argumento en la vista talleres
• En la sección Arguments, pulsar el icono + y
configurar el siguiente argumento:
• Contenido: Departamento
•
•
•
•
•
Título: Talleres propuestos por el departamento %1
Action to take…: Summary, sorted ascending
Display: List
Display record count with link (mediante el icono de la rueda dentada)
Comprobar cómo ha variado el comportamiento del enlace "Talleres
propuestos"
Ejercicio:
Crear la vista de inscripciones
• Vamos a crear 3 displays para la vista de
inscripciones:
• Uno que muestre todas las inscripciones recibidas
• Otro que muestre en una ficha adicional del nodo de cada taller las
inscripciones que ha recibido
• Y una última que muestre en un bloque las inscripciones que ha realizado el
usuario actualmente acreditado
Ejercicio:
Configurar los defaults I
• Construcción del sitio>Views>Lista>Add
• View name: Inscripciones
• View tag: inscripciones
• View type: Node
•
Next
• Style: Table
• Use Pager: Yes, Full pager
• Empty text: No se han realizado inscripciones aún.
•
Añadir los siguientes campos (fields):
• Contenido: Taller - Link this field to its node
• Nodo: Post date – Elegir un formato de fecha que indique el día de la semana
• Nodo: Título - Link this field to its node
• Usuario: Nombre – Etiqueta=Solicitante
Ejercicio:
Configurar los defaults II
•
•
•
Recolocar los campos situando el node reference al taller en último lugar
Añadir un orden (Sort criteria) que ordene las inscripciones en sentido
descendente de Post date
Añadir los siguientes filtros:
• Nodo: Publicado - Sí
• Nodo: Tipo – Is one of Inscripción
Ejercicio:
Crear el display de todas las inscripciones
• Añadir un display de tipo Page
• Configurar el acceso para los Asesores
• Pulsar Override
• Seleccionar Role
• Pulsa Actualizar
• Seleccionar el rol Asesor
• Pulsar Actualizar
•
Crear un ítem de menú
• Ruta: inscripciones
• Menú: Normal menu entry – Título: Inscripciones – Menú: Navegación
Ejercicio:
Crear el display de las inscripciones de un taller
• Añadir un display de tipo Page y cambiar su
nombre a Inscripciones por taller
• Restringir el acceso de este display para que
sólo puedan usarlo los asesores
• Añadir un Relationship al elemento
Contenido: Taller y activando la opción
Require this relationship
•Esto lo hemos hecho porque queremos que se
muestren sólo las inscripciones recibidas para un
taller en particular.
Ejercicio:
Crear el display de las inscripciones de un taller
• Override los arguments
• Crear este argumento:
•Nodo: Nid
•
•
•
•
Relationship: Taller
Título: Inscripciones recibidas para el taller %1
Action to take…: Display empty text
Validator: Nodo
• Taller
• Validate user has access to the node
Ejercicio:
Crear el display de las inscripciones de un taller
• Configurar los Page Settings:
•Ruta: node/%/inscripciones
•Menú
• Menu tab
• Título: Inscripciones
• Override los fields y eliminar los campos
•Contenido: Taller
•Contenido: Título
Ejercicio:
Crear el display de las inscripciones de un usuario
• Añadir un display nuevo de tipo Bloque
•Título: Mis inscripciones
•Style: HTML List
• Unordered list
•Block settings
• Admin: Inscripciones por usuario
•Override los Fields y eliminarlos todos menos
Contenido: Taller, que configuraremos del
siguiente modo:
• Desactivar Link this field to its node
• Etiqueta: Ninguno
• Formato: Title (no link)
Ejercicio:
Crear el display de las inscripciones de un usuario
• Override los Filtros y añadir uno nuevo:
•Usuario: Current
• Is the logged in user: Sí
• Colocar el bloque
(Administrar>Construcción del
sitio>Bloques) en el lateral derecho.
• Configurar el bloque para que sólo se
muestre a los usuarios Asistentes.
El módulo Aggregator
• Este módulo sirve para incluir en nuestro sitio
contenidos proporcionados por los enlaces de
sindicación (RSS, Atom, RDF, ..) de otros sitios
• Podemos organizar las suscripciones en categorías.
• Cada suscripción/hilo y cada categoría configura
automáticamente un bloque.
• Cada suscripción es accesible a través de un URL del
tipo: aggregator/sources/1
• Cada categoría es accesible a través de un URL del
tipo: aggregator/categories/1
• La actualización de los hilos se realiza
automáticamente a través de Cron
Ejercicio: Aggregator
•
•
•
Activar el módulo Aggregator
Crear una categoría llamada Educación
(Configuración>Servicios web).
Agregar 2 hilos en esa categoría:
• CRIF Las Acacias
• CTIF Madrid Norte
•
•
•
Configurar las opciones para que se admita el elemento
<img> (Opciones)
Crear un ítem de menú que permita acceder a la categoría.
Ejecutar CRON
Temas
• Instalación: Descargar, descomprimir y
ubicar la carpeta resultante en
sites/all/themes
• Activación: Construcción del sitio>Temas
• Configuración: Por ejemplo, podemos
hacer que aparezcan los avatares en los
nodos y/o comentarios
Ubercart I
•
•
El módulo contribuido Ubercart es la opción más popular
para construir sitios de comercio electrónico basados en
Drupal.
La instalación de este módulo requiere que esté activado el
módulo Token y además es aconsejable disponer de los
siguientes:
•
•
•
•
•
•
•
•
CCK
FileField
ImageAPI
ImageCache
ImageField
Lightbox 2
Google Analytics
La mayoría de las pasarelas de pago compatibles con
Ubercart requieren que nuestro servidor tenga instalada la
extensión Curl de PHP.
Ubercart II
• Tras instalar Ubercart activaremos sólo los 5
módulos obligatorios del núcleo:
•
•
•
•
•
Cart
Conditional actions
Order
Product
Store
• … y posteriormente añadiremos los demás
módulos que esperemos necesitar.
Ubercart III
1.
2.
3.
Tras instalar Ubercart, configurar las opciones del país: Store
administration>Configuration>Country settings>Import Country.
Configurar las opciones de la tienda: Store administration>Configuration>Store
settings (especialmente el titulo de la tienda y los formatos).
Instalar y activar los siguientes módulos:
•
•
ImageCache
ImageAPI
•
•
4.
5.
ImageAPI GD2
CCK ImageField
Acceder a Store Administration y, en los mensajes de estado (abajo), hacer clic
sobre el enlace para habilitar el uso de imágenes en los productos.
Crear las clases de productos que sean necesarias (Store
Administration>Products>Manage classes). Cada clase es, en realidad, un tipo de
nodo de Drupal. En realidad sólo hay que crear clases si nuestros productos son
de naturaleza o con opciones de comercialización muy diferentes; por ejemplo,
libros en papel y ebooks.
Ubercart IV
1. Crear un producto a través de
Administración de contenido>Crear
contenido>Product. Los productos son
sencillamente nodos.
• SKU: Stock Keeping Unit (número de
referencia).
• MSRP: Manufacturer Suggested Retail
Price (precio recomendado por el
fabricante).
Ubercart V
1.
2.
3.
4.
5.
6.
7.
Obviamente, no resulta cómodo acceder a los productos individualmente
como si fueran nodos, por lo que podríamos crear una vista, que es
precisamente lo que hace por nosotros el módulo adicional Catalog de
UC.
Activar este modulo.
Catalog crea un vocabulario de taxonomía llamado Catalog aplicable a
todas las clases de productos, y al que añadiremos los términos en los
que deseemos clasificar los productos; por ejemplo: libros, discos y
ebooks.
Cada término puede tener asociado una imagen.
El catálogo es accesible añadiendo al URL de nuestro sitio catalog.
Crear un enlace en el menú Navegación que permita acceder fácilmente
al catálogo.
Configurar la vista del catálogo en rejilla (Grid) a través de Store
administration>Configuration>Catalog settings.
Ubercart VI
• Para traducir Ubercart al castellano:
1. Acceder al sitio http://l10n.privnet.biz/
2. Seleccionar Translate y elegir el idioma Spanish y el
proyecto Ubercart.
3. Hacer clic sobre Export y elegir la última release
disponible. En el formato de exportación, seleccionar
Translation y All in one file. Al pulsar Export se
descargará un archivo con la extensión .PO.
4. Construcción del sitio>Traducir interfaz>Importar.
Seleccionar el archivo PO y pulsar Importar.
Backup and migrate I
•
•
•
•
Recordemos que cualquier sitio desarrollado con Drupal es una
combinación de archivos en el servidor y tablas en una base de datos.
Los archivos pueden copiarse y trasladarse fácilmente de un servidor a
otro con cualquier cliente FTP, como FileZilla.
Pero las tablas son un poco más engorrosas de trasladar, y aquí es dónde
va a ayudarnos el módulo contribuido Backup and migrate.
Además, Backup and migrate es muy útil para realizar copias de seguridad
periódicas de las tablas de nuestro sitio. Esta operación la realiza en
combinación con CRON. En versiones anteriores de Drupal era necesario
configurar el demonio CRON en nuestro sitio, y si no nos lo permitían sólo
nos quedaba la opción de recurrir a un módulo contribuido llamado
PoormansCron. Este módulo se ha incluido en el núcleo de Drupal 7, de
modo que ya no tenemos que preocuparnos por este asunto.
Backup and migrate II
•
El procedimiento general para migrar un sitio Drupal de un servidor de origen a
otro de destino (por ejemplo de nuestro servidor local a un servidor de
producción) es:
1. Instalar el módulo Backup and migrate en nuestro sitio de origen.
2. Realizar una copia de seguridad de las tablas del sitio de origen mediante el módulo
Backup and migrate. El resultado será un archivo que podremos descargar.
3. Trasladar todos los archivos de Drupal de un servidor a otro utilizando un cliente FTP
(FileZilla).
4. En el sitio de destino, borrar el archivo sites/default/settings.php y crear un duplicado
del default.settings.php renombrándolo como settings.php.
5. Acceder al sitio de destino y llevar a cabo la instalación de Drupal con normalidad,
introduciendo las credenciales de la nueva base de datos. El resto de datos que
introduzcamos (como las credenciales del administrador) son indiferentes, pues se
sobrescribirán con las originales al realizar la restauración.
6. Activar el módulo Backup and migrate en el sitio de destino.
7. Realizar la restauración de las tablas utilizando el archivo descargado en el paso 2.
8. Revisar que en el servidor de destino estén disponibles módulos como mod_rewrite u
openssl que son utilizados, respectivamente, por las URL limpias y el módulo SMTP
Authentication Support.
Backup and migrate III
•
¿Cómo realizar una copia de seguridad?
• Configuración>Sistema>Backup and Migrate>Backup
• Podemos elegir entre descargar el archivo de copia de seguridad o
almacenarlo en el propio servidor dentro del directorio Manual
Backups Directory o enviarlo por correo electrónico (a través de la
configuración Destinations).
• Para almacenar el archivo en el servidor debemos tener configurada
una ruta para el sistema privado de archivos en
Configuración>Sistema>Información del sitio.
• Si lo deseamos, podemos utilizar la ficha Advanced backup para:
•
•
•
Elegir un método de compresión.
Bloquear las tablas (Lock tables) para evitar una posible corrupción de
datos.
Poner el sitio fuera de línea durante la realización de la copia de
seguridad.
Backup and migrate IV
• ¿Cómo realizar una restauración?
• Configuración>Sistema>Backup and migrate>Restore
• En Opciones avanzadas es aconsejable poner el sitio fuera
de línea durante la restauración.
• Recuérdese que la restauración también incluye las
credenciales del administrador.
• PRECAUCIÓN: Se restauran las tablas con el prefijo
que tenían en el sitio original, no con el que
hayamos configurado durante la instalación del sitio
de destino.
• Solución alternativa: Siguiente diapositiva
Backup and migrate V
•
•
Imaginemos que las tablas de nuestro sitio original utilizaban
el prefijo desarrollo_ y que al instalar nuestro nuevo sitio
hemos especificado el prefijo explotacion_
Al realizar la restauración con Backup and Migrate, el nuevo
sitio no accederá a los datos de las tablas restauradas porque
en su sites/default/settings.php figura como prefijo
explotacion_, pero las tablas restauradas usan el prefijo
desarrollo_ ¿Soluciones?
1. Abrir el archivo sites/default/settings.php del nuevo sitio y cambiar la
línea 'prefix' => ‘explotacion_', por 'prefix' => ‘desarrollo_',
2. Crear en la carpeta raíz de nuestro sitio un archivo llamado
prefijo.php con el contenido de la siguiente diapositiva y acceder a él
para cambiar el prefijo de las tablas desarrollo_ a explotacion_.
•
¿Y si en el sitio original las tablas no tenían prefijo? Aplicar la solución 1
dejando también las tablas sin prefijo en el sitio nuevo.
Backup and migrate VI
<?php
// Cambiar prefijo de tablas
$action =
isset($_REQUEST['action'])?$_REQUEST['action']:false;
if (!$action) {
?>
<form action="" method="get">
Database name: <input type="text" name="db_name" /> <br
/>
Database user: <input type="text" name="db_user" /> <br />
Database user password: <input type="password"
name="db_password" /> <br />
Old prefix: <input type="text" name="old" /> <br />
New prefix: <input type="text" name="new" /> <br />
<input name="action" type="hidden" id="action"
value="data">
<input type="submit" value="Rename" />
</form>
<?php
} else {
$mysql_db = $_REQUEST['db_name'];
$mysql_user = $_REQUEST['db_user'];
$mysql_pass = $_REQUEST['db_password'];
$old = $_REQUEST['old'];
$new = $_REQUEST['new'];
// Open MySQL link
$link = mysql_connect('localhost', $mysql_user, $mysql_pass);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br><br>';
// Select database and grab table list
mysql_select_db($mysql_db, $link) or die ("Database not
found.");
$result = mysql_query("SHOW TABLES");
while ($r = mysql_fetch_array($result)) {
$table_old = current($r);
if($old=='' || strpos($table_old, $old)!==FALSE){
$table_new = $new.str_replace($old, '', $table_old);
mysql_query("RENAME TABLE $table_old TO $table_new");
print "{$table_old} &mdash;&gt; {$table_new} <br />";
}
}
}
?>
Backup and migrate VII
•
¿Cómo configurar la realización de copias de seguridad periódicas?
• Configuración>Sistema>Backup and migrate>Schedules>Add schedule
• Las opciones más importantes son:
•
•
Backup every (periodicidad de la operación; cada día suele ser una buena
opción). Esta periodicidad estará supeditada a la del demonio CRON (véase la
siguiente diapositiva).
Number of backup files to keep: A menos que nuestro espacio de hosting se
esté agotando es aconsejable dejar el valor 0 que no borra ninguna copia de
seguridad. Si elegimos otro valor se irán borrando las copias de seguridad más
antiguas.
• Es aconsejable que el perfil que elijamos tenga activadas las casillas Lock
tables during backup y Take site offline (poner sitio fuera de línea)
•
Es interesante destacar la comodidad de especificar como destino una
dirección de correo electrónico para las copias de seguridad automáticas.
CRON
•
•
•
•
•
•
•
CRON es un demonio que se ejecuta en los servidores web, es decir, una aplicación que está
siempre en funcionamiento, y cuya misión es ejecutar ciertos archivos cada cierto tiempo.
Algunos módulos de Drupal requieren que se realicen ciertas tareas de mantenimiento
periódicamente (por ejemplo, el módulo que comprueba si hay actualizaciones nuevas, o el
módulo Backup and migrate), y se las encargan a un archivo llamado cron.php que se
encuentra en la raíz del sitio.
Podemos ejecutar este archivo cron.php manualmente simplemente accediendo a él
(http://www.misitio.com/cron.php), o bien podemos configurarlo como una tarea para que
se ejecute automáticamente cada cierto tiempo.
En versiones anteriores de Drupal, esta ejecución automática debía configurarse a través de
una tarea Cron, pero el problema era que muchos hostings económicos o institucionales no
permitían a los usuarios configurar tareas CRON.
En Drupal 7 se ha incluido en el núcleo la funcionalidad dél módulo PoorMansCron, que se
explica en la siguiente diapositiva.
Si tenemos instalado el módulo Administration Menu, también podremos ejecutar CRON
manualmente desplegando el menú representado por una gota (en el extremo izquierdo de
la barra de menús).
Si queremos ejecutar el cron.php desde fuera de nuestro sitio (sin utilizar la interfaz de
Drupal) tendremos que utilizar el URL que se nos indica en Informes>Informes de estado
(evitando así que pueda ser ejecutado por terceros)
Poormanscron
•
•
•
En versiones anteriores de Drupal, el módulo contribuido
Poormanscron era la solución para quiénes no podían
configurar CRON en sus servidores; sin embargo se ha
incorporado al núcleo en Drupal 7.
Este módulo ejecuta el archivo cron.php periódicamente
siempre y cuando haya accesos a nuestro sitio web (para que
se active Poormanscron es necesario que alguien acceda a
nuestro sitio, pues no es un CRON real sino un simple módulo
que cada vez que alguien accede a nuestro sitio comprueba
cuánto hace que no se ejecuta cron.php y, si ha pasado más
tiempo del establecido, lo ejecuta igual que si lo hiciésemos
nosotros manualmente pero en segundo plano (de forma
transparente para el usuario)).
En Drupal 7 el periodo de ejecución de CRON se configura a
través de Configuración>Sistema>Cron.
Supercron
•
•
•
•
El módulo contribuido Supercron sirve para saber qué tareas
está pidiendo cada módulo que se ejecuten con cada CRON y
cuánto tiempo consumen.
Una vez activado, hay que copiar el archivo supercron.php de
la carpeta del módulo a la raíz del sitio.
Con Supercron (Configuración del sitio>Supercron)
podremos activar o desactivar las tareas que nos interesen
para incluirla o no en la ejecución de CRON, o invocarlas
individualmente.
Otro detalle interesante es su pequeño Firewall, con el que
podemos permitir la ejecución directa de CRON sólo cuando
la petición proceda de una cierta dirección IP. Esto es
importante porque usuarios malintencionados pueden
cometer abusos.
Actualizar Drupal o un módulo
1. Si se trata de un módulo, desactivarlo (Construcción del
sitio>Módulos).
2. Poner el sitio fuera de línea (Configuración del
sitio>Mantenimiento del sitio).
3. Sobrescribir lo archivos de Drupal/módulo con los de la nueva
versión (si se trata de un módulo es mejor borrar los viejos y
colocar en su lugar los nuevos).
4. Acceder al sitio como administrador (www.misitio.com/user)
y ejecutar una actualización de la base de datos, bien a través
de la dirección www.misitio.com/update.php o bien
ejecutando el comando Run updates del menú con forma de
gota de Administration Menu.
5. Si se trata de un módulo, activarlo.
6. Poner el sitio nuevamente en línea.