Cachina’s Programming Blog


Instalar o Dolphin (Emulador da Gamecube e Wii) no Ubuntu

Posted in How To,Informática,LINUX,Ubuntu por Mayron Cachina em julho 9, 2010
Tags: , , ,

Dolphin é um emulador para jogos da Nintendo Game Cube e Nintendo Wii

Para quem diz que o Linux não é o “paraíso” dos jogos, hoje trago-vos algo que pode mudar a opinião de alguns utilizadores. Diferente daquilo que temos vindo  a apresentar aqui no pplware, hoje o assunto é jogos, mais concretamente um emulador de jogos para Linux, o Dolphin.

dolphin_00

//

O Dolphin é um emulador para jogos da Nintendo Game Cube e Nintendo Wii, sendo um dos emuladores mais completo e perfeito. Depois de este fim de semana ter visto este emulador a funcionar, devo confessar que fiquei rendido à qualidade gráfica dos jogos e interface que disponibiliza.

Para quem queira ver mais vídeos de demonstração, pode fazê-lo aqui

O Dolphin foi recentemente actualizado para a versão 2.0, trazendo consigo algumas novidades.

A maioria dos jogos funcionam perfeitamente ou com pequenos problemas. Os jogos podem ser emulados em HD Quality (Alta Definição) até a resolução de 1080p. Isso é uma característica memorável já que as próprios consolas Gamecube e Wii não são capazes disso.

Algumas características:

  • Suporte ao Wii Menu
  • Frameskip
  • Suporte ao Wiimote e Nunchuck
  • Excelente qualidade som som
  • Suporte para HD Quality (1080p)
  • Suporte para Anti-Aliasing e Anisotropic Filtering
  • Possibilidade de salvar qualquer jogo

Como instalar no Ubuntu via PPA

Para instalar no Ubuntu Karmic basta entrar no terminal, e inserir o seguinte bloco de comandos

sudo add-apt-repository ppa:glennric/dolphin-emu
 sudo apt-get update
 sudo apt-get install dolphin-emu

Depois de instalado, para arrancar o dolphin, basta escrever no terminal o seguinte comando

dolphin-emu

dolphin_01

Agora só têm de arranjar as roms do jogos que mais gostam.

O dolphin encontra-se também disponível para WindowsMacOS e outras versões do Linux.

Requisitos do sistema

Dolphin suporta multi-processador.

  • Windows XP7Vista/Win7, Linux ou MacOSX Intel.
  • CPU com SSE2.
  • Placa de vídeo com Pixel Shader 2.0 ou melhor. Nem todas as placas de vídeo onboard funcionam. saber mais

Licença: Open Source
Sistemas Operativos: Windows/MacOS/Linux
Download: Dolphin v2.0 Linux 32 (2.4 MB) | Linux64 (2.7 MB)
Download: Dolphin v2.0 MacOS
Download: Dolphin v2.0 Win32 (4.8 MB) | Win64 (6.1 MB)
Download: Mais vídeo de demonstração aqui
Homepage: dolphin-emu (PT)

Fonte: PPLWARE

Corrigindo erro do Virtualbox 3.2.4 no Ubuntu 10.04

Posted in Dicas,Informática,LINUX,Ubuntu por Mayron Cachina em julho 1, 2010
Tags: , , ,

Recentemente trabalhando com minhas máquinas virtuais no Virtualbox 3.2.4, da Sun/Oracle, me deparei com a seguinte mensagem de erro ao tentar executar qualquer uma máquina virtual

Linux: Corrigindo 'Erro: Kernel driver not installed (rc=-1908)'  do Virtualbox 3.2.4 no Ubuntu 10.04

Após algumas varreduras no Oráculo (Google), cheguei a seguinte solução, que compartilho com vocês.

1° passo:

Verificar através do comando “cat /etc/group” se o seu usuário pertence ao grupo de usuários vboxusers. Caso não, execute o comando abaixo:

$ sudo addgroup usuário vboxusers

2° passo:

Executar o comando da mensagem de erro como usuário root.

$ sudo /etc/init.d/vboxdrv setup

