Rorra's blog Senior Developer

enero 9, 2010

Radiant y Globalize: Redirigiendo al usuario a su sitio con su lenguaje

Filed under: Ruby — admin @ 6:30 AM


Después de instalar Radiant 0.9 y Globalize, tenía que redirigir al usuario a su sitio con su lenguaje.
Si el usuario tenía asignado el locale en, al momento de visitar http://mysite.com, debería de ser redirigido a http://mysite.com/en
Todo este lío porque tenía un flash que funcionaba con archivos xml, entonces arme una estructura de ficheros y necesitaba que el usuario este parado en ese lugar, y no en la homepage, para que el flash funcione correctamente.
Estas son las modificaciones que hice al archivo vendor/extensions/globalize2/lib/globalize2/site_controller_extensions.rb, espero que les sirva

module Globalize2
  module SiteControllerExtensions
    def self.included(base)
      base.class_eval do
        alias_method_chain :find_page, :globalize

        alias_method :o riginal_show_page, :show_page
        alias_method :show_page, :check_homepage_redir

      end
    end

    def check_homepage_redir
      url = params[:url]
      if Array === url
        url = url.join('/')
      else
        url = url.to_s
      end

      if url == '/'
        locale = params[:locale] || cookies[:locale] || session[:locale] || Globalize2Extension.ip_lookup(request.remote_ip)
        redirect_to CGI.unescape('/' + locale + '/') and return
      end

      original_show_page
    end

    def find_page_with_globalize(url)
      globalized_url = '/' + I18n.locale + '/' + url
      find_page_without_globalize(globalized_url)
    end
  end
end

diciembre 30, 2009

Vaganga.com liberado!

Filed under: General,Mi Trabajo,PHP,Ruby — admin @ 8:33 AM

En los últimos meses, me uní al equipo de Vaganga, para trabajar en lo que creo, va a ser el proximo sitio para comprar paquetes turísticos a excelente precio para todo America.
Cuando me sume, el código base había sido iniciado por una empresa de USA que se llama Xillent, y la verdad, quería borrar todo!!!!, no se donde aprendieron a desarrollar, pero si queres tener un post nuevo todos los días en Daily WTF, entonces la mejor opción es contratar la empresa mencionada :) . Termine reescribiendo gran parte del código, y por suerte ya liberamos la primera versión del sitio, que si bien tengo pensado (y ya estoy trabajando) para migrarla a rails, y mientras tanto mantener la versión PHP, el sitio fue liberado y esta listo para empezar a ser usado.
Algunos puntos a favor, por lo cuál deberían de empezar a usarlo cuanto antes :) :

  • Es muchísimo más barato que otros sitios como despegar
  • Además de comprar paquetes, vuelos y hoteles bien baratos, podes formar parte de la comunidad, con importantes beneficios
  • Mantenemos un historial de todas tus compras, y en poco tiempo ya vamos a tener sorteo entre los viajeros que compraron en el sitio, los más activos de la comunidad, descuentos por haber usado el sitio varias veces, etc.

Por ahora, esta trabajando con VAGANGA

Instalando radiant 0.9 con soporte para múltiples lenguajes

Filed under: Ruby — admin @ 7:46 AM


Hace tiempo que vengo jugando con varios CMS, desarrolle y trabaje en varios sitios, y si bien Radiant 0.9 todavía no fue liberado (pero esta la RC1 liberada), los updates que tiene son un gran avance. No entiendo porque no lo ponen como la versión 1.0 ya que esta muy maduro.
El soporte actual para múltiples lenguajes, con plugins como globalize, guardar las imágenes automáticamente en Amazon s3 que es muy barato, pudiendo poner el sitio en heroku por $0, y recién empezar a pagar cuando el sitio tenga miles de visitas, bueno, ya estoy soñando, pero Radiant dejo de ser un juguete hace tiempo para ser un CMS muy maduro y una razón más por la cuál varios migran a Rails (por el CMS :) ), igual me gusta jugar con Radiant :P
En fin, basta de preambulos, vamos a lo nuestro. Hay una excelente guía de Aissac para instalar Radiant con Paperclip, pero siguiendo la guía al pie de la letra nos vamos a encontrar con algunos problemas, así que aca dejo una guía paso por paso, para los principiantes, para que instalen su versión de Radiant 0.9 RC 1 con los plugins más útiles y con soporte para múltiples lenguajes.
Suponiendo que ya instalaron ruby, rails, rubygem, etc. el primer paso es instalar Radiant 0.9 RC 1, lo bajan de acá:
http://radiantcms.org/downloads/radiant-0.9.0-rc1.gem
Una vez que lo bajaron, ejecutan el comando

