O meu site ficou estacionado por um tempo, e posteriormente até mesmo sumiu do mapa. Tudo isso por que eu não encontrava um CMS que me satifizesse. Agora o site voltou. graças a muitas pesquisas até encontrar o CMS (content manage system) ideal para mim.
Eu na verdade sou um pouco, talvez até muito, chato. A versão antiga do meu site era publicada por uma ferramenta que eu mesmo tinha escrito, eu de certa forma sofria da sindrome do “not invented in here” ou pelo menos da irmâ menos conhecida dela a “not invented by me”.
Este sistema, que eu chamava simplesmente de “publicador”, tinha diversos problemas. O principal era que ele não escalava bem, pois no lugar de um banco de dados as informações eram guardadas usando um dump dos objetos para arquivos, isso funcionava muito bem para sites pequenos, mas tinha problemas de “lock” e ficava muito lento quando o site crescia demais.
A principal vantagem dele era que ele não rodava diretamente no servidor web, mas sim em um servidor administrativo. As atualizações eram subidas para o servidor principal pelo sistema quando o usuário estava satisfeito. Do lado web você só precisava de um servidor de páginas estáticas.
Mas este programa já não mais atendia as minhas necessidades, primeiro ele era um pouco confuso e por isso não era possivel delegar as edições para terceiros e segundo eu precisava de features que ele não tinha e eu não tinha muito tempo para atualizar-lo. Começou ai a pesquisa por um sistema de CMS.
Eu tinha alguns requerimentos básicos na minha cabeça, primeiro eu queria poder ajudar o desenvolvimento, para isso ele teria que ser open-source e ser escrito em uma linguagem que eu me sinta confortavel. A linguagem ideal, neste momento, era o ruby.A outra necessidade pricipal era a da simplicidade, os sites que eu mantenho são simples e eu não preciso de uma ferramenta que faça tudo no mundo.
Começei olhando os programas mais usados, o typo foi o primeiro que eu olhei. Ele é um sistema de blog, suficiente para as minhas necessidades de CMS, escrito em ruby on rails. Porém ele aparentemente não estava sendo muito atuzalizado, e algumas features não estavam funcionando direito.
A busca continua, achei o Zena, um CMS ultra simplificado que tenta ser o mais usavel possivel. Porém ele se demonstrou complicado de se instalar e de dificil manuntenção.
Nesta época cheguei a olhar o Radiant, o CMS que foi o escolhido, porém naquele momento o dreamhost encrencou com ele e eu acabei não conseguindo instalar-lo de forma satisfatória. Cheguei a fazer o site funcionar, incluindo escrevendo uma extenção, mas acabei desistindo desta opção.
Olhei uns workframes, até alguns em python (linguagem que eu não gosto muito), mas o meu tempo não permitia meter a mão na massa e escrever tudo do zero e isso implicaria que os meu esforços acabariam por ser duplicados, algo que eu estava tentando evitar.
E no final, quando o desepero já era grande, cheguei a olhar systemas de blog em PHP. Agora eu abro um parenteses para dizer que eu ODEIO PHP e seria a ultima linguagem com a qual eu gostaria de trabalhar.
Minha vontade de lidar com o PHP era tão grande que acabei por esquecer tudo por muito tempo, até que um dia eu vi um anuncio que o dreamhost havia upgradeado o “passanger”. Foi o que eu esperava, reinstalei o Radiant, na versão mais nova e tudo funcionou de primeira. A unica coisa que é importante lembrar é de congelar o “radiand” usando o “rake”.
O Radiant tem uma arquitetura bastante parecida com a que eu tinha bolado a vários anos atrás para o meu “publicador”. A unica diferença é que os conceitos, no radiant, estavam mais fechados e com isso a usuabilidade era bem melhor que no meu programa. Ele usa um sistema são de dados, não tendo assim o problema de escalamento que o meu sofria.
A mellhor parte é que o Radiant tem uma comunidade ativa e uma arquitetura de extenções que permite a adição de capacidades sem ter que mecher no código principal (e com isso fazer um fork). As minhas necessidades que não estão cobertas pelo pacote básico ou se tornam novas extenções que podem ser usadas por outros usuários ou já foram implementadas por outros usuários e eu só tenho que instalar a extensão desejada.
Por Victor Bogado da Silva Lins em 27/09/2009