3° passo:

Dar permissão de leitura, escrita e execução ao o usuário root e ao grupo de usuários da pasta /dev/vboxdrv.

$ sudo chmod 770 /dev/vboxdrv

Pronto! Agora você já pode voltar a brincar com as suas máquinas virtuais. 😉

Fonte: Vida o Linux

Grande dica do Amigo Phillip Pimenta , já tinha feito isso na atualização do 9.10, mais agora precisei de novo e não me lembrava 🙂

Testes Funcionais com Selenium IDE

Palestra que eu ministrei na SINFO, explicando como utilizar a ferramenta Selenium para criação de testes funcionais para teste nos sistemas.

Microsoft (obviamente) diz que seria melhor o Google continuar usando Windows

Posted in google,Informática,Notícias por Mayron Cachina em junho 2, 2010
Tags: ,

A Microsoft não gostou nem um pouco que um funcionário do Google foi a público e contou que o grande irmão Google vai acabar com a presença do Windows em sua sede, em favor do OS X e Linux. Eles responderam, lembrando que o Windows é mais seguro que a concorrência:

Quando se trata de segurança, até mesmo hackers admitem que fazemos um trabalho melhor que qualquer outro de tornar nossos produtos mais seguros. E não são apenas os hackers: empresas influentes e líderes da indústria como a Cisco nos dizem constantemente que nosso foco e investimento [em segurança] continua a superar os outros. Um artigo de hoje da InfoWorld discute como os Macs estão sob ataque de malware de alto risco – o artigo chega a perguntar se este é um sinal das coisas que virão no futuro da Apple e segurança.

Por sua vez, David Marcus da McAfee reforça o coro, dizendo que a culpa da Operation Aurora – a invasão dos servidores do Google por hackers na China – não foi culpa da Microsoft:

Faria alguma diferença se as vítimas estivessem rodando Linux ou qualquer outro sistema operacional se um hacker fizer um ataque tão sofisticado assim? Nem um pouco. Linux, Windows, Mac, não interessa – tudo tem pontos fracos. Em especial os usuários desses sistemas.

O ataque dos hackers ao Google usou um código que só funcionava no Internet Explorer 6 – esta praga que se recusa a morrer de uma vez – no Windows 2000 ou XP. Porque o Google estava usando IE6 em seus servidores, ninguém sabe. Mas ao eliminar aos poucos o Windows de seus computadores, parece que o Google, como diz o ditado, resolveu jogar fora a água do banho com a criança junto. [Windows Team Blog e McAfee Labs Blog via TG Daily]

FONTE: GIZMODO

Mude a barra de localização para modo texto!

Posted in How To,LINUX,Ubuntu por Mayron Cachina em junho 2, 2010
Tags: , ,

Outrora, em versões anteriores ao Ubuntu Lucid Lynx, o Nautilus, o gestor de ficheiros do Ubuntu, trazia um botão que permitia alternar entre os dois modos de visualização da localização actual. Um dos modos é o que vem por padrão no Ubuntu Lucid Lynx em que mostra um botão para cada pasta que entrou e o outro modo é de texto. Como nem todos os utilizadores gostam do primeiro modo e até preferem o modo texto para puderem navegar como se tivessem no terminal, então fiz este artigo que explica de uma forma muito simples, como se pode mudar para o modo texto.

Este artigo é constituído por três modos de resolução do problema: um muito simples que basca copiar uma linha para o terminal; outro mais demorado através da navegação de janelas; e um método temporário mas extremamente rápido. Recomendo o primeiro simplesmente por ser muito mais rápido de executar e definitivo.

Procedimento

A forma de alternar o modo recomendada por mim é muito simples e passa por copiar uma das linhas seguintes apresentadas para o terminal. A seguir serão apresentadas duas linhas do terminal que permitem activar o modo texto e, no caso de não gostar, permitem voltar ao modo normal, sem ser de texto.

Assim, se quer ter o modo texto na barra de localização do explorador de ficheiros, então escreva o seguinte no terminal:

gconftool-2 –type=Boolean –set /apps/nautilus/preferences/always_use_location_entry true