gem install radiant-0.9.0-rc1.gem

Generamos nuestro sitio

radiant new_site

Y editamos la configuración de la base de datos (config/database.yml)

development:
  adapter: mysql
  database: new_site_development
  username: root
  password:
  host: localhost
  encoding: utf-8

Generamos la base de datos y finalizamos la instalación de Radiant

rake db:create
rake db:bootstrap

Ahora pasamos a instalar los plugins, primero instalamos el plugin copy_move

git clone git://github.com/pilu/radiant-copy-move.git vendor/extensions/copy_move
rake radiant:extensions:copy_move:update
rake radiant:extensions:copy_move:migrate

Instalamos el plugin reorder, que nos va a permitir ordenar las páginas de nuestro sitio

git clone git://github.com/radiant/radiant-reorder-extension.git vendor/extensions/reorder
rake radiant:extensions:reorder:update
rake radiant:extensions:reorder:migrate

Seguimos con paperclip

git clone git://github.com/kbingman/paperclipped.git vendor/extensions/paperclipped
rake radiant:extensions:paperclipped:migrate
rake radiant:extensions:paperclipped:update

Ahora instalamos globalize2 que nos permite multiple lenguajes en nuestro sitio (incluso si solo pensamos manejar un solo lenguaje)

git clone git://github.com/Aissac/radiant-globalize2-extension.git vendor/extensions/globalize2
rake radiant:extensions:globalize2:migrate
rake radiant:extensions:globalize2:update

Ahora un paso intermedio, necesitamos editar el archivo config/environment.rb, y después de la línea comentada config.extensions, agregamos:

  config.extensions = [ :copy_move, :paperclipped, :globalize2, :all ]

Y ahora pasamos a instalar globalize2-paperclipped, que nos permite globalizar los assets :)

git clone git://github.com/Aissac/radiant-globalize2-paperclipped-extension.git vendor/extensions/globalize2_paperclipped
rake radiant:extensions:globalize2_paperclipped:migrate
rake radiant:extensions:globalize2_paperclipped:update

Listo el pollo, ahora ya pueden tener su sitio con Radiant, en múltiple lenguajes, no se olviden de revisar la documentación de cada plugin para saber como configurarlo, por ejemplo, para configurar varios lenguajes en globalize2, editando el archivo config/environment.rb, agregando al final del mismo

Radiant::Config['globalize.default_language'] = 'sp'
Radiant::Config['globalize.languages'] = 'en,de,fr'

Volviendo a trabajar en mi página

Filed under: General — admin @ 5:38 AM


Si bien este año estuve más que ocupado, metí 14 materias en la universidad, trabaje en varios proyectos interesantes, en Ruby on Rails, PHP, algo de java y C++, voy a volver a darle vida al sitio, sobre todo para atraer nuevos clientes y mostrar que sigo activo :)


Hoy estube tratando de upgradear a wordpress 2.9, y todos los plugins, y si bien había upgradeado todo en mi máquina, me lleve la desagradable sorpresa de ver que el plugin qtranslate no esta listo para trabajar con wordpress 2.9


No obstante, Quian Qin (Quien?), no, en serio, Quian Qin esta trabajando en el plugin para hacerlo compatible con wordpress 2.9, así que la actualización va a tener que esperar hasta que Quian Qin actualice el plugin, pero más que seguro, hay unos miles y miles a la espera como yo :)


http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=1271

Trabajo hecho en BeaconStreetGirls

Filed under: Mi Trabajo,Ruby — admin @ 5:29 AM


Durante este año, estube trabajando como desarrollador de un sitio llamado Beacon Street Girls


