Tag Archives for Rails

Probando Mephisto

Me he instalado en mi Mac Mephisto para probar este sistema de blogs desarrollado en Ruby on Rails. La instalación ha sido muy sencilla y con dos comandos ya lo tenía funcionando.

La realidad es que es un sistema que promete y además para los que somos apasionados de Rails nos gusta mucho ya que nos podemos permitir el lujo de toquetearlo. Aunque todo se ha de decir que lleva un sistema de plantillas basado en liquid que permite personalizar cualquier tema a nuestro antojo.

Como cosas interesantes también soporta plugins, secciones, assets ( cualquier elemento gráfico) y otras cosas. Con el tiempo y la implantación de Rails podrá ser un contrincante de Wordpress.

Para instalarlo localmente: ( instalar Rails en nuestra máquina)

  1. Descargamos el código y lo ponemos en una carpeta donde esten nuestras aplicaciones Rails
  2. Creamos una base de datos llamada mephisto_development en MySql
  3. Renombramos database.example.yml a database.yml ( dejando sólo las opciones MySql)
  4. Congelamos Rails edge : rake rails:freeze:edge ( dentro del subdirectorio de nuestra aplicación)
  5. Ejecutamos: rake db:bootstrap ( subdirectorio de nuestra aplicación)
  6. arrancamos el servidor con : ruby script/server (desde el subdirectorio de nuestra aplicación)
  7. Vamos con el navegador a la dirección : http://localhost:3000/admin y entramos con el usuario admin y contraseña test.

Lo he añadido a mi lista de aplicaciones ejemplo para aprender Rails . Ya que tenemos acceso a su código vía SVN.

Para los novatos en Rails ver estas listas con los elementos para empezar.

Encontraréis unas instrucciones de instalación en public/install.html.

Mephisto

Rails 1.2.6 disponible

Acabo de actualizar a esta nueva versión de Rails utilizando el comando:

gem install rails --include-dependencies
RAILS_GEM_VERSION = '1.2.6' #en config/Environment.rb
rake rails:update:configs

Se trata de una versión que trae mejoras de seguridad y mantenimiento. Sin duda recomendable de migrar para estar preparados para la versión 2.0.

Vía

Resumen de la conferencia Rails hispana 2007

Han sido dos días muy intensos y vuelvo con muchas cosas en la cabeza. Sin duda la organización ha funcionado a la perfección y el nivel ha sido muy bueno.

Podría hacer un post de 10.000 líneas, pero sería imposible sintetizar la cantidad de información que hemos recibido.

Para los que no hayan podido asistir podéis encontrar información en:

Web oficial | http://www.conferenciarails.org

Fotos en Flickr | http://www.flickr.com/groups/conferenciarails/

Durante la conferencia nos dijeron que pondrían todas las ponencias ( transparencias) y se grabaron 2 de las 3 salas. Hubo un fallo técnico de última hora con una de ellas. Supongo que pronto estarán en la web oficial.

Lo mejor

Si alguien me preguntase esto tendría problemas para contestarlo ya que la gente, la organización y los ponentes han estado muy bien.

Las ponencias

Lógicamente sólo estuve en las comunes y en una tercera parte de las otras. Por temas de viajes me perdi la keynote que estaba Obie Fernández. Me han comentado que estuvo bien y fue divertida.

A continuación voy a comentar algunas impresiones de las que yo fui. Esto no quiere decir que las otras no fuesen interesantes pero aún no he podido ver los vídeos.

1er Día

Sesión inagural

La presentaban Agustín Cuenca ( ASP Gems) y Luis Villa ( The Cocktail). Dos empresas punteras españolas que están desarrollando con estas tecnologías. Dierón una vision muy clara de la situación de Rails y que existen grandes proyectos que ya corren sobre esta Framework . Ejemplos como Slideshare, Dopplr.com, Facturagem.com, Unvlog.com, The-shaker.com, etc….

Tambien comentaron que hay muchas grandes empresas que están utilizando estas tecnologías como Oracle, IBM y otras….

Hablaron de la comunidad Rails comentando que es un Tesoro y otras muchas cosas interesantes.

Para los que esten interesados en trabajar con Rails podéis contactar con ellos ya que están interesados en contratar más gente.

APIs de IDENTIDAD

La presentaban Juan Gallego y Miguel Ángel Martínez de Flowers in Space. Comentaron OpenId como sistema de identificación general y  que existe un plugin que funciona de maravilla para implementarlo,

Algo de Yadis que es multisistema de indentificación.

OAuth que sirve como mecanismo para autorización de aplicaciones y que aún está en desarrollo. Existe un lugin en desarrollo. Tiene apoyo de grandes empresas.

OpenSocial que está en fase beta y es la API para las redes sociales.

Una presentación muy bien estructurada y con trozos de código. Dando todos los detalles para que podamos probarlo.

Rails en el código