Se não gostou do resultado e quer voltar para o modo anterior, basta escrever o seguinte:

gconftool-2 –type=Boolean –set /apps/nautilus/preferences/always_use_location_entry false

Maneira alternativa (através de janelas)

Alternativamente ao modo explicado acima, que utiliza o terminal para fazer as alterações, esta maneira alternativa utiliza uma aplicação chamada “Editor de configuração” e que pode ser acedida fazendo a combinação de teclas ALT+F2 e escrevendo o seguinte:

gconf-editor

Quando tiver o “Editor de Configuração” aberto, deverá navegar através da lista do lado esquerdo da seguinte maneira:

/apps/nautilus/preferences/

De seguida, do lado direito, deverá procurar a opção intitulada “always_use_location_entry“. Para activar ou desactivar o modo texto, deverá pôr um visto ou retirá-lo, respectivamente.

Alternativa Temporária

Existe uma maneira muito simples e rápida de apresentar o modo texto que foi referida pelo utilizador Sérgio Silva. Essa maneira é através de uma combinação de teclas, por isso é impossível aceder a esse modo de uma forma mais rápida. O único inconveniente desta alternativa é o facto de a mudança ser temporária.

Se você apenas tem interesse em ver o modo de texto temporariamente, então esta solução é perfeita para si! Ela funciona da seguinte maneira: quando tiver o Nautilus aberto, para pôr em modo de texto basta fazer a combinação de teclas CTRL+L; para voltar ao modo anterior basta carregar na tecla ESC (escape).

FONTE: UBUNTED

Compilador livre: Clang torna-se capaz de compilar a si próprio efetivamente

Posted in Informática,Notícias,Novidades por Mayron Cachina em fevereiro 17, 2010

O Clang, compilador em código aberto sendo desenvolvido no bojo do projeto LLVM (iniciado em 2000 na Universidade de Illinois), cada vez mais se aproxima de ser uma excelente opção para projetos que exijam compilação de C, C++ e Objective-C (e, em graus variados, também das demais linguagens para as quais já tem front-end implementado ou em andamento), contando também com a vantagem de ser oferecido sob uma licença verdadeiramente livre.

E a novidade do final da semana passada é que o Clang agora é um compilador self-hosted na prática, ou seja, é capaz de compilar o seu próprio código-fonte (o Clang mais o LLVM, equivalente a mais de 550K linhas de código em C++) integralmente, gerando um executável funcional capaz de novamente compilar o mesmo código-fonte, gerando mais uma vez um compilador funcional capaz do mesmo feito, e assim sucessivamente.

Parabéns aos desenvolvedores pelo atingimento deste importante marco! Aguardo noticiar em breve os próximos. A proposta do LLVM e as metas do Clang, em especial, são muito bem-vindas por mim.

Como a curiosidade a respeito é natural, vale mencionar que o Clang continua sendo um trabalho em andamento, e que ainda não é capaz de compilar o kernel Linux. Mas ele já compila o kernel do FreeBSD (para i386/amd64) há um ano, e o do DragonflyBSD também desde o ano passado. Em meados do ano passado ele já era capaz de compilar 99% do FreeBSD, e já era pública a discussão sobre adotá-lo como o compilador do FreeBSD, que já vinha levando a grande atenção aos ajustes, implementações e correções ainda necessários ao Clang para permitir uma migração completa. (via h-online.com)

Google Buzz: GMail com uma pitada de rede social

Posted in Informática,Notícias,Novidades por Mayron Cachina em fevereiro 10, 2010
Tags: , ,

Agora é oficial! Depois de centenas de boatos e rumores, finalmente a Google apresentou o que o mundo inteiro estava tentando descobrir. Em uma conferência no QG da empresa em Mountain View, na Califórnia, Bradley Horowitz, vice-presidente de produtos falou o que todos queriam ouvir.

A nova ferramenta se chama Google Buzz e é mais uma tentativa da Google em fazer sucesso com redes sociais. O anúncio começou com um discurso sobre as redes sociais e a necessidade de compartilhar tudo em tempo real, que nasceu com o Twitter. Com estes temas ficou fácil saber qual era a cara do Buzz.

