drupal
Para enviar los emails de nuestro drupal utilizando smtp disponemos del modulo SMTP Authentication Support. A continuación os muestro como instalarlo. (Como siempre la última versión lo tenéis en mi wiki)
Instalación
Instalamos el plugin: >> wget http://ftp.drupal.org/files/projects/smtp-6.x-1.0-beta3.tar.gz >> gzip -d smtp-6.x-1.0-beta3.tar.gz >> tar -xvf smtp-6.x-1.0-beta3.tar
Este plugin usa una librería llamada phpMailer. Tendremos que instalarla también. Ojo!! tuve que bajar una versión específica (en mi caso la versión 2.2.1 para php 5):
>> cd smtp >> mkdir phpmailer >> cd phpmailer >> wget http://fastbull.dl.sourceforge.net/sourceforge/phpmailer/phpMailer_v2.2.1_.tar.gz >> gzip -d phpMailer_v2.2.1_.tar.gz >> tar -xvf phpMailer_v2.2.1_.tar >> cp ../class.phpmailer.php.2.2.1.patch . >> patch -p0 < class.phpmailer.php.2.2.1.patch patching file class.phpmailer.php >> rm phpMailer_v2.2.1_.tar

Ya hace un tiempo que me empezó a cansar la apariencia que le puse a introBlog. Y como hace unas semanas el blog cumplió un año nada mejor que regalarle que cambiarle de aspecto. Aún hay algún cambio que quiero hacer, pero son cambios pequeños. Si hay cosas que os gusten o no, lo podéis decir y depende de lo que sea lo haré o no.

Para poner marcas de agua podemos usar el módulo ImageCache Actions de drupal. Vamos a usar los siguientes módulos:
- ImageAPI (lo necesita el módulo imageCache).
- ImageCache
- Imagecache Actions
Lo primero que tendremos que hacer es descargarlos y descomprimirlos en nuestro drupal.
Una vez descargados y descomprimidos los activaremos. Vamos al menú Administer, Site building y Modules y activamos primeramente el módulo ImageAPI y le damos a Save configuration. Luego activamos el módulo ImageCache y le damos otra vez a Save configuration. Por último activaremos el módulo Imagecache Actions.
Ahora tendremos que elegir que herramienta usar para tratar las imágenes. Tenemos dos maneras: ImageMagick o GD2. Con ImageMagick me daba un error así que decidí usar GD2. Para usar GD2 tendremos que activar el módulo ImageAPI GD2, si decidimos usar ImageMagick tendremos que activar el módulo ImageAPI ImageMagick.
Ya tenemos el módulo ImageCache funcionando, para poder poner marcas de agua tendremos que activar el módulo Imagecache Canvas Actions.
Por último solo nos falta una cosa, tenemos que activar el módulo ImageCache UI para tener un menú gráfico para hacer las cosas (sin este menú no se como se hará todo esto).
Ahora vamos al menú Administer, Site configuration e ImageAPI. Ahí podremos decidir que módulo queremos usar para tratar las imágenes (en el caso que tengamos los dos módulos GD2 e ImageCache).
Después iremos al menú Administer, Site building e ImageCache. Si no hemos creado ninguna regla antes nos pedirá que pongamos un nombre para la primera regla Preset Namespace. Sino le daremos a Add New Preset, nos pedirá el nombre del Preset Namespace y le damos a Create New Preset. Entre la acciones que nos saldrán tendremos que seleccionar Overlay: file image to canvas (watermark), entonces nos dejará meter ciertos datos para configurarlo. El único que he tocado yo ha sido el file name en el que le indico la imagen con la marca de agua (yo usé un png con transparencia). Una vez configurada la acción le damos a Add action.
Para aplicar estas acciones tendremos que añadir en la URL de la imagen /imagecache/NOMBRE_DE_TU_PRESET_NAMESPACE. Por ejemplo si tenemos una imagen
si la quisiéramos ver con la marca de agua definida en una preset namespace de nombre agua sería usando esta url
.
Ya tenemos nuestras imágenes con marcas de agua. Como siempre la última versión de como hacer esto y con soluciones a problemas en mi wiki.
- Inicie sesión o regístrese para enviar comentarios

