Hace poco tuve la necesidad de crear una nube de tags con Rails, y la manera más sencilla que encontré está explicada en esta entrada en Juixe TechKnow.

Si seguís el Post, lo primero que hace es añadir un método al modelo Tag para acceder a los datos. En mi caso, como prefiero no acceder a los datos desde el modelo, sino desde un controlador, o un helper, lo modifiqué para que el helper que elige el tamaño del tag, fuera el que directamente cargara el listado, liberando al modelo de esa carga:

app/helpers/application_helper.rb:

Por lo demás, es una manera sencilla de crear una nube de tags, y con pequeñas modificaciones, no tiene por qué ser necesariamente de “Tags”, sino que la podemos crear de cualquier entidad que tengamos.

Dedico este post a tratar de desarrollar un tutorial introductorio al uso de la nueva versión 2.1 del framework de Rails. Me he decidido a postearlo porque cuando estuve buscando información sobre tutoriales y how-tos me encontré con mucha, pero casi siempre en inglés, así que con esto espero aportar mi pequeño granito de arena a la comunidad hispana de desarrolladores en RoR.

El tutorial se ha desarrollado ad-hoc para impartir el taller “Programar una aplicación Web 2.0 con Ruby on Rails”, dentro del curso “La web 2.0: retos y tecnologías para la internet de nueva generación“, que he impartido en la Universidad de Verano de la Universidad de Alicante, entre el 21 y el 25 de julio de 2008. Aunque está colgado en la red social del curso, voy a postearlo aquí para que quede de manera permanente.

No pretendo introducir mucha teoría sobre el funcionamiento de Rails, sino que nos centraremos en la parte práctica, con la idea de que puedas hacer el tutorial, y si ves que Rails te gusta, puedas seguir profundizando en él y tengas algo de código que funciona para trastear con él. Recomiendo encarecidamente el libro “Desarrollo web ágil con Rails, 3ª edición” (en beta aún. Se espera que salga en oct’08) para profundizar en las entrañas de Rails, y siempre el wiki de la comunidad de desarrollo de Rails.

Requisitos para seguir el tutorial

Requisitos necesarios para hacer el tutorial:

  • Tener instalada la última versión de Ruby On Rails (2.1.0)
  • Instalar como plugin la BD SQLite3: ejecutar desde la línea de comandos (después de instalar Rails): gem install –remote sqlite3-ruby
  • Utilizamos para los ejemplos el IDE Aptana, con el plugin de Rails instalado, aunque se podría usar cualquier otro editor porque incluyo cómo se realizan las tareas sin utilizar Aptana.

En el aula donde se impartió el taller ya estaba instalado todo el software necesario para el desarrollo del taller, así que no está incluido en el tutorial. Aún así, intentaré postear en el futuro una pequeña guía de instalación de Rails, aunque es muy sencillo si seguimos los pasos que nos indican en la propia página de descarga de Rails.

Por otro lado, usamos SQLite3 para las pruebas, por no tener que ir trasteando con MySQL y no complicarnos con que alguno de los 50 alumnos pudiera tener algún problema, pero se podría usar MySQL sin problemas, simplemente modificando el archivo de configuración de la BD, como en este ejemplo.

El tutorial está desarrollado en Windows, pero no deberíamos de tener ningún problema para seguirlo en otras plataformas, instalando las versiones correspondientes a cada una, claro.

Contenido del tutorial

A lo largo del tutorial trataremos de desarrollar un pequeño Blog (qué original, ¿verdad?), donde podamos categorizar y comentar los posts. Además, diferenciaremos la parte pública donde se publican los posts, de la parte de privada de gestión de categorías y edición de posts, que protegeremos con contraseña.

El tutorial está dividido en varias secciones, que iré posteando conforme vaya recopilando:

Otros tutoriales recomendables, y que me han servido de inspiración:

Espero que lo encontréis interesante!

Acabo de descubrir el nuevo software de MS para la edición de posts, Live Writer, (via Genbeta) y lo estoy utilizando para editar este mismo post, a modo de prueba en tiempo real.

Características

Mis primeras impresiones son bastante buenas: me permite editar el post utilizando el mismo aspecto visual con el que se publicará finalmente, pero en modo de edición, ya que es capaz de reconocer el estilo visual del blog, en mi caso, Blogger. También soporta otros proveedores de blogs, como Windows Live Spaces, SharePoint, WordPress, Blogger, LiveJournal, TypePad, Moveable Type o Community Server.

Otra característica reseñable, es que permite modificar una entrada ya publicada directamente desde Writer, muy útil cuando nos hemos equivocado, o nos damos cuenta de que algo falla justo después de la publicación, o cuando un lector nos avisa, sin necesidad de acceder al blog, validarnos, buscar la entrada y modificarla en el editor de Blogger.

Por defecto, dispone de un editor suficientemente completo para la mayoría de posts que se generan en un blog: hipervínculos, imágenes, tablas, etiquetas, formatos de texto, citas, etc. Y añade además la posibilidad de insertar un mapa (Live Search Maps, claro…) o un video (desde url, o de SopaBox, claro…)

Extensiones

A todo esto, le añadimos un par de extensiones que podemos descargar adicionalmente, para insertar fotos de nuestra cuenta de Flickr, y una extensión para Firefox “BlogThis”, y es probable que no necesitemos mucho más.

La edición de los posts offline también es una característica a tener en cuenta, ya que no siempre tenemos a mano un punto wifi del que echar kbs… De esta manera, editamos el post, y al llegar a casa, sólo hay que darle a “Publicar”… del resto ya se encarga Writer.

Disclaimer: no tengo nada que ver con Microsoft, más allá de que uso su sistema operativo. Procuro navegar con Firefox 2, excepto cuando Explorer es imprescindible, y leo mi correo con Thunderbird+Gmail….