Google Buzz

Tiros na água
A Google parece não ter sorte quando se fala em redes sociais. Ao lançar o Orkut, em 2004, a empresa chamou a atenção, mas com a invasão de brasileiros, indianos e outros países, os norte-americanos perderam o interesse pelo site de relacionamentos. Sendo assim, Orkut é sinônimo de sucesso em alguns países, mas carta fora do baralho para a Google.

Nem  tão famosos
O mesmo aconteceu com o Wave e com outra plataforma nos moldes Second Life, chamada Lively. Ambas morreram na praia e a “onda” do Wave virou uma marolinha, pois ninguém sabe ao certo para que ele serve.
Como vai funcionar?
O Google Buzz vai se integrar ao Gmail, sendo assim, sob o link da caixa de entrada, os usuários do serviço que já tiverem suas contas migradas, podem conferir o link “ Ele  está no Gmail” ao entrar no Gmail. A nova ferramenta trabalha com integração maciça aos serviços Google e aposta na interação, pois você pode compartilhar vídeos do YouTube,  fotos do Picasa, mostrar onde está através do Google Maps e muito mais. (more…)

Como usar mais de 3G de ram Ubuntu 32b

Posted in Dicas,How To,LINUX,Ubuntu por Mayron Cachina em janeiro 31, 2010
Tags: , , ,

Por padrão o Ubuntu só carrega até 3G de ram, com essa dica você pode usar o total de sua memória.

Basta apenas instalar os seguintes pacotes:

  • sudo apt-get install linux-restricted-modules-server
  • sudo apt-get install linux-headers-server
  • sudo apt-get install linux-image-server linux-server

Após isso, basta reiniciar o pc.

Obs: O primeiro modulo, eu tentei instalar mais ele não estava no repositório, mais instalando só os outros dois funcionou comigo.

15 novidades do Ubuntu 10.04 Lucid Lynx

Posted in Informática,LINUX,Notícias,Novidades,Ubuntu por Mayron Cachina em janeiro 31, 2010
Tags: , , ,

lucidlynx

A nova versão do Ubuntu, a 10.04, “nome de código” Lucid Lynx,  está já sob intenso desenvolvimento, tendo em vista o lançamento final a 29 de Abril de 2010. Esta versão será um LTS (Long Term Support), ou seja, versão que terá suporte oficial durante 3 anos na versão Desktop e durante 5 anos na versão Server. Por isso o maior objectivo para esta versão é a estabilidade e  a correcção de eventuais bugs e problemas decorrentes das inovações introduzidas em releases anteriores. Mas nem por isso deixa de conter algumas novidades que valem a pena ansiar pela versão final, e os detalhes começam já a surgir…

Por isso, aqui ficam 15 novidades que virão com o Ubuntu 10.04 Lucid Lynx (“Lince Lúcido”?!?!?):

  • Ubuntu Music Store: Quem usa Linux e Windows,certamente sente falta em Linux de uma aplicação que lhe permita comprar música online, a partir do seu ambiente de trabalho. Do estilo iTunes, por exemplo. A Ubuntu Music Store pretende colmatar essa falha. Integrada no Rhythmbox (que será provavelmente o reprodutor de música pré-instalado), permitirá comprar  e guardar no seu computador música, a partir do seu ambiente de trabalho, e através do serviço UbuntuOne poderá sincronizar essas músicas com todos os seus computadores e ainda com amigos. O Ubuntu servirá apenas como plataforma de interacção entre o utilizador e o vendedor do conteúdo digital. Rumores na blogosfera afirmam que a Cannonical tem como parceira neste projecto a loja online 7Digital.

musicshop

  • Gimp será substituído pelo Pitivi: Também o leque de aplicações que acompanham o cd será alvo de mudanças. O Gimp, considerado uma aplicação apenas para utilizadores profissionais e avançados, e devido à sua interface demasiado complexa, não virá instalado por omissão, sendo substituído pela aplicação de edição de vídeo Pitivi (apesar do Gimp continuar instalável a partir do Centro de Software), que actualmente tem em falta algumas funcionalidades chave de um bom editor de vídeo, em comparação com projectos como por exemplo o OpenShot. A decisão está ainda envolta em polémica e esperam-se novidades nos próximos meses…

