Actualizar de Rails 1.1.6 a Rails 1.2.3

Después de haber esperado prudentemente la evolución de los lanzamientos de las veriones de Rails 1.2.x hasta convencerme de su estabilidad, finalmente decidí no postergar más la inevitable decisión de actualizar todos mis desarrollos desde la versión anterior 1.1.6 que tanto me sirvió el último año.

Aprovechando la experiencia de otros antes de mí, mi tarea no fué tan traumática como podía esperar, sin embargo, hay algunas consideraciones personales que debí superar sin ninguna referencia previa que quizás también sean útiles para otros en la misma encrucijada.

Lighttpd 1.4.11 en Ubuntu 6.06

Preparando la actualización del "stack" Ruby on Rails en mis servidores Ubuntu 6.06 "Dapper Drake", de la fiel versión 1.1.6 que me sirvió tanto a su actual versión 1.2.3, me topé con un viejo problema: el paquete de Lighttpd incluído en Dapper sencillamente no funciona para deplegar sitios Rails (ni 1.1.6, ni 1.2.3 como descubrí en el proceso) tal como se distribuye desde sus repositorios, ni en su versión para arquitectura i386 ni para AMD64.

Mi intención es montar mis sitios Rails1.2.3 actualizados en hosts virtuales de Lighttpd, servidos cada uno por sendos procesos FastCGI; una configuración que a pesar de todo me demostró ser bastante confiable. Sin embargo, los problemas inherentes al paquete de Lighttpd 1.4.11 de Dapper a sortear son escencialmente dos:

  • La configuración del módulo fastcgi incluído en ese paquete no sirve.
  • La configuración en el archivo lighttpd.conf para servir imágenes localmente interfiere con las reglas de ruteo de Rails.

Mis extensiones de Firefox

Después de un buen editor de texto (o un IDE si las circunstancias lo ameritan), el mejor amigo de cualquier desarrollador web es sin duda Firefox. Notarán que me refiero a "extensiones" y no a "add-ons" porque uso la versión del navegador empaquetada con Ubuntu 6.06.1 "Dapper Drake", la 1.5.x.

Esto no es para desmerecer de ninguna manera las importantísimas actualizaciones de Firefox 2.0, sino sólo una cuestión de mantener la homogeneidad de mis entornos de desarrollo y producción sincronizados a la actual versión de Ubuntu con soporte extendido para todos sus paquetes de software.

Una vez dejado en claro eso, les presento mis extensiones de Firefox preferidas:

"Parseando" XML con Hpricot

Planeta Linux Shop fué mi primera incursión en la creación de un "mercado espejo", o sea, un sitio que replica los ítems subastados en el popularísimo MercadoLibre usando el feed XML ofrecido por éste último. También fué mi primera incursión procesando una enorme cantidad de XML en un lenguaje al que recién llegaba: Ruby.

El "parseo" del XML lo realicé usando el todopoderosísimo REXML y también su módulo StreamListener, una primera elección lógica, conservadora y "según el manual", pero una tarea casi tan engorrosa como en cualquier otro lenguaje.

Entra Hpricot...

Rake desde Cron

Una de las cosas que inevitablemente nos encontraremos haciendo tarde o temprano es ejecutar alguna tarea de Rake frecuentemente para el mantenimiento de nuestra aplicación Rails. Y obviamente, el mejor lugar para hacerlo es agregándolo como una entrada más en el Cron. Sin embargo, para hacerlo correctamente es necesario tener en cuenta que, como se explica aquí, "cuando Rake se ejecuta desde Cron, el .bash-profile no es procesado, así que es necesario incluir el entorno en tu script Cron".

 

RSS Blog