Sistemas de gestión de contenidos en Ruby on Rails

  • VersionDude
  • Archivo
  • 5 min de lectura

Rails es más conocido por las aplicaciones que por los CMS, pero siempre ha existido un linaje de sistemas de contenido basados en Rails — desde Railfrog en adelante.

Ruby on Rails hizo famoso el desarrollo de aplicaciones web por sus convenciones y su velocidad. Al favorecer valores predeterminados sensatos sobre una configuración interminable, permitió a equipos pequeños construir aplicaciones respaldadas por bases de datos notablemente rápido, y dio forma a una generación de frameworks web que vinieron después. Dada esa productividad, era natural que los desarrolladores acabaran queriendo gestionar contenido editorial dentro del mismo ecosistema cómodo.

A lo largo de los años, entonces, se ha construido un linaje de sistemas de gestión de contenidos sobre Rails. Su objetivo compartido es combinar las funciones editoriales que la gente espera de un CMS —páginas, manejo de medios, flujo de publicación, contenido estructurado— con la flexibilidad de una aplicación Rails completa por debajo. La promesa es lo mejor de ambos mundos: una experiencia de autoría amigable sin renunciar a la potencia y la personalización del framework.

Railfrog y el legado de los inicios

Código de programa en una pantalla.
Código de programa en una pantalla.

Railfrog fue uno de los primeros participantes en esta historia. Un CMS basado en Rails distribuido históricamente como un plugin, representó un intento de llevar la gestión de contenidos lista para usar al mundo de Rails cuando este todavía era joven. Como tal, es un marcador útil de cómo la comunidad abordó por primera vez el problema, aunque, como muchos proyectos de su época, ya no se desarrolla activamente.

Es importante ser honesto sobre ese estado en lugar de recomendarlo para trabajo nuevo. Railfrog debe entenderse como un proyecto histórico —parte de la herencia de la gestión de contenidos en Rails— y no como una herramienta que adoptar para un sitio que construyas hoy. Su valor ahora es como contexto: muestra dónde empezó el linaje y cuáles eran las ambiciones tempranas, lo que hace más fáciles de apreciar las opciones posteriores y mantenidas.

El modelo de engine de las opciones actuales

Las opciones posteriores y actualmente mantenidas adoptan una forma arquitectónica notablemente distinta. Proyectos como Comfortable Mexican Sofa y Spina se integran como motores (engines) en una aplicación Rails existente, en lugar de funcionar como una plataforma separada e independiente que instalas y operas por su cuenta. Añaden capacidades de gestión de contenidos a una aplicación que ya controlas, en lugar de pedirte que construyas en torno al CMS.

Este modelo de 'CMS como biblioteca' es la distinción clave que conviene entender al elegir. Un CMS independiente tradicional es el centro de tu sitio, y lo extiendes mediante su propio sistema de plugins o temas. Un CMS de estilo motor es un componente que montas dentro de tu propia aplicación, dejando tu código Rails firmemente al mando. Los dos modelos se adecúan a equipos muy diferentes y a proyectos muy diferentes.

El contenido como código, y su contrapartida

Para los equipos que ya construyen en Rails, el enfoque de motor suele ser el ajuste más natural. Permite a los desarrolladores tratar el contenido como una parte más de su base de código, gestionado con las mismas herramientas, pruebas y pipeline de despliegue que todo lo demás, en lugar de aprender y mantener una plataforma separada junto a su aplicación. El CMS se convierte en una capacidad entre muchas en lugar de un sistema con el que integrarse.

Dicho esto, la comodidad de tratar el contenido como código viene con una contrapartida en pulido editorial. Una plataforma dedicada e independiente —incluidas opciones no basadas en Rails como WordPress— suele ofrecer una experiencia lista para usar más rica y madura para autores no técnicos, con plugins y temas extensos. Un CMS de Rails de estilo motor a menudo da a los editores de contenido una interfaz más escueta, lo cual está bien para equipos liderados por desarrolladores pero puede resultar escasa para un gran personal editorial.

Dicho esto, la comodidad de tratar el contenido como código viene con una contrapartida en pulido editorial. Una plataforma dedicada e independiente —incluidas opciones no basadas en Rails como WordPress— suele ofrecer una experiencia lista para usar más rica y madura para autores no técnicos, con plugins y temas extensos. Un CMS de Rails de estilo motor a menudo da a los editores de contenido una interfaz más escueta, lo cual está bien para equipos liderados por desarrolladores pero puede resultar escasa para un gran personal editorial.

— VersionDude

Plantear la elección para tu equipo

El planteamiento honesto de la elección, por tanto, es una pregunta más que una única recomendación. ¿Cuánto necesitas una interfaz editorial lista para usar que adorarán los autores no técnicos, frente a la libertad de tratar el contenido como una porción más de tu base de código Rails que los desarrolladores controlan por completo? Tu respuesta apunta claramente hacia una plataforma independiente o un motor que montas dentro de tu propia aplicación.

Rails nunca ha sido la primera opción obvia para un CMS de la forma en que lo es para las aplicaciones web, y eso vale la pena decirlo con claridad. Pero para los equipos ya invertidos en el framework, las opciones basadas en motores ofrecen una forma coherente de añadir gestión de contenidos sin abandonar el ecosistema en el que son productivos. Conocer el linaje —desde esfuerzos tempranos como Railfrog hasta los motores mantenidos de hoy— te ayuda a tomar esa decisión con el cuadro completo a la vista.

Proyecto relacionado