400px-Capture-PiTiVi_v0.13.0.1

  • Melhoramentos no F-Spot para edição simples de imagem: Existem também ideias ou de melhorar o F-Spot e adicionar-lhe funcionalidades básicas de corte, edição e retoque de imagem, ou substituir esta aplicação por uma outra já com essas funcionalidades como o gThumb ou o Shotwell. O utilizador comum quer apenas editar algumas fotos com retoques básicos, remoção de olhos vermelhos, cortar, um efeito de luz aqui e outro ali, e o GIMP revelava-se complexo demais para essa tarefa. Portanto, esperam-se novidades nesta área. Na minha opinião pessoal, o F-Spot vai continuar mas com os melhoramentos que indiquei. É sem dúvida uma poderosa mas amigável interface a do F-Spot ;-)
  • Melhor selecção de jogos: Também os jogos pré-instalados vão ser repensados. A escolha vai recair em menos mas melhores jogos. Actualmente o Ubuntu conta com variados jogos “inúteis”, e não actualizados há muito, além de terem um aspecto e um sentido demasiado retro. Esta mudança era merecida. Um dos jogos a ser incluído é o gbrainy, um bastante desafiador e viciante jogo de brainstorming e estimulação mental. Existem vários jogos de qualidade nos repositórios de Ubuntu e esperemos que sejam esses mesmo a serem incluídos.

screenshot_043

  • Experiência de boot mais rápida e mais fluída: Também o boot no Lucid Lynx vai ser alvo de melhorias. Sempre com o objectivo dos 10 segundos de boot no dispositivo-alvo Dell Mini v10, este vai ser melhorado e usará novas tecnologias de modo a permitir uma experiência ao ligar o seu sistema totalmente fluída, atractiva e acima de tudo, rápida, para utilizadores de placas gráficas Intel, Nvidia e ATi. A má notícia é que para observar todo este processo de ligação do seu computador, não poderá tirar os olhos do computador. Simplesmente acontece demasiado depressa :-D

xsplash-3_thumb[1]

  • Projecto “100 Papercuts”: O projecto “100 Papercuts” é um projecto que pretende identificar e corrigir bugs mínimos e facilmente corrigíveis de usabilidade no Ubuntu e nas suas aplicações. Este projecto já se reflectiu no Karmic Koala, e continuará nesta nova versão do Ubuntu. Bugs do ciclo Karmic, integração e acesso fácil ao Compiz (Compiz é o decorador de responsável pelos tão falados efeitos), Rhytmbox, Pitivi (ou a aplicação de vídeo que possa eventualmente substituí-la), Gwibber e Empathy serão alguns dos alvos deste projecto, e serão assim corrigidos alguns dos problemas mais proeminentes que afectam estas aplicações.
  • Nova ferramenta de Digitalização “Simple Scan”: O Ubuntu, embora muitos nunca tenham reparado, sempre trouxe consigo uma ferramenta de Digitalização, neste caso o XSane. O XSane é uma ferramenta poderosa e com elevado grau de compatibilidade, mas a sua integração no restante ambiente de trabalho e a sua interface em geral era tudo menos amigável e de fácil uso. Por isso está a ser desenvolvida uma nova aplicação para o substituir, de nome “Simple Scan”, uma interface simples de utilizar para facilmente digitalizar todo e qualquer tipo de documento em todo e qualquer tipo de impressora, e iniciando esse processo através de todo e qualquer tipo de aplicação. “Simple Scan” pode ser actualmente testadao adicionando este repositório e instalando de seguida pelo gestor de pacotes.

