Ir para o conteúdo

 Voltar a i-Educar De...
Tela cheia

Desenvolvimento de Relatórios JasperReports com o iReport para o i-Educar

12 de Abril de 2010, 12:51 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 1213 vezes

Olá,

Conforme prometido há algum tempo aqui na comunidade, disponibilizamos no wiki os resultados que alcançamos na pesquisa de uma forma para desenvolver relatórios para o i-Educar. A pesquisa foi motivada principalmente pela complexidade de customização dos relatórios atuais e a despadronização existente entre eles.

Este tópico está aberto para receber respostas de quem tem interesse em contribuir com a pesquisa e o desenvolvimento. Para esclarecer dúvidas, utilize o fórum de Suporte.

O que usamos para desenvolver novos relatórios?

- classe do projeto PHPJasperXML 0.6 customizada;
- iReport 3.7.1 ou mais recente;

Como inserir os novos modelos no sistema?

Quando o desenvolvimento de um novo modelo é concluído, deve ser utilizado o arquivo .jrxml que foi salvo e não o .jasper. Após, disponibilize o .jrxml no diretório correspondente e lembre-se de alterar a conexão com o banco de dados na classe PHPJasperXML.inc.  Para o novo relatório ser exibido, deverão ser criados os scripts em PHP para o formulário de seleção e o novo submenu, que ao ser acessado, irá exibir ao usuário a seleção dos parâmetros necessários para a query de consulta ao banco de dados.

Links de vídeos explicando como desenvolver relatórios no iReport (em inglês):

http://www.simit.com.my/download/phpjaspertutorial-1.swf
http://www.simit.com.my/download/phpjaspertutorial-2.swf
http://www.simit.com.my/download/phpjaspertutorial-3.swf

Fórum de Discussão e Wiki do projeto PHPJasperXML (em inglês):

Acessar fórum de discussão
Acessar Wiki

Para finalizar, enfatizo que esta não é uma solução definitiva para o desenvolvimento de relatórios, pois apenas apresentamos uma nova forma de fazê-lo. Parafraseando Eriksen Costa, "a emissão de relatórios deve ser um processo versátil de forma que permita ao usuário definir o formato (PDF, HTML, TXT, etc) de saída que quer gerar". Desta forma, lanço o desafio para buscarmos uma forma de deixar a escolha do formato de geração do relatório para o usuário, algo não tão difícil de ser alcançado.

Atenciosamente,

Tiago de Faveri Giusti
Portabilis Tecnologia
http://www.portabilis.com.br


Autor: Tiago Giusti


