Han pasado 49 días desde la última actualización de seguridad para Drupal que nos dejó el versionado en la 6.12 / 5.18 y hoy mismo ha salido una nueva versión que corrige vulnerabilidades.
Este nuevo parche proporciona una solución para varias debilidades de seguridad en el core de Drupal

  • Un problema en la obtención de los argumentos de la URL en el módulo forum de la versión 6.x hace que nuestro sitio sea vulnerable a Cross Site Scripting.
  • Al modificar el formato de entrada de los comentarios, si estos tienen un formato demasiado permisivo (como full html o incluso php filter), permite, en Drupal 6, que los usuarios puedan inyectar código a través de sus firmas.
  • Si un usuario se equivoca en los datos de login en una página que contiene tablas con cabeceras "ordenables", los datos son incluidos en la tabla, haciéndolos visibles a través de links a usuarios maliciosos, esto pasa tanto en drupal 5 como drupal 6.

Además, la versión 5.19 contiene la corrección de dos bugs mas y la 6.13 contiene hasta 24 modificaciones, entre corrección de bugs y temas de documentación.

Como siempre, es muy recomendable actualizar cuanto antes para evitar problemas, si no podemos aplicar la actualización completa, al menos sí el parche, éste para drupal 6.12 y éste otro para drupal 5.18.

Si tenéis dudas de cómo se aplican estos parches, en drupal.org hay un paso a paso.

Estas semanas en Neurotic están siendo muy ajetreadas, ayer por la mañana Jordi y yo estuvimos en la Corporación Catalana de Medios Audiovisuales (CCMA) de la Generalitat de Cataluña realizando una presentación sobre Drupal.
Fue una charla muy genérica ante el equipo técnico de desarrollo web la CCMA, jefes de proyecto y de producto, nos centramos en el funcionamiento interno de la herramienta, en cómo se adapta a soluciones profesionales y terminamos mostrando unos cuantos sitios web hechos con Drupal. La duración de la charla estaba prevista en cuatro horas, pero finalmente la acabamos en tres.

La he subido a Slideshare.net y aquí la podéis ver:

A esta presentación se le sumarán cuatro sesiones formativas que impartiremos entre Carlos y yo durante esta semana y la que viene.

Si os gusta el diseño de la presentación, es mérito de Juan Carlos, que se lo ha trabajado mucho estos días.

El próximo sábado 13 de junio tendrá lugar una sesión informativa sobre el módulo Panels en el Citilab de Cornellá, a cargo de Robert Garrigós, presidente de la asociación drupal.cat.

En la primera parte de la sesión, de 10 a 12, Robert hará una introducción práctica al módulo Panels y de las 12 a las 14 se hará una tabla redonda "PANELS NO, PANELS SI!" en la que se entablará un debate para exponer los puntos débiles y fuertes del módulo, casos de éxito, alternativas, etc.

Una sesión muy interesante para los que conocen Panels, ya que estoy seguro que Robert ofrecerá una muy buena visión del módulo como para que los que no están tan familiarizados con el mismo, entre los que me incluyo, que seguro que podremos aprender mucho. Más información en drupal.cat

Y recordad, el miércoles 10 junio es la III edición de la drupalada!,

Hace ya más de dos meses de la última drupalada y ya va tocando una nueva edición, con una novedad: ¡cambiamos de ubicación!, esta edición será en el George Payne, en la misma plaza Urquinaona número 5 el próximo miércoles 10 de Junio a la hora de siempre, las 19:00.

La drupalada es una reunión informal de gente interesada en el mundo del CMS Drupal, desarrolladores, webmasters, emprendedores, diseñadores, y gente curiosa en general, si tenéis libre la tarde del miércoles, estáis invitados a pasaros por el George Payne a compartir un rato agradable con nosotros.

El hilo conductor de la última edición fue el aprendizaje de Drupal, y creo que fue una buena forma de romper el hielo, ¿qué os parece Drupal y la crisis para esta ocasión?, ¿habéis notado un parón en los proyectos drupaleros por la situación económica? ¿o todo lo contrario, la gente tira más hacia Drupal y el software libre cuando la economía aprieta?


