# Geração de Relatório em Ambiente Local

Guia para configuração da dependência DataExporter, responsável por gerar os relatórios em ambiente local sem a necessidade de enviar dados para o WebService.

# Instalando a dependência


No seu composer.json, adicione o zeedhi/dataexporter na versão 1.14 (ou superior). Atualize seu ambiente com o comando composer update.

"zeedhi/dataexporter": "1.14.*"

No seu bower.json, adicione ou atualize a dependência zh-reports para a versão 1.26 (ou superior). Atualize novamente seu ambiente com o comando bower update && grunt

"zh-reports": "1.26.*"

Atenção

Essa versão do zh-reports, por padrão, apenas vai gerar relatórios em ambiente local. Caso for necessário utilizar via WebService, será necessário configurar em cada tela.

# Configurações

# bootstrap.php (backend)


No arquivo que carrega sua aplicação, geralmente chamado bootstrap.php, carregue as configurações do DataExporter e suas rotas.

(...)
require __DIR__ . "/vendor/zeedhi/dataexporter/bootstrap.php";

(...)
$routes[] = __DIR__ . '/vendor/zeedhi/dataexporter/routes.json';

Nota

Verifique os diretórios de acordo com sua aplicação. Pode haver a necessidade de utilizar ../ em alguns casos.

# parameters.xml (backend)


Adicione os parâmetros necessários para funcionamento da rotina no seu xml. Geralmente, essa configuração é feita no parameters.xml

<parameter key="zeedhi_data_exporter_folder">/tmp/</parameter>
<parameter key="zeedhi_data_exporter_timeout">600</parameter>
  • zeedhi_data_exporter_folder: Diretório temporário onde os relatórios serão gerados. Recomendável utilizar o /tmp/.
  • zeedhi_data_exporter_timeout: Tempo máximo de execução para geração dos relatórios, em segundos. O exemplo acima se trata de 10 minutos.

Atenção

Configure o timeout de acordo com a realidade da sua aplicação. Relatórios com volumes massivos de dados podem demorar muito para serem gerados.

# mongo (backend)


É necessário que o parâmetro mongoOptions esteja configurado. As parametrizações do mongo, geralmente, ficam no arquivo parameters.xml também. Exemplo de configuração abaixo:




 

<parameter key="mongoHost">mongoteste.teknisa.com</parameter>
<parameter key="mongoPort">27020</parameter>
<parameter key="mongoDBName">YourProduct</parameter>
<parameter key="mongoOptions" type="collection"></parameter>

# environment.json (frontend)


Adicione o parâmetro exporterUrl que será utilizado como base para abrir o relatório em nova aba do navegador.

"exporterUrl": "../backend/service/index.php"

Atenção

  • Lembrem-se de configurar tudo nos arquivos .template caso existam.
  • Atentar-se para o link configurado de acordo com ambientes desenvolvimento, teste e produção, visando a realidade da sua aplicação. Geralmente, se utiliza mnemônico nesse casos.