No todos los themes de drupal muestran la fecha de creación de cada artículo, pero podemos modificarlos fácilmente para mostrarla. Esto ya lo hice otra vez a petición de sucotronic, pero al cambiar al theme actual este tampoco lo mostraba y de nuevo sucotronic me lo ha vuelto a pedir. Para que no se me olvide voy a deciros como hacerlo.
Tendremos que ir a la carpeta de themes de nuestro dupal, luego a la carpeta del mismo nombre que el theme que estamos usando y dentro de ella buscamos el fichero de nombre node.tpl.php (este archivo es el que se encarga de pintar 1 artículo). Lo abrimos, buscamos donde queremos que nos muestre la fecha y añadimos lo siguiente: <?php print $date; ?>. Por ejemplo, un contenido de este fichero que muestre la fecha:
<?php if ($page == 0) { ?><div class="nodeTitle<?php if (!$picture) {print ' nobreak';}?>"><a href="<?php print $node_url?>"><?php print $title?></a></div><?php print $date; ?><?php }; ?>
<?php if ($submitted) { ?><div class="submitted"><?php print $submitted?></div><?php }; ?>
<div class="content">
<?php if ($picture) { ?>
<?php if ($page == 0) { print '<div class="clearpic"></div>'; } ?><?php print $picture; ?>
<?php } ?>
<?php print $content?></div>
<div class="linkswrap">
<?php if ($links) { ?><div class="postlinks"><?php print $links?></div><?php }; ?>
<?php if ($terms) { ?><div class="taxonomy">Tags: <?php print $terms?></div><?php } ?>
</div>
</div>
Lo guardamos y a partir de ahora nos mostrará la fecha de creación de cada artículo.

Nuevo filtro de spam
Últimamente mi blog ha estado sufriendo varios comentarios de spam. Para el problema del Spam tenía puesto el módulo Akismet pero no se porque no me funcionaba (No se si sería que lo tendría mal configurado, que tendría algún bug para mi versión de drupal, ...). Por ello empecé a buscar otras soluciones. Encontré módulos que utilizaban servicios web para detectar el spam:
También encontré sistemas que pedían siempre un captcha (Imagen de un código que tienes que introducirlo para certificar que eres una persona y no un bot) como los siguientes:
- ReCAPTCHA
- CAPTCHA
- Como Akismet no me funcionaba, decidí probar con Mollom, este módulo se conecta a su servicio web para comprobar si cada comentario es spam y aveces pide que introduzcas un CAPTCHA si tiene dudas. En menos de 1 día he comprobado que ya ha detectado 2 comentarios de spam, así que funcionar me funciona bien.
Nombrado de las url
Por defecto drupal usa los enlaces para acceder a cada contenido con el id de este, lo cual hace que los enlaces sean muy poco descriptivos. Con el módudo Path podemos crear un alias para cada enlace que muestre el titulo de cada contenido con la url. Antes los artículos tenían la siguiente url:
Ahora los enlaces a los artículos muestran el título del artículo en la url de la siguiente manera:
Luego con el módulo Pathauto esto se hace automáticamente cada vez qeu ponga un artículo. También necesitaremos el módulo Token ya que es una dependendia del Pathauto.
Enlaces a servicios
Otra de las funcionalidades que he puesto a sido añadir en la vista de los artículos varios enlaces a servicios de internet para añadir el articulo a nuestros favoritos o redes sociales (delicious, digg, technorati, facebook, ...) con el módulo Service links, como podemos ver en la siguiente imagen:

El módulo permite añadir enlace a las siguientes redes:
- del.icio.us
- Digg
- StumbleUpon
- Propeller
- ma.gnolia.com
- Newsvine
- Furl
- Yahoo
- Technorati
- IceRocket
- Inicie sesión o regístrese para enviar comentarios