Cada vez somos más los que nos juntamos alrededor de Drupal y unas cervezas, así si estáis cerca de Barcelona y os mola Drupal y/o la cerveza, ¡no tenéis excusa!

No es imprescindible, pero si os unís al grupo de facebook, podréis apuntaros al evento, y de esta forma sabremos más o menos cuánta gente va a venir.

Ayer le tocó el turno a la configuración de la librería GD para PHP en Ubuntu y Windows, y hoy le dedico una entrada a la configuración de un entorno de desarrollo AMP en Drupal (Apache + MySQL + PHP) en Mac OS X, probado para Leopard.

Primer paso, activación del servidor web Apache

Mac OS X lleva un servidor Apache instalado por defecto, solamente es necesario activarlo para poder trabajar con él. En el caso de Leopard, la versión de apache es la 2, por lo que ya está actualizado. Para activarlo, deberemos ir a Preferencias de Sistema y allí seleccionamos "Compartir web".

Imagen_2_0.png

Segundo paso, instalación y configuración de PHP

Los siguientes pasos son un poco más complejos, si no necesitamos soporte GD para nuestro sitio web, podemos seguir los pasos que recomienda Asier y activar la extensión por defecto de PHP que viene con el sistema operativo, editamos con un sudo el fichero /etc/apache2/httpd.conf y descomentamos la línea referente a la extensión de PHP.

sudo nano /etc/apache2/httpd.conf

La línea
#LoadModule php5_module libexec/apache2/libphp5.so

Debe quedar así
LoadModule php5_module libexec/apache2/libphp5.so

Si necesitamos soporte GD, el paquete de Mac no viene compilado por defecto, por lo que la instalación será un poco diferente. No es necesario modificar el fichero anterior, sino que nos podemos descargar una versión ya compilada con este soporte desde entropy.ch y ejecutar el fichero .dpkg que ya configurará el entorno de apache para tener soporte de PHP con soporte de GD.

En muchas instalaciones web necesitaremos las librerías gráficas GD para mostrar y manipular las imágenes presentes en nuestro sitio.

¿Qué son las librerías GD?

Las siglas GD proceden originalmente de "gif draw" o "graphics draw" y son unas librerías de código abierto desarrolladas en C para la creación dinámica de imágenes en aplicaciones. Entre otros muchos formatos, permiten manipular al vuelo imágenes PNG, JPEG y GIF.

¿Para qué se necesitan en Drupal?

El uso más común en Drupal se encuentra en el módulo ImageAPI, que utiliza opcionalmente las librerías GD2 para gestionar la manipulación de las imágenes. ImageAPI por sí solo no hace nada, sino que proporciona un API que es utilizado por otros módulos, como ImageCache o ImageField.

¿Cómo sé si las tengo instaladas?

La forma más rápida es crear un fichero con el siguiente código y consultarlo:
<?php
phpinfo();
?>

Para Drupal, solamente tendremos que identificarnos con un usuario con permisos de e ir a Administrar » Informe de Estado y hacer click en el link de la versión de PHP:
http://www.misitio.com/admin/reports/status/php

Deberemos ver algo como esto en la página resultante, que nos indica el estado enabled para las librerías GD
gd-support.png

Si no encontramos referencia a GD en nuestro phpinfo, deberemos instalarlo.

También es posible que tengamos unas librerías preconfiguradas que no incluyen toda la funcionalidad que necesitamos, esto suele pasar cuando utilizamos la versión oficial, en lugar de la "bundled", por lo que es recomendable instalar esta última. En ese caso el propio Informe de Estado, Drupal nos advierte de este problema:

Imagen_2.png

De la charla de Views 2 que hice en drupal.cat salieron muchos ejemplos interesantes de utilización de vistas que quiero ir mostrando en diferentes videos, hoy es el turno de un ejemplo de vistas con relaciones y argumentos.

¿qué son los argumentos y las relaciones?

En otro artículo anterior ya he ofrecido mi definición de argumentos para vistas en drupal, vamos ahora a definir qué es una relación.
Las relaciones en las vistas para drupal permiten mostrar contenido de varios origenes diferentes que tengan alguna relación entre sí. Normalmente querremos utilizar esta funcionalidad de Views 2 para mostrar tipos de contenido que se relacionan entre sí mediante node reference o contenido de usuarios relacionado con user reference.