Xavier Noria empezó explicando los elementos que componían una aplicación Rails y luego describió el funcionamiento de una aplicación Rails desde que arrancamos el servidor hasta que se muestra la página. Fue interesante ya que siguió paso a paso todo el proceso explicando conceptos importantes como las Constantes y otros elementos. Muy didáctica para aprender como funcionan las tripas de Rails.

Más allá del Testing

De la mano de Sergio Gil y Christos Zisopulos  explicaron todos los enfoques y técnicas que hay sobre el testing. ¿Si hacer testing?¿Antes o después del código? Me gustó dos frases suyas: ” El buen código es fácil de testear” y “El código fácil de testear es bueno”. Ley de Deméter. Y finalmente algunas herramientas como rcov, leckle, Integración continua con CruisecontrolRB. El testing es algo que a muchos nos cuesta hacer, pero sin duda los profesionales lo encuentran como un elemento indispensable.

Caché en Rails

Fernando Blat nos explicó todas las alternativas de Caché que tenemos en Rails y fuera de Rails. Fue interesante ya que valoró todas las opciones. Finalmente comentó una evolución que él ha hecho del caché con versionado para evitar el tiempo de borrado del caché antiguo. Parece una propuesta muy buena, pero ha tenido que modificar código de Rails para su implementación. Estaría bien que existiese un Plugin fácil de implementar.

Escalabilidad en Rails

Pablo A. Delgado hizo una charla muy divertida e interesante demostrando que Rails Escala si lo preparamos para ello. Fue muy pragmático y demostró sus opiniones con ejemplos reales.

Habló del servidor NGINX como una opcion interesantísima. Sobre todo si le añadimos el balanceo con el parámetro fair.

Comentó que fastcgi hay que erradicarlo.

Mongrel comentó que en una parte de su proceso no es multi tarea y tiene procesos que consumen mucho como la Route Recognition. Siempre que podamos ir directamente a páginas estáticas lo hagamos.

Uploads comentó que son machaca Mongrels y habló de la alternativa de utilizar MERB para liberar a Mongrel. Además dijo que para gestionar el estado de todas las cargas podemos utilizar drb.

Tener en cuenta la limitación de los sistemas operativos en cuanto a número de archivos por subdirectorio y propuso un método para nombrar los archivos.

En cuanto a la búsqueda hizo una demostración de Sphinx Search que indexó una cantidad bestial de información en pocos segundos.

Todas estas herramientas y configuraciones comentó que las tiene en su proyecto fotolog.com.ar y nos pudo mostrar la velocidad de sus transacciones. Más real no podía ser.

Mesa redonda sobre web frameworks

Fue muy divertida, en especial el defensor de Django (Python) Marcos Sánchez y el tesón que tuvo Daniel Ortega defendiendo  a Java.

2o Día

Mesa redonda sobre Empresas

Estaban Microsoft, Sun, Alberto Knapp de The Cocktail y un FreeLance Jaime Iniesta. Estuvo bien el discurso del representante de Sun con un tono muy humano. El de Microsoft mostró su estrategia de que van a soportar todos los lenguajes dinámicos en .NET y esperan que Rails corra sobre IronRuby pronto. Alberto Knapp dijo sabiamente que ellos no se casaban con ninguna tecnología, sino que cogian la que en cada momento les iba mejor.

Comentarón conceptos como la diferencia entre Waterfal y Wash Machine como estrategia de trabajo en proyectos.

Las Apis de movilidad de OpenMovil Forum

Manuel Muñoz y Álvaro Ortíz ( The Cocktail) hicieron una demostración de las posibilidades de integración de Rails con la plataforma OpenMovil de Movistar. Enviarón SMS y los recibieron desde su aplicación opensource. Fue muy interesante ver lo fácil que va a ser integrar las aplicaciones con SMS, MMS,etc… En breve. Para los que les interese hay BarCamp el 13 de diciembre sobre Movilidad. Al final repartieron una tarjeta para poder probar gratis esta API. Ya os contaré.

Inteligencia Artifical y RoR

Santiago Bel y Sergio Espeja dieron una excelente explicación de las posibilidades de la inteligencia artificial aplicacada a proyectos Web. Todo ello con un caso real que utiliza la inteligencia para detectar que combinaciones de anuncios son las que traen más clicks. Una exposición con mucho rigor y humor. Al finalnos hablaron del clasificador Naïves Bayes con un ejemplo para identificar mensajes de soporte.

podemos ver la web de ejemplo en http://www.publievo.com

Internalización - Si es posible

Samuel Lown hizo una extensiva explicación de todas las opciones de internacionalización de aplicaciones. Muy interesante y bien llevada. Mostró soluciones para Aplicaciones y para modelos. Al final recomendó Gettext aunque es complejo y un plugin hecho por él llamado Translate Columns.

Truco: No nos olvidemos de añadir en database.yml en la definición de la base de datos encoding: UTF8

Como programar un Blog REST

Javier Vidal Postigo sudó tinta pero al final consiguió demostrarnos como hacerlo.

ROA : REST