DocumentScanning[4]

  • Possibilidade de inclusão de uma ferramenta de backup: Esta é outra das aplicações que cada vez mais é essencial para o utilizador. As propostas para ferramenta de cópia de segurança são o Déjà-Dup e o Back in Time, ambos com suporte a backups automáticos regulares, backups selectivos para pasta/dispositivo externo/rede/Servidor online, e a restauro do sistema baseado num determinado backup. Estas são provavelmente as funcionalidades mais úteis e essenciais para a grande maioria dos utilizadores, pelo que uma ferramenta com esta é sempre bem-vinda.
  • Melhoramentos no Centro de Software: O Centro de Software Ubuntu caminha rapidamente para se tornar uma das soluções mais simples para instalação/remoção de programas, em qualquer dos 3 Sistemas Operativos principais – Windows, outras variantes Linux e Mac OS. No Ubuntu 10.04, vai-se tornar um centro onde pode instalar programas através de pacotes .deb de sites externos (substituindo o GDebi), onde pode adicionar/remover repositórios (Substituindo a aplicação Fontes de Aplicação) e onde poderá também actualizar o seu sistema. Confesso que estou curioso acerca das novidades do Centro de Software, no caminho para se tornar um verdadeiro centro de descoberta e gestão de aplicações, como poderão ver nesta mockup:

future-lobby

  • Melhorias a nível visual: Não irá haver um novo tema. Ponto. Mas irão haver melhorias e correcções de bugs no tema actual, e possível adição de temas propostos no CD. O pack de fantásticos ícones Humanity será melhorado (especialmente para se tentar obter um painel apenas com ícones no estilo Humanity acinzentado). Além disso, haverão ainda algumas modificações na janela de login, para se tentar obter uma total harmonia estética em todos os componentes que formam o sistema Operativo.
  • Indicadores de sistema: No painel superior do Ubuntu, existem vários ícones que fornecem informações sobre o sistema, e até um que condensa informações e acções das aplicações de comunicação. A ideia para o Lucid Lynx é unificar e criar uma interface comum e consistente que permite agregar aí informação inteligentemente. Bem, uma imagem, mesmo que um mero rascunho, permite perceber muito melhor o conceito:

mesession

power-menu

  • (Ainda) Mais melhoras nas notificações: As notificações do Ubuntu são cada vez mais um dos melhores sistemas de notificação actuais (quer visualmente quer em termos de facilidade de integração nas aplicações). Para o Lucid, as notificações estarão presentes com um novo modo, o modo “ocupado”. Por exemplo, se estiver a ver um filme em ecrã completo, não será notificado de coisas triviais como email, mensagens de chat. Avisos de bateria fraca ou de carga em bateria, esses sim, considerados “críticos” serão mostrados. Resta também esperar pela disponibilização de uma janela de configurações. A ver vamos…
  • screenshot_045
  • Projecto B-Sides: O projecto B-Sides é um projecto da comunidade que pretende facilitar a instalação de um leque de pacotes (codecs, utilitários, fontes, temas, Flash, aplicações multimédia, comunicação e de produtividade) ,que não estão incluídos no CD do Ubuntu, mas que são igualmente úteis e essenciais, complementando assim o sistema. Bastará instalar o pacote ‘b-sides’  e todas essas aplicações serão instaladas. Para mim que instalo várias vezes Ubuntu a familiares e amigos, esta é uma fantástica novidade, que me permitirá poupar ainda mais tempo na instalação e substituir aquela enorme linha de comandos a colar na consola, compilada por mim, perdida por aqui algures, pela beleza de dois cliques ;-) A lista completa de aplicações encontra-se aqui.
  • Gnome 2.30: A versão 2.30 do ambiente gráfico Gnome trará melhoramentos gerais em todas as aplicações, incluindo o cliente de mensagens instantâneas Empathy, o gravador de disco Brasero, o leitor de documentos Evince (suporte a OCR, converter imagem em texto) e melhorias a nível visual nos ícones e no painel. A lista completa de objectivos, aqui.
  • Linux Kernel 2.6.32: O Ubuntu 10.04 virá com a versão 2.6.32 do Linux Kernel, o que assegura maior estabilidade, maior rapidez e maior compatibilidade de hardware. Melhorias na gestão de energia e na virtualização são também esperadas.

