Publicado por Rafael Rosa em 16 de November de 2009

Seed – Um novo CMS open-source em Rails com administração na própria página

seedSeed (código) (demo) (screencast) é o que poderíamos chamar de um "CMS feito com bom senso", criado pelo pessoal da The Media Collective's, ainda é um diamante bruto. Ele tem suporte ao bloqueador de spam Akismet, monitoramento com New Relic, armazenamento de mídia com o S3 da Amazon, cache de páginas e um refinado controle de edição de páginas por usuário - basta instalá-lo. Ele entra no clube de outros CMS feitos em Rails, como o Refinery e o Radiant, mas sua primeira versão é mais completa do que os outros e a interface de administração na própria página é um grande diferencial. Além disso, ele usa a licença MIT, ou seja, use-o sem preocupações.

Seeds WYSIWYG Interface

Seed's WYSIWYG Interface

O Futuro: Comparações

O Refinery, Radiant e o Seed estão em desenvolvimento ativo, mas até o momento o Refinery não tem suporte a cache de páginas e fatalmente terá de assimilar todas as funcionalidades que o Seed já possui antes de ser considerado uma alternativa melhor. Na situação atual, as funcionalidades de re-ordenação e edição na própria tela do Seed são preferíveis aos opções do Refinery, que oferece opções semelhantes na área de administração. O sistema quase WYSIWYG oferecido pelo Seed é bem legal.

Vale lembrar que atualmente o Seed roda com Rails v2.1.2 e após conversar com o autor pelo Github, ficou claro que não há planos para fazer o upgrade a menos que exista uma necessidade real para tal.

Funcionalidades e Customização

Tanto o Seed quanto o Refinery usam o sistema de engines do Rails e você pode sobrescrever os controllers e views padrão colocando suas próprias versões no diretório vendor e customizando-as. Isso simplifica bastante o backup de dados de negócio e o processo de upgrade em versões futuras. Por padrão, o Seed também oferece funcionalidade de calendário e diferenciação de artigos, notícias e registros de blog, além disso também suporta a inclusão de vídeos do YouTube como parte das páginas. Tanto o Seed quanto o Refinery oferecem sistemas para fazer o upload de arquivos e anexos, mas acabei preferindo o sistema do seed que utiliza light-box.

Uma coisa que não gostei nele foi que, por padrão, as imagens são posicionadas no topo direito dos artigos, mas é algo que pode ser corrigido através de ajustes no CSS ou no código-fonte. Se ele fosse capaz de permitir o drag-and-drop das imagens de forma que pudessem ser espalhadas por diferentes parágrafos, ele seria sem dúvida alguma o meu CMS em Rails favorito.

Detalhes

Ele também traz um componente para criação de páginas que permite a criação de tabelas com espaçamento automático usando pipes (|). Nunca havia visto esse tipo de funcionalidade, mas é bastante prático. O Seed oferece várias funcionalidades por padrão e será um nome de peso entre os CMS's criados com Rails. Particularmente, eu acredito que todos os CMS's em Ruby deveriam incluir o Compass e acho que seria uma ótima próxima tarefa para o projeto.

Conclusão

Tenho acompanhado com atenção novas tecnologias open-source para web e foi uma falha não ter ouvido falar do Seed até hoje, só fui achá-lo sem querer numa pesquisa aleatória no GitHub. O Seed tem me impressionado nas últimas semanas e definitivamente vale a pena gastar algum tempo para instalá-lo e dar uma olhada no que ele oferece. Atualmente ele é meu CMS Ruby favorito, e mesmo preferindo o Nesta, baseado em Sinatra, para soluções mais simples, acho que o Seed é minha nova opção básica para CMS baseados em Rails.

Instruções de Instalação

(Usando um Ubuntu server x86_64 rodando o recente REE baseado no Ruby 1.8.7)

gem install -v=2.1.2 rails
git clone git://github.com/desaperados/seed.git seed
cd seed
cp config/examples/*.yml config/
rake gems:install
emacs config/settings.yml

script/setup demo
lembre-se de trocar a string "secret" sugerida no arquivo environment.rb...
script/server
Carregue http://localhost:3000 no seu navegador e divirta-se com tudo que você não teve que codificar!

Agradecemos à grantmichaels por escrever esse artigo.

Nota do tradutor: existe um problema ao se tentar executar "rake gems:install", porque o sistema depende de uma constante chamada APP_CONFIG que só é carregada nos initializers, mas que não é processada quando "rake gems" é executada e as gems não estão instaladas. Para evitar maiores dores de cabeça e a necessidade de alterar o código-fonte ou fazer monkeypatching, recomendo rodar "gem install mislav-will_paginate" logo após a instalação do Rails, ou no lugar de rodar "rake gems:install". Essa é apenas uma solução rápida, o correto seria corrigir a dependência no projeto.

Apenas Um Comentário para “Seed – Um novo CMS open-source em Rails com administração na própria página”

  1. #1
    wallace.jvm Disse:

    Que legal! Meu site atualmente foi desenvolvido em WordPress, mas estou achando isso meio limitado... Seed parece um bom ponto de partida para mim! Adorei a dica.

Deixe um Comentário