Para nuestro ejemplo, he partido de un tipo de contenido Lugar, que tiene información sobre diferentes lugares y un tipo de contenido Viaje, que cada usuario crea cuando viaja a un Lugar y que tiene un node reference apuntando a dicho Lugar. La vista que vamos a crear nos permitirá mostrar los lugares que ha visitado cada usuario, un contenido que sin utilizar relationships sería mucho más complejo y laborioso de mostrar.

¡todo se vé más fácil en un video!

Nota importante: Blip.tv no soporta todavía los subtítulos automáticos, por lo que antes de reproducir el video es conveniente que pulseis en CC y seleccionéis Spanish.

recursos

Para poder exportar / importar los tipos de contenido, es necesario tener activado el módulo Content Copy, que viene con CCK.
Es recomendable tener el módulo ImageCache activado para cargar la vista.

Ayer sábado 16 de Mayo Modesto y yo fuimos a la quedada drupalera que se había organizado en Madrid. Fuimos y volvimos en avión en el mismo día, pero la paliza mereció la pena ya que lo pasamos en grande. Nos reunimos cerca de 20 drupaleros para charlar de Drupal, software libre y bueno, de un montón de cosas más acompañados de unas cañas, tapitas y una agradable comida.

Gracias a Oskar, Paco de Arena Futura y UrbanMovil, pudimos disfrutar de una vuelta por Madrid en Segway, ¡fue muy divertido!

Paseo en Segway

Si tenéis más fotos, podéis subirlas a flickr con el tag drupalmadridmayo2009

El tiempo ayudó mucho y disfrutamos de una estupenda comida en una terracita.
Drupal en terracita
Foto cortesía de reyero

Tuve la oportunidad de conocer en persona a mucha gente con la que había tenido contacto solamente online, como Oskar Calvo, Manuel, Daniel Primo, Jose Reyero, Fernando y conocer a mucha gente interesante relacionada con Drupal, como Elizabeth y Ricardo, de idealista.com, Ramón Ovelar y mucha más gente.

Esperemos fijar esta fecha para repetirla el año que viene!

También hablan de la quedada:
Reyero.net

Apenas nos habíamos recuperado de la última actualización y toca nueva versión, tanto en 6.x como en 5.x.
Parece ser que el último parche (http://drupal.org/node/449078) arreglaba problemas de XSS (Cross Scripting), pero no solucionaba por completo la vulnerabilidad y han tenido que completarlo con esta actualización.
La versión 6.12 además del parche de seguridad, incluye cuatro soluciones a errores menores y la 5.18 incorpora cinco correcciones.
Es muy recomendable actualizar cuanto antes para evitar problemas con la vulnerabilidad de seguridad, si no podemos aplicar la actualización completa, al menos sí el parche, éste para drupal 6.11 y éste otro para drupal 5.17. Ojo, es necesario haber actualizado antes a 6.11 o 5.17, no se deben aplicar estos parches a versiones anteriores.

Si tenéis dudas de cómo se aplican estos parches, en drupal.org hay un paso a paso.

Llevabamos tiempo sin tener que actualizar nuestros sitios en Drupal 6.10, en concreto desde el 26 de Febrero, y 63 días después sale una nueva versión por motivos de seguridad. Creo que es un timing más que razonable.
En esta ocasión parece ser un problema de Cross Site Scripting (XSS) que afecta a los formularios presentados en portada (al de login no le afecta) cuando se navegan los sitios en Internet Explorer 6 o 7, tenéis más detalles en el aviso de seguridad.
Las opciones disponibles son las habituales, actualizar el sitio a Drupal 6.11 en caso de disponer de una 6.x o a Drupal 5.17 en caso de tener instalada una 5.x. En caso de que no queráis actualizar o no os venga bien en este momento, es muy recomendable que apliquéis el parche de seguridad hasta que podáis actualizar la versión completa. Para Drupal 6.10 es este, y para Drupal 5.16 este otro.

Si tenéis dudas de cómo se aplican estos parches, en drupal.org hay un paso a paso.

La nueva versión de Drupal 5.17 además incorpora 9 fixes adicionales y la de Drupal 6.11 cerca de 40.