E são estas as grandes novidades do Ubuntu Lucid Lynx. Mais virão com o passar dos meses, e aqui no KeroDicas é certo que as mencionaremos. Se quer agarrar já este Ubuntu 10.04, vai ter que esperar até 29 de Abril. Mas se nunca experimentou o Ubuntu, avançe e faça já o download do Ubuntu 9.10 Karmic Koala ;-)

FONTE: KeroDicas

Usando o iReport como gerador de relatórios para PHP

Posted in PHP por Mayron Cachina em janeiro 29, 2010
Tags: , , ,

Veremos hoje uma solução para utilizar um gerador de relatórios para a linguagem PHP. Consiste no uso do trabalho em conjunto de relatórios JasperReports e o pacote PHPJasperXML.

O que me motivou a buscar esta solução foi a procura por um gerador de relatórios para PHP, na grande maioria das vezes com insucesso.

A linguagem PHP é extremamente flexível e muitos desenvolvedores que a utilizam, quando necessitam desenvolver relatórios, fazem seu próprio código, desenvolvendo suas próprias quebras de linha etc. Só que o uso de softwares geradores de relatórios, os chamados reports generators, trazem inúmeras vantagens ao desenvolvedor. Além de ser mais profissional o uso destes softwares, pois poupa tempo de desenvolvimento por serem muito mais fáceis de confeccionar do que se elaborar um código para esta finalidade, é também útil quando se necessita de suporte, pois diversos usuários do mundo inteiro utilizam desses softwares.

iReport

O iReport é um desenhador de layouts para JasperReports. É muito utilizado por desenvolvedores da linguagem Java, sendo uma alternativa livre ao excelente Crystal Reports. Neste link o download pode ser feito, além de conter tutoriais. É necessário ter a suíte JDK já instalada para fazer a instalação do iReport. Não é o foco do artigo a explicação de como utilizar o iReport.

Além de ser muito intuitivo e de fácil uso, é útil em praticamente todas as necessidades na confecção de um relatório. Traz diversas opções como uso de código de barras, sub-relatórios e etc. O iReport permite que os relatórios sejam gerados em XML, PDF, HTML, DOCX, ODT, dentre outros formatos.

Ao inserir as informações de conexão com o banco de dados (o iReport traz diversas opções como JDBC, Conexão com Hibernate, XML e etc), processo que pode ser visto aqui, é gerado um arquivo de extensão jrxml. Ao ser compilado, um arquivo de extensão jasper também é gerado (arquivo executável do relatório). Faz analogia à linguagem Java, que tem o código residente nos arquivos de extensão JAVA (no caso do iReport, extensão jrxml). Depois de compilados são gerados arquivos de extensão CLASS (no iReport, jasper).

PHPJasperXML

O PHPJasperXML possibilita a leitura de arquivos jrxml, feitos utilizando o iReport, para transformá-los em relatórios no formato PDF, com o auxílio da classe FPDF. É escrito em PHP e muito fácil de ser configurado. É também uma solução alternativa ao PHP/Java Bridge.

Na página do projeto é possível fazer o download do código. Além de conter tutoriais.

Para seu uso é necessário basicamente editar o arquivo setting.php, que contém as variáveis indicativas da conexão com banco de dados.

O arquivo PHPJasperXML.inc contém a classe PHPJasperXML, que faz todo o “trabalho pesado” de conectar com o banco de dados (vem configurada para MySQL), ler o conteúdo arquivo jrxml e junto com a classe FPDF, gerar o relatório em PDF.

Exemplo de utilização

Irei exemplificar o uso do iReport com a classe PHPJasperXML.

Para nosso exemplo é necessário ter o SGBD MySQL instalado. Crie o banco de dados com os seguintes comandos:

CREATE DATABASE ProjetoPHP;

USE ProjetoPHP;

CREATE TABLE usuarios (

id INT(11) NOT NULL AUTO_INCREMENT, nome VARCHAR(50),

PRIMARY KEY (id)

);

INSERT INTO usuarios (nome) VALUES ('PHP'), ('MySQL'), ('JasperReports'), ('PHPJasperXML');

