Desing Plugin

Este plugin....

Dependências

  • gettext

Como Usar

Para ilustrar o uso do plugin suponha uma aplicação com as seguintes características. Uma aplicação onde existe o cadastro de várias organizações e cada uma destas organizações possuem uma funcionalidade onde é permitido para estas organizações realizarem a edição do seu site pelos usuários da organização. Este plugin tem como objetivo fornecer um infra-estrutura para que aplicações que tenha características semelhantes possam realizar a manipulação de objetos da página.

Como o objetivo do plugin não é testar gerencia de usuário as organizações possuem acesso direto sem controle de permissão.

Construção da Aplicação

Crie um model chamado organization, que tenha pelo menos o attributo design_data do tipo text no objeto.

script/generate model Organization

edit a migrate gerada para algo parecido com isso.

class CreateOrganizations < ActiveRecord::Migration
  def self.up
    create_table :organizations do |t|
      t.column :name,           :string
      t.column :design_data,    :text
    end
  end

  def self.down
    drop_table :organizations
  end
end

Instale o plugin na applicação, na pasta vendor/plugins:


svn co  https://svn.colivre.coop.br/svn/rails/plugins/design

No model Organization adicione a linha

  acts_as_design

Crie o um controller para manipular as ações da aplicação.

Eu criei o controller utilizando o comando:

  ./script/generate scaffold Organization

Criar um mecanismos no install do plugin design para gerar a instalação do plugin.

Gere a migrate usando pelo plugin para armezenar as informações de design.

./script/generate design_migration

(isso também poderia ser gerado na instalação do plugin.)

No layout da sua aplicação coloque:

<%= design_display(yield) %>

Considerações Finais

Agora que você já tem idéia de como funciona o plugin, use, abuse e colabore com o desolvimvneto do mesmo.

Você pode ver este plugin em fucionamento utilizando a aplicação Abelo? que possui uma funcionalidade semanlhante a descrita anteiormente.

Topic revision: r9 - 18 Oct 2007 - 10:52:07 - LeandroNunes
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki-Colivre? Send feedback