De la mano de Juan Quemada y Joaquim Salvachúa nos explicaron lo que es REST y el origen de esta. Recomiendan la lectura del libro Restful Web Services. Basado en ROA ( Resource oriented Architecture) es el procedimiento que por su simplicidad y fácilidad de implantación está ganando a los complejos Web services basados en SOA. Hubo algo de polémica en la sesión, pero fue interesante. Imprescindible para el que se plantee tener una aplicación ya que ahora lo que toca es tener APIS para integrarnos con otros servicios.

Hasta aquí llegué ya que me tuve que ir volando hacía el aeropuerto para volar hacía Barcelona. Estoy esperando a que aparezcan los vídeos para repasar algunas sesiones  y ver las que no pude asisitir.

Que me disculpen los autores de estas si he cometido alguna inexactiitud ya que fue demasiada información. También los ponentes que no comento ya que no pude estar en sus sesiones y no los menciono.

Fue interesante las aportaciones de algunos de los asistentes durante las sesiones, demostrando que hay nivel.

Sin duda gracias a las risas e interesantes comentarios con Andrés, David, Matthias, Xavier, José y muchos otros cuyo nombre no puedo recordar..

Os adjunto la lista en L-exp para que sigáis a estos ponentes y otros.

Conferencia Rails Hispana 2006

Llevo tiempo siguiendo algunos Blogs de expertos en Rails que hablan en castellano y esto demuestra que este movimiento no sólo es a nivel internacional sino que en España está en plena ebullición.

Parte de estos expertos han participado recientemente en la  Primera Conferencia Rails hispana 2006 en Madrid. A esta asistió vía Videoconferencia David Heinemeier Hansson, creador de Ruby on Rails. También se ha discutido del proyecto FIT (Found  In Translation) para mejorar la internacionalización de aplicaciones Rails (Google Groups).

En el post de Negonation encontraréis interesantes recursos como el concurso de programación rápida de la conferencia que ganó  Ernesto Jímenez con Hundir la Flota ( código con licencia GPL), presentaciones que se hicieron y blogs de expertos que han participado.

Para los interesados en Rails apuntaros este evento para el año que viene y mirar las presentaciones que han hecho que son de muy buen nivel.

No voy a repetirme de mi fuente y os recomiendo que leáis su post y lo analicéis vosotros. Espero poder escaparme y disfrutar del evento el año que viene.

 

Vía Negonation

Muy fácil implementar tags en Ruby on Rails

Una de las delicias de Ruby on Rails es la cantidad de plugins y gems Railsque tienen fácilmente extender la funcionalidad de tu aplicación.

Este es el caso del añadir Tags ( Etiquetas) a tu aplicación. El primer tema que hay que aclarar es que existen dos alternativas para su implementación:

  1. gem acts_as_taggable
  2. plugin acts_as_taggable

Cuando buscas en internet has de tener en cuenta la diferencia ya que encontraras ambas soluciones mezcladas y es fácil confundirse.

 

1.- Gem acts_as_taggable : Esta es la primera que se implementó y consiste en un gem que se instala en Rails y tiene soporte para este tipo de funcionalidades. La principal ventaja es que está más documentado y parece que está más mantenido. La principal desventaja es que no soporta que las tags sean comunes para diferentes modelos.

Documentación  ( Está muy bien)

Más información | implementar Tag Clouds con el gem

2.- Plugin acts_as_taggable presentado por David Heinemeier Hansson en Diciembre del 2005. Tiene poca documentación, utiliza asociaciones polymórficas permitiendo compartir las etiquetas para diferentes modelos y el formato de plugin es mejor para extender las aplicaciones.

Podcast | acts_as_taggable plugin vídeo ( muy bueno)

Más información | implementar nubes de tags con el plugin

 

En definitiva yo he podido probar los dos y funcionan. Sin embargo el Plugin hasta que no encontré el vídeo me volví loco con la poca documentación que trae. Eso si es mucho más flexible de cara a poder incluir fácilmente en cualquier modelo ( más de uno si quieres) las mismas tags. Incluso he sido capaz de implementar una nube de tags de una forma muy sencilla. En definitiva mi proyectito usa el Plugin y ya tiene tags.

 

Más información | Plugin vs Gem de Michael J.’s Notio

Fichero de ayuda .CHM para Rails (1.1.6)

A través del blog del nuevo IDE de Rails RIDE-ME han anunciado una nueva versión de una ayuda en formato  .CHM de Rails desarrollado por Delynn. El formato .CHM es de ayuda compilado de Windows, que permite una consulta muy ágil y navegación contextual.

Esta nueva versión de la ayuda soporta la versión de Rails 1.1.6 aunque en la página de descarga  de Delynn no hace referencia a ello. Se puede descargar gratuitamente. Este formato de ayuda es muy práctico de usar y dispone de índice y búsqueda.

Esta ayuda ha sido integrada en RIDE-ME para facilitar la búsqueda mientras se programa en Rails.

 

Vía