Categorias

Lipsiadmin: Implementando ExtJS de forma simples no Ruby on Rails

O ExtJS é um framework especializado para construções de aplicações web. É constituído por vários widgets como Grids, TreeViews e painéis em abas. Parece que você está literalmente trabalhando em uma aplicação Desktop.

Já existem Scaffolds combinando o Rails com o ExtJS. Um deles é o Ext Scaffold Generator.

Existe também o Lipsiadmin, que é ótimo para tratar da parte administrativa "dos cadastros básicos" do nosso projeto web.

O legal é que o desenvolvedor responsável por ele, o italiano Davide D’Agostino, já utiliza há mais de 1 ano em ambiente de produção. Ele é baseado no Ext Js 2.0 e já está pronto para o Rails 2.0

Para utilizar o Lipsiadmin, a primeira coisa é instalar o Haml.

Haml é uma DSL ou Domain Specific Language utilizada para manter limpo e simples a descrição de qualquer documento XHTML sem a necessidade de fica "emporcalhando" o código.

Veja um exemplo sem HAML:

<div id=’conteudo’>
<div class=’coluna esquerda’>
<h2>Bem vindo ao artigo do Prof. Ricardo Leme!</h2>
<p>
<%= informacoes %>
</p>
</div>
<div class="coluna direita">
<%= render :partial => "dados" %>
</div>
</div>

Agora, o mesmo exemplo com HAML:

#conteudo
.coluna.esquerda
%h2 Bem vindo ao artigo do Prof. Ricardo Leme!
%p= informacoes
.coluna.direita= render :partial => "sidebar"

Fica bem mais limpo o código, né? 🙂

Para instalar o HAML:

<b>gem install –no-ri haml </b>

Agora vamos ao LipsiAdmin:

Crie um projeto no Rails:

rails exemplo
cd exemplo

Abra o Git e informe:
git clone git://github.com/Lipsiasoft/lipsiadmin.git vendor/plugins/lipsiadmin

Para quem não tem o Git instalado, o Lipsiasoft pode ser baixado aqui:
https://github.com/Lipsiasoft/lipsiadmin/tree/master

Utilizando o Lipsiadmin

ruby script/generate lipsiadmin

Vá em dbmigrate e altere o arquivo de migração (create_account.rb) inserindo o primeiro usuário.

Vá até configdatabase.yml e altere as propriedades do seu SGBD.
No meu caso, como eu utilizo o PosgreSQL a configuração está conforme o exemplo.

# Configuração para conectar no PostgreSQL
development:
adapter: postgresql
database: exemplo_development
username: seuusuairo
password: suasenha
host: localhost

Para gerar o arquivo:
rake db:create #Criando o database
rake db:migrate #Gerando o arquivo de migração

Observe que o usuário foi criado no banco de dados (Você pode ver que foi criada uma tabela chamada accounts).
Por segurança, o usuário criado não está liberado para o login.

Dessa forma, vamos carregar o console do Ruby e ativá-lo.

Para carregar o console: Ruby script/console
Em seguida, informe:
Account.first.activate
Ele deverá retornar => true

Saia do console através do Exit.

Carregando o Webrick:

ruby script/server –port=80

Aponte o seu browser para:
https://localhost/admin

E seja bem vindo ao Lipsiadmin!

Vale a pena dar uma pesquisada mais a fundo!
https://rails.lipsiasoft.com/wiki/lipsiadmin

Para ver alguns screenshots:
https://flickr.com/photos/daddye/sets/72157606377641164