Ok, existem centenas de CMS e no mundo Rails existem alguns muito bons como o Radiant, BrowserCMS e AdvaCMS porém, todos estes CMS’s acabam sendo mais complexos do que o necessário para um projeto onde teremos apenas um catálogo de produtos e gerência de novidades.
Não faz sentido tentar ensinar um cliente que poderá criar grupos de usuários, tags, que poderá organizar as páginas em sub-páginas e etc. Simplesmente ele não vai entender, não vai usar e logo não vai gostar do nosso serviço.
Por este motivo prefiro criar o backend da forma mais simples possível, o problema é que sempre fico criando várias coisas que são praticamente padrão em todos os projetos.
Trabalhamos muito criando websites, e muitas vezes estes projetos não são voltados para empresas de TI ou que tenham um setor de TI, então também desenvolvemos um backend simples para os próprios clientes administrarem o conteúdo dos sites.
Ok, existem centenas de CMS e no mundo Rails existem alguns muito bons como o Radiant, BrowserCMS e AdvaCMS porém, todos estes CMS’s acabam sendo mais complexos do que o necessário para um projeto onde teremos apenas um catálogo de produtos e gerência de novidades.
Não faz sentido tentar ensinar um cliente que poderá criar grupos de usuários, tags, que poderá organizar as páginas em sub-páginas e etc. Simplesmente ele não vai entender, não vai usar e logo não vai gostar do nosso serviço.
Por este motivo prefiro criar o backend da forma mais simples possível, o problema é que sempre fico criando várias coisas que são praticamente padrão em todos os projetos.
Coisas como
- posts (ou notícias), onde o cliente vai inserir noticias com fotos e paginação.
- produtos, um catalógo listado em forma de grid com mais detalhes do produto e fotos (semelhante a exibição de um Submarino.com).
- login, logout, signup, layout do admin.
- formulário de contato.
Então a bastante tempo (deve ter uns 2 anos) criei um plugin chamado SiteScaffold com o único objetivo de gerar as coisas acima, um generator simples do Rails para cada um dos tópicos acima.
Nada complexo, mas algo com que eu possa dar continuidade e desenvolver mais sobre o que foi gerado.
O resultado disto está em http://github.com/danielvlopes/site_scaffold/tree/master
E para gerar cada coisa basta:
- script/generate admin_base
- script/generate posts
- script/generate contact_form
- script/generate products_catalog
Dependendo do generator chamado (não se preocupe, ao executar cada um é exibido os passos a serem seguidos) é adicionado as abaixo dependências :
restful_authentication
paper_clip
will_paginate
jrails
validatable
Como uso RSpec em todos os meus projeto não inseri nada sobre testes no plugin, pois acho que deve ser feito em Test::Unit pois nem todos usam Rspec mas Test::Unit pode ser executado dentro do Rspec. Então se alguém se habilitar a criar os test cases para o que é gerado pelo plugin seria ótimo.
Também pretendo alterar de restful authentication para authlogic, então qualquer ajuda neste ponto também será bem útil.




