FRAMEWORK MIOLO - modulo de exemplo - Parte I
Autor: Sandra Martins | Publicado: 2011-05-27T10:30:00-03:00

Desenvolvendo um módulo de exemplo utilizando o Framework Miolo. Importante lembrar que este módulo será construido na estrutura do SIGA-ADM.

1 - Criação dos diretórios:

Dentro do diretório modules do MIOLO deve ser criado um diretório com o nome do módulo. Neste caso, o nome do diretório é “equipamento” (miolo/modules/equipamento) onde deverá conter a seguinte estrutura:

/handlers: Localiza-se em miolo/modules/equipamento/handlers.
São os arquivos chamados pelo action do MIOLO. O handler faz a ligação com os componentes visuais como forms e grids e tem extensão *.inc.

/forms: Localiza-se em miolo/modules/equipamento/forms. 
São os formulários visualizados pelo usuário. São classes com extensão *.class.

/sql: Localiza-se em miolo/modules/equipamento/sql. 
Possui os comandos sql para criar o banco com a instalação de módulos do MIOLO. Também pode ter um arquivo do banco de dados utilizado. O nome padrão para o arquivo com os comandos sql para instalação do módulo deve ser equipamento.sql.

/html: Localiza-se em miolo/modules/equipamento/html. 
Possui arquivos HTML, Javascript e imagens(no subdiretório images).

&nbsp; &nbsp; /html/images: Localiza-se em miolo/modules/equipamento/html/images.
&nbsp; &nbsp; Subdiretório do html que possui as imagens do módulo.

/etc: Localiza-se em miolo/modules/equipamento/etc. 
Possui o module.conf que contém as configurações do módulo e o module.inf que tem as informações do módulo.

/classes: Localiza-se em miolo/modules/equipamento/classes. 
Utiliza-se para inserir outras classes ao módulo.

&nbsp; &nbsp; /classes/map: Localiza-se em miolo/modules/equipamento/classes/map
&nbsp; &nbsp; Possui o mapeamento XML das classes para a camada de persistência.

/ui: Localiza-se em miolo/modules/equipamento/ui.
Utiliza-se para classes relacionadas à interface com o usuário (controles, renderização html, relatórios em pdf).
&nbsp; &nbsp; &nbsp; &nbsp;/ui/controls: Localiza-se em miolo/modules/equipamento/ui/controls
&nbsp; &nbsp; &nbsp; &nbsp;Possui os controles que são classes que encapsulam controles HTML (ou controles construídos em javascript).


/grids: Localiza-se em miolo/modules/equipamento/grids.
Utiliza-se para a exibição do conteúdo das consultas.

A estrutura do diretório ficará:miolo
modules
equipamento
classes
map
forms
grids
handlers
etc
html
images
sql
ui
controls
Após a criação destes diretórios você estará pronto para o próximo passo!

2 - Banco de Dados

Faça o download do script do banco e salve no diretório: miolo/modules/equipamento/sql/Clique aqui para baixar o arquivo.

Criação da base de dados, onde utilizaremos o banco de dados POSTGRESQL 8.4.
Execute o seguinte comando no terminal como root:

#su postgres

Vá até o diretório onde encontra-se o script de criação do banco:
$ cd /home/usuario/workspace/trunk/miolo/modules/equipamento/sql/


Execute o script:
$ psql -f equipamento.sql

Aparecerá a seguinte mensagem:
CREATE DATABASE
psql (8.4.8)
Você está conectado ao banco de dados "equipamento" agora.
CREATE SEQUENCE
psql:equipamento.sql:18: NOTA:  CREATE TABLE / PRIMARY KEY criará índice implícito "pk_categoria" na tabela "categoria"
CREATE TABLE
CREATE SEQUENCE
psql:equipamento.sql:33: NOTA:  CREATE TABLE / PRIMARY KEY criará índice implícito "pk_material" na tabela "material"
CREATE TABLE


3 - Criação do arquivo module.conf no diretório miolo/modules/equipamento/etc/

Arquivo XML de configuração do módulo.

&lt;?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?&gt;
&lt;conf&gt;
&lt;options&gt;
&lt;startup&gt;equipamento&lt;/startup&gt;
&lt;/options&gt;
&lt;db&gt;
&lt;equipamento&gt;
&lt;system&gt;postgres&lt;/system&gt;
&lt;host&gt;localhost&lt;/host&gt;
&lt;name&gt;&lt;miolo&gt;equipamento&lt;/name&gt;
&lt;user&gt;postgres&lt;/user&gt;
&lt;password&gt;postgres&lt;/password&gt;
&lt;jdbc_driver&gt;org.postgresql.Driver&lt;/jdbc_driver&gt;
&lt;jdbc_db&gt;jdbc:postgresql://localhost:5432/equipamento&lt;/jdbc_db&gt;
&lt;/equipamento&gt;
&lt;/db&gt;
&lt;login&gt;v
&lt;check&gt;0&lt;/check&gt;
&lt;/login&gt;
&lt;/conf&gt;