Após criar nosso banco de dados, chamado ProjetoPHP, é o momento de elaborar o relatório. Para nosso exemplo, o relatório será chamado de phpjasperxml.jrxml. A conexão com o banco de dados que criamos deverá ser feita no iReport (esse processo é exemplificado em um link no texto introdutório do iReport, acima). Após criada a conexão, vamos inserir a seguinte query no Report Query do relatório (para ver como inserir queries no iReport, confira aqui):

SELECT
* FROM usuarios;

Esta query nos retornará dois fields (id e nome) que deverão estar no relatório.

Finalizando nosso relatório, deverá ser inserido um parâmetro chamado descricao. Para saber como adicionar parâmetros em um relatório com o iReport, confira aqui.

Depois de feito o download do PHPJasperXML, basta extrair a pasta class e o arquivo setting.php para a pasta de seu projeto.

A figura abaixo mostra a elaboração deste relatório no iReport:

Figura 1: Elaboração do relatório no iReport.

Para nosso exemplo, o projeto será chamado relatorioPHP. No arquivo setting.php, você deve informar o caminho para seu banco de dados, como a seguir:

<?php

$server="localhost";

$db="phpjasperxml";

$user="root";

$pass="phpmaster";

$version="0.6d";

?> 

A variável $version não precisa ser editada. Você pode criar um arquivo que irá instanciar a classe PHPJasperXML. Vamos chamar este arquivo de exemplo.php e seu conteúdo é descrito abaixo:

<?php

include_once('class/fpdf/FPDF.php');

include_once("class/PHPJasperXML.inc");

include_once ('setting.php');

$xml = simplexml_load_file("phpjasperxml.jrxml"); //informe onde está seu arquivo jrxml

$PHPJasperXML = new PHPJasperXML();

$PHPJasperXML->debugsql=false;

$descricao=$_GET["descricao"]; //recebendo o parâmetro descrição

$PHPJasperXML->arrayParameter=array("descricao"=>$descricao); //passa o parâmetro cadastrado no iReport

$PHPJasperXML->xml_dismantle($xml);

$PHPJasperXML->connect($server,$user,$pass,$db);

$PHPJasperXML->transferDBtoArray($server,$user,$pass,$db);

$PHPJasperXML->outpage("I");

?> 

Agora vamos testar nossa aplicação. Basta ir ao browser e digitar http://localhost/relatorioPHP/exemplo.php?descricao=HelloWord

Se tudo ocorrer como o esperado, será exibido o relatório em PDF, de acordo com a figura 2:

Figura 2: Relatório gerado

O parâmetro é passado pelo método GET e tratado no nosso arquivo exemplo.php. Como este parâmetro já é esperado pelo relatório, definido em sua criação, é repassado pela classe PHPJasperXML ao nosso relatório.

Uma observação é que no momento da elaboração do iReport, não se deve colocar nenhum objeto (Fields, parâmetros, Labels e etc) nas bandas Title e Column Header do relatório. Isso porque a classe PHPJasperXML não trata essas bandas e os objetos contidos nela simplesmente não são exibidos no relatório. Essa observação só vale caso você queira utilizar o iReport com a classe PHPJasperXML, que é o nosso caso. Nos relatórios gerados pelo iReport (e não pela classe PHPJapserXML), os elementos contidos nestas bandas são exibidos normalmente.

Como foi dito, PHPJasperXML vem configurado para um conexão com MySQL. Para o que precisei foi necessário adaptar esta classe ao PostgreSQL. Meu amigo Ronaldo Meneguite disponibilizou em seu site, em artigo publicado também por ele, a classe modificada, que pode ser vista aqui.

*

Gostaria de agradecer à colega de trabalho, Jéssica Boalente Carvalho, pela ajuda na procura desta solução e na utilização da mesma. Ao amigo Ronaldo Louro Meneguite, por postar em seu site a classe PHPJasperXML que modifiquei aos moldes do PostgreSQL e pela troca de experiências sobre o assunto.

Referencia: IMasters

Próxima Página »