Introducción
Siempre es bueno estar actualizado con las últimas versiones y en drupal es muy fácil actualizar un módulo. He diferentes maneras de actualizar los módulos.
Manual
La forma de actualizar un módulo manualmente es por medio de la consola. Los pasos serían: bajarse la última versión del plugin, descomprimirlo y ejecutar la tarea de actualización de drupal. Aquí os pongo un ejemplo de la actualización del módulo xmlsitemap:
>> cd TUDRUPAL/sites/all/modules
>> wget http://ftp.drupal.org/files/projects/xmlsitemap-6.x-0.x-dev.tar.gz
>> gzip -d xmlsitemap-6.x-0.x-dev.tar.gz
>> tar -xvf xmlsitemap-6.x-0.x-dev.tar
Ya lo tenemos en la carpeta de módulos de drupal. Ahora tenemos que ir a la url de nuestro drupal y acceder al fichero update.php para actualizar la base de datos de drupal por si la nueva versión del módulo requiere modificaciones en esta. Por ejemplo:
http://TUDRUPAL.com/update.php
Le damos al botón continuar y luego al botón update. Ya tenemos el módulo actualizado.
Con Plugin Manager
Plugin Manager es un plugin de drupal que te permite gestionar los plugins a través de las páginas de administración de drupal. Una de las tareas que permite es la de actualización de los módulos.

Cada día tengo más portales web que gestionar. Y según pasa el tiempo me he encontrado un gran problema cuando hay que actualizar el drupal, módulos o themes. El problema está en que lo tengo que hacer para cada portal. Por esto me he dispuesto a aprender la posibilidad de tener varios portales a partir de un solo drupal.
En la carpeta raíz del drupal, podemos encontrar una carpeta de nombre sites. Dentro de el pondremos una carpeta para cada portal. Hay dos carpetas especiales: "default" que es donde irá a parar salvo que exista un sitio definido para ese subdominio, y "all" que es la configuración que afecta a todos los sitios definidos. El nombre de estas carpetas serán el dominio del sitio. Por ejemplo: para http://introblog.intropedro.com tendríamos que tener la carpeta system.
El proceso es el siguiente:
- Creamos una carpeta con el nombre del dominio en la carpeta sites. Por ejemplo: sites/prueba.intropedro.com)
- Copiamos un archivo settings.php en la carpeta sites/prueba.intropedro.com/settings.php
- Editamos el fichero settings.php y cambiamos la línea siguiente:
# $base_url = 'http://www.example.com'; // NO trailing slash!
por esta otra:
$base_url = 'http://prueba.intropedro.com';
- Creamos las carpetas files, modules y themes en la carpeta sites/prueba.intropedro.com.
- Accedemos a la url http://prueba.intropedro.com y nos aparecerá el formulario de instalación, ponemos los datos y los guardamos.
- Accedemos otra vez a la url http://prueba.intropedro.com, creamos una cuenta para que sea la cuenta de administrador y vamos a administración, File system y en File system path ponemos sites/prueba.intropedro.com/files
Ya tenemos nuestro sitio construido, tendremos que hacer estos pasos cada vez que queramos crear una web.
Los modulos y themes que se encuentren en la carpeta modules de un sitio, solo los verá ese sitio, y los que estén en la carpeta sites/all o las del raíz, los verán todos los sitios. Esto solo es la punta del iceberg, ya que puedes hacer que varios sitios compartan información, por ejemplo podrían compartir los usuarios (imaginaos que vuestra introcuenta sirviera para entrar en todos portales que hiciera yo). Aunque para compartir información tendrian que compartir base de datos. Esto lo miraré otro día.
- Inicie sesión o regístrese para enviar comentarios
Y sigo construyendo el blog, esta vez con drupal 6. ¿Que mejoras trae esta versión de drupal?:
- Instalación Simplificada.
- Publicación Multilingüe.
- Rica Interfaz de Usuario.
- Creación de Temas sin Programación.
- Notificación de Actualizaciones.
- Dramáticas Mejoras de Rendimiento.
Entre otras cosas. Solo encuentro un problema: los módulos de la versión anterior no son compatibles con el core de la versión 6. Esperemos que vayan sacando versiones de los módulos para esta última versión de drupal.
- Inicie sesión o regístrese para enviar comentarios















