Rorra's blog Senior Developer

diciembre 30, 2009

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'

2 comentarios »

  1. Thanks for the nice summary of steps. However, for some reason, it is not working for me.

    It is not picking up the ?locale=xx in the admin section. It always uses the default locale.

    I also have these warnings:
    warning: already initialized constant SnippetTranslation
    warning: already initialized constant LayoutTranslation
    …… (a few more)

    Any thoughts?

    Comentario by Joris — enero 21, 2010 @ 7:55 PM

  2. Hi Joris

    I just moved to Guadalajara and had about 5 minutes to check some things on the net. I will check again the step by step guide I made. Notice that there is not need to do something like /?locale=xx, but instead, to use the URL/locale/route instead, like http://www.myblog.com/fr/contacts, although http://www.myblog.com/contacts?locale=fr should also work.

    As a start, check the table config in the database, there should be two rows, one like globalize.default_language, and another row like globalize.languages. If you don’t have such rows, make sure you have added some configuration in the config/envirnoment.rb like this:

    Radiant::Config['globalize.default_language'] = ‘us’
    Radiant::Config['globalize.languages'] = ‘de,fr,uk,au,ca,ca’

    About the warnings, it’s ok, radiant 0.9 is a release candidate, and although most plugins were updated to work with radiant 0.9, they still have to do some cleaning to drop all those warnings

    Thx

    Comentario by admin — enero 23, 2010 @ 3:10 PM

RSS feed para los comentarios de esta entrada. TrackBack URL

Deja un comentario

Powered by WordPress