22 comentários

  • 503e17102f7c813397aa672a32756b54?only path=false&size=50&d=404Eriksen Costa(usuário não autenticado)
    20 de Abril de 2010, 14:25

     

    Tiago,Observei algumas questões referentes a essas ferramentas. O iReport é uma ferramenta fantástica e vai facilitar muito a manutenção dos relatórios. Eu sei o quanto custa querer alterar um relatório no i-Educar e essa proposta veio em boa hora.Acho que podemos ampliar as possibilidade se considerarmos o JasperReports, aí sim teríamos possibilidade imediata de gerar os relatórios em múltiplos formatos.A classe PHPJasperXML em si copia algumas das funcionalidades do JasperReports mas é muito limitada. Criei um report com uma table linkada a um dataset e não gerou nada em meu PDF. Aliás, essa classe só gera saída em PDF. Pesquisando o que outros projetos já fizeram, percebi o quanto é difícil pensar em uma implementação que seja satisfatória em sua totalidade. Existem dois caminhos claros para mim: criar uma infra-estrutura própria ou confiar totalmente em software externo. Sempre lembrando que tudo tem seus prós e contras.O SugarCRM desenvolveu um ciclo próprio de conversão de PDF: assim como o desenvolvedor cria um template para uma tela do sistema ele pode criar um template PDF para a geração dessa tela nesse formato. No template, é tarefa do programador criar um layout para o PDF e de chamar as funções de print para os dados. Nesse ponto, não se distancia muito do i-Educar pois, para fazer um controle preciso de posicionamento (eixo XY), é necessário um grande esforço de codificação e debugging. Em sua proposta, esse overhead é eliminado pelo iReport, ao qual facilita na criação de modelos com total liberdade de posicionamento no layout. A desvantagem é que aqui não conseguimos criar um template para visualização no próprio i-Educar (imaginando que tivéssemos um modelo como o do Sugar).Uma tabela comparativa deixa essas diferenças mais claras:  JasperReports PHPJasperXML SugarCRM csv V X - xls V X - ods V X - html V X V pdf V V VA solução através do JasperReports nativo é a mais completa, no entanto, adiciona uma dependência externa com uma aplicativo Java. PHPJasperXML permite converter um relatório criado no iReport, entretanto, está limitado a gerar apenas PDF. A solução do SugarCRM permite a criação de layouts para HTML e PDF porém, o trabalho de criar o PDF é todo do programador.Eu sou a favor de soluções simples que resolvam nossos problemas imediatos e vejo o PHPJasperXML como alternativa viável. Porém, é necessário lembrar dessas observações para que no futuro saibamos que temos diversas alternativas interessantes. Podemos disponibilizar opcionalmente a integração completa com o JasperReports e ao mesmo tempo melhorar a classe PHPJasperXML para que esta suporte gráficos ou criar um modelo híbrido que use programação pura para a visualização HTML e um report Jasper para a geração de HTML.Só é preciso mensurar bem o que queremos e o quanto podemos evoluir esta classe. É bem claro que ela implementa uma parte mínima do schema de relatório Jasper (como já citei sobre a tentativa de usar uma tabela com um dataset). O schema contém diversos elementos e implementá-los em PHP seria uma tarefa a parte do i-Educar por si só. Talvez até um novo projeto de componente open source.Para encerrar, como hoje a prioridade é termos relatórios impressos, prefiro focar em uma implementação mais simples do que buscar uma solução mais complexa tendo em vista que já temos muita coisas complicadas a trabalhar.+1 para a empreitada.Parabéns pela proposta!
    Eriksen Costa
    Analista Desenvolvedor
    Projeto i-Educar, contribuições
    Cobra Tecnologia S.A.

    • 5ce7fd2186dba70870c9b3d16a3f6727?only path=false&size=50&d=404Eduardo Nunes Seixas(usuário não autenticado)
      19 de Junho de 2014, 18:57

       

      Olá. Eu estou desenvolvendo um sistema e usando o phpjasperxml.

      No desenvolvimento do orcamento em pdf, tive um problema que é o seguinte:

      a classe phpjasperxml não consegue comunicar com o ireport passando um array para o objeto table do ireport. No ireport, meu modelo de orcamento está ok, mas quando mando do php para o ireport, não consigo alimentar a table.

       

       

       

Mapeamento do i-Educar por todo o Brasil

23 de Abril de 2018, 16:31, por Tiago Giusti

A Portabilis, organização que é integrante da comunidade desde 2009 e que atua no papel de mantenedora do projeto, propôs uma renovação de energias, ao final de 2017, para levar o i-Educar ainda mais longe.



Situação atual do lançamento do maior software livre de gestão escolar do Brasil

10 de Abril de 2018, 11:29, por Tiago Giusti

O Coordenador da Comunidade i-Educar e CEO da Portabilis, Tiago Giusti, foi a Brasília, no fim do ano passado, representando a Comunidade i-Educar numa visita ao Ministério do Planejamento para discutir soluções para alguns assuntos de interesse da Comunidade, tais como:



Em 2018, queremos o i-Educar por todo o Brasil

28 de Dezembro de 2017, 23:08, por Tiago Giusti

Esta mensagem é diferente das de retrospectiva dos anos anteriores. Vamos abordar primeiro sobre o futuro, encerrando com um resumo de como foi 2017.



Prefeitura de Criciúma implanta o i-Educar na rede municipal de ensino

20 de Dezembro de 2017, 11:04, por Tiago Giusti

Buscando melhorar o sistema de informações da rede municipal de ensino de Criciúma, a Administração Municipal, através da Secretaria de Educação e da Diretoria de Tecnologia da Informação (TI), implantará um software de gestão de dados nas unidades educacionais. Denominado i-Educar, o sistema aperfeiçoará o armazenamento de dados e auxiliará gestores e professores de Criciúma.



Retrospectiva i-Educar 2016: o que conseguimos realizar?

31 de Dezembro de 2016, 12:00, por Tiago Giusti

Chegamos a mais um 31/12 e é hora de fazermos a retrospectiva da Comunidade i-Educar, como temos feito todos os finais de ano.