Primero desarrolle un feature bastante interesante, usando la API provista por Doink, y fui uno de los primeros en usar su API (a tal punto que estaba en desarrollo de su parte mientras yo la implementaba para BSG).


Fue un gran feature, y mientras el sitio estuvo levantado, hubo miles de videos de los usuarios del sitio, pero hace unos meses, por la crisis financiera mundial, el sitio en rails fue dado de baja, y actualmente solo tienen en linea su sitio en PHP.


Estas son algunas de las capturas del trabajo hecho


diciembre 27, 2009

Focus on Virtualization liberado

Filed under: Mi Trabajo,Ruby — admin @ 9:04 AM

Durante el año estube trabajando en un sitio que quedo muy lindo, Focus on Virtualization.


Es un sitio hecho para IDG y Microsoft, se realizo en solamente dos semanas, y una de las partes que me gusto mucho como quedo fueron los tweets.


Algunas imágenes:

julio 22, 2009

rails: busquedas en twitter usando search.atom

Filed under: Ruby — admin @ 4:36 PM


Recientemente, tuve que crear un twitter live feed para un trabajo que estoy haciendo… encontre un par de gemas para hacer busquedas en twitter, pero todas usaban la api json, y como mi cliente quería los mismos resultados que se pueden encontrar en twitter.search.com, directamente cree una librería (siguiendo los ejemplos de las gemas) para utilizar la api search.atom, y parseando los resultados con hpricot.

Si te encuentras con el mismo problema, aca tenes el código

TwitterFeed.rb

marzo 31, 2009

Como solucionar los problemas de MOStlyCE en mambo 4.6.x

Filed under: PHP — admin @ 1:19 AM


Trabajando para lasentinel, estaba teniendo problemas con el editor MOStlyCE, el problema era que no había manera de hacer que los administradores del CMS puedan subir imágenes o distintos archivos, porque cuando intentaban hacerlo arrojaba un error de js, relacionado con un parametro callback que no estaba seteado: advimage_image_browser_callback.

Lo primero que descubrí fue que faltaba el directorio UserFiles, si queres que tus usuarios puedan subir archivos para los artículos que escriben, tenes que buscar dentro del directorio mambots/editor/mostlyce un archivo comprimido, descomprimido en el root de la instalación de mambo.

Pero incluso haciendo eso, y configurando MOStlyCE en el administrador como es debido, tiraba errores, y me estaba rompiendo la cabeza, así que directamente borre el mambot con el componente, y lo volví a instalar de nuevo. Y seguía con los mismos errores.

La solución? Instale MOStlyCE 3.1. Se ve muchísimo mejor que antes y trabaja muy bien con mambo.

Así que si estas teniendo problemas con MOStlyCE y mambo, y se que hay mucha gente que esta teniendo estos tipos de problema, simplemente desinstala el componente y el mambot de mostly, instala la versión 3.1, y no olvides de buscar y descomprimir el archivo UserFiles.zip.

marzo 26, 2009

La próxima versión de rails será la 3.0

Filed under: Ruby — admin @ 5:30 AM


Ahora que rails 2.3.2 fue liberado (la última versión es rails 2.3.2.1), el equipo de rails va a concentrar esfuerzos en la versión de rails 3.0, que significa dos cosas:

  1. No va a haber una versión 2.4 :P
  2. Pueden esperar un montón de cambios para la versión 3.0

Va a haber muchos cambios en el funcionamiento interno de rails, lo que significa que muchos plugins van a necesitar ser reescritos para rails 3.0

La cosa más excitante que vamos a ver en rails 3.0, es que merb se va a funcionar con rails, pueden leer los detalles aca, aca, aca, aca y aca.

Rails 3.0 también les va a permitir incluir una aplicación completa de rails dentro de otra aplicación de rails, con este feature, va a ser probablemente posible incluir un foro completo, una galería completa, o cualquier cosa que se imaginen de manera muy fácil.

“Los Angeles Sentinel” actualizado

Filed under: Mi Trabajo,PHP — admin @ 4:27 AM


Recién termine de updatear el contenido de Los Angeles Sentinel, sentine libre de visitarlo y darle una mirada a los nuevos artículos ;)

« Newer PostsOlder Posts »

Powered by WordPress