Instalação
Atenção! Antes de seguir o processo de instalação certifique-se de que possui um usuário ativo nas ferramentas de desenvolvimento do Pandora. Caso não possua, entre em contato com a equipe do projeto.
Instalação de Pacotes Básicos no Servidor
O sistema está homologado para rodar em servidores Linux Debian Wheezy 64 Bits com Apache 2.2, PostgreSQL 9.1 e PHP 5.4. No caso da Embrapa Gado de Corte, ele roda em produção em uma máquina virtual XEN 4.1 com este sistema operacional no hospedeiro e na VM.
Inicie o processo instalando alguns pacotes básicos no seu servidor:
aptitude update aptitude install vim mailutils ntpdate
Configure o ‘ntpdate’ e o servidor SMTP local conforme as caracterÃsticas da rede de sua Unidade.
aptitude install build-essential bzip2 subversion apache2 postfix php5 php5-pgsql php5-gd php5-imagick php5-sqlite php5-cli php5-curl php5-mcrypt php5-ldap php-pear php5-dev php-apc xpdf-utils antiword openjdk-7-jre
O Pandora possui suporte nativo aos idiomas português (brasileiro), inglês e espanhol. Para que o suporte a estes locales funcione corretamente no sistema é preciso ativá-los:
dpkg-reconfigure locales
Em seguida, da lista que aparece, selecione as opções:
en_US UTF-8 es_ES UTF-8 pt_BR UTF-8
Instalação do PostgreSQL
Execute o comando:
aptitude install postgresql-9.1
Por fim:
vim /etc/postgresql/9.1/main/pg_hba.conf
Trocar as linhas:
# "local" is for Unix domain socket connections only local all all peer
Para:
# "local" is for Unix domain socket connections only local all all trust
Isso fará com que aplicações rodando localmente e acessando o PostgreSQL por sockets Unix não necessitem de autenticação (senha). Em servidores que irão rodar instâncias do Titan (como o Pandora) esta caracterÃstica é importante para o backup on demand.
/etc/init.d/postgresql restart
Configuração do PHP
Crie as seguintes pastas:
mkdir -p /var/www/pandora mkdir -p /var/www/log mkdir -p /var/www/file/pandora/file mkdir -p /var/www/file/pandora/cache mkdir -p /var/www/file/pandora/backup mkdir -p /var/www/file/tmp
Dê o comando:
vim /etc/php5/apache2/php.ini
E edite as diretivas abaixo com os respectivos valores:
open_basedir = /var/www post_max_size = 64M upload_tmp_dir = /var/www/file/tmp upload_max_filesize = 64M session.save_path = "/var/www/file/tmp" date.timezone = America/Campo_Grande sendmail_path = "/usr/sbin/sendmail -t -i"
Configure o APC, adicionando, ao final do php.ini, as seguintes linhas:
[apc] apc.enabled=1 apc.shm_segments=1 apc.shm_size=32 apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/var/www/file/tmp/apc.XXXXXX apc.enable_cli=1
Em seguida:
gzip -dc /usr/share/doc/php-apc/apc.php.gz > /var/www/pandora/apc.php
Configuração do Apache
Adicionar ao final do arquivo /etc/apache2/apache2.conf as linhas:
ServerTokens ProductOnly ServerSignature Off
Elas inibem a exibição de informações do servidor em páginas de erro do Apache.
Na configuração do site no Apache não se esquecer de remover a listagem de diretórios:
OptionsIndexesFollowSymLinks MultiViews
E envie os LOGs para o diretório apropriados:
ErrorLog /var/www/log/pandora-error.log CustomLog /var/www/log/pandora-access.log combined
Ativar o mod_rewrite:
a2enmod rewrite
Edite a configuração do seu site no Apache (p.e. /etc/apache2/sites-available/default) alterando a linha:
Options FollowSymLinks MultiViews AllowOverrideNoneall Order allow,deny allow from all
Configure o site do Pandora no Apache.
Por fim:
/etc/init.d/apache2 restart
Obtendo a Aplicação
Baixe a head revision (checkout) da aplicação criando uma workcopy no servidor:
svn co https://svn.cnpgc.embrapa.br/pandora/app /var/www/pandora
Crie as seguintes pastas:
mkdir -p /var/www/pandora/titan
Faça também o checkout dos arquivos do framework Titan:
svn co https://svn.cnpgc.embrapa.br/titan/core /var/www/pandora/titan
Crie os links simbólicos necessários:
ln -s /var/www/file/pandora/file /var/www/pandora/file ln -s /var/www/file/pandora/cache /var/www/pandora/cache ln -s /var/www/file/pandora/backup /var/www/pandora/backup
Obtendo o Banco de Dados
Entre com o usuário do PostgreSQL e crie o bando de dados da aplicação:
su - postgres createuser -E -P pandora createdb -E utf8 -O pandora pandora
Ainda como usuário do PostgreSQL, faça checkout do dump do banco de dados do Pandora e um restore pro SGBD do seu servidor:
mkdir ~/pandora_db svn co https://svn.cnpgc.embrapa.br/pandora/db ~/pandora_db psql -U pandora -d pandora < ~/pandora_db/last.sql exit
Este é um DUMP do DB em produção livre de dados sensÃveis. Ele possui apenas a estrutura do DB, metadados (como tabelas populadas de área de conhecimento, cidades e estados) e alguns dados comuns a todas as Unidades (p.e., convênios de estágio). Também estão disponÃveis os seguintes usuários:
- ‘admin‘: acesso de administrador (super-usuário).
- ‘gestor‘: acesso a todos os módulos de gestão.
- ‘estagiario‘: acesso como um “Membro da Comunidade Externa”, exatamente como se fosse utilizado o formulário de cadastro público.
- ‘supervisor‘: acesso como um supervisor de estágio.
- ‘sgp‘: acesso como um gestor do SGP (gestão apenas do Módulo de Estágios).
- ‘sof‘: acesso como um gestor do SOF (gestão apenas do Módulo Orçamentário).
Todos com a senha ‘test‘. Vale lembrar que esta senha apenas funcionará se você não integrar o Pandora ao LDAP da sua Unidade (veja abaixo). Caso faça isso, você deverá inserir estes usuários ao LDAP ou simplesmente apagá-los do DB.
Configurando a Aplicação
Edite o arquivo de configuração:
vim /var/www/pandora/configure/titan.xml
Alterando, conforme mostrado a seguir, os itens destacados:
<?xml version="1.0" encoding="UTF-8"?> <titan-configuration name="PANDORA • Sistema Integrado de Gestão e Pesquisa" description="Embrapa's ERP system automation and process improvement. | pt_BR: Sistema ERP da Embrapa de automatização e melhoria de processos. | es_ES: automatización de Embrapa ERP sistema y mejora de procesos." url="http://pandora.cnxxx.embrapa.br/" e-mail="cnxxx.pandora@embrapa.br" login-url="http://pandora.cnxxx.embrapa.br/titan.php?target=logon" core-path="titan/" cache-path="cache/" doc-path="doc/" debug-mode="false" session="uma_hash_randomica" author="<img alt="Creative Commons License" style="border-width: 0pt; cursor: default;" src="titan.php?target=loadFile&file=interface/image/cc.png"><label>© 2011 ¤ <a href="http://www.cnpgc.embrapa.br/" target="_blank">Embrapa Gado de Corte</a></label>" language="pt_BR,en_US,es_ES" all-sections="false"> <database sgbd="PostgreSQL" host="localhost" name="pandora" user="pandora" password="" schema="titan" /> <security xml-path="configure/security.xml" hash="outra_hash_randomica" ldap-xml-path="configure/ldap.xml" timeout="3600" encrypt-on-client="false" /> <search hash="mais_uma_hash_randomica" timeout="15552000" /> <archive xml-path="configure/archive.xml" data-path="file/" /> <business-layer xml-path="configure/business.xml" /> <skin logo="logo.png" icon="favicon.ico" /> <mail xml-path="configure/mail.xml" /> <alert xml-path="configure/alert.xml" /> <version-control schema="version" /> <type xml-path="configure/type.xml" /> <log db-path="cache/log.db" xml-path="configure/log.xml" /> <schedule hash="uma_ultima_hash_randomica" /> <friendly-url change-password="password" disable-alerts="alert" rss="rss" /> <backup path="backup/" validity="86400" timeout="86400" /> </titan-configuration>
Agora acerte as permissões:
chown -R root:staff /var/www find /var/www -type d -exec chmod 775 {} \; find /var/www -type f -exec chmod 664 {} \; chown -R www-data:staff /var/www/file find /var/www/file -type d -exec chmod 755 {} \; find /var/www/file -type f -exec chmod 644 {} \;
Seu sistema já está acessÃvel pelo navegador.
Por fim, configure o sistema de scheduler jobs do Titan no CRON adicionando as seguintes linhas no arquivo ‘/etc/crontab‘:
0 3 * * * root /usr/bin/wget --no-check-certificate "https://pandora.cnxxx.embrapa.br/titan.php?target=schedule&hash=uma_ultima_hash_randomica&job=daily" -O /dev/null -o /dev/null 5 * * * * root /usr/bin/wget --no-check-certificate "https://pandora.cnxxx.embrapa.br/titan.php?target=schedule&hash=uma_ultima_hash_randomica&job=hourly" -O /dev/null -o /dev/null * * * * * root /usr/bin/wget --no-check-certificate "https://pandora.cnxxx.embrapa.br/titan.php?target=schedule&hash=uma_ultima_hash_randomica&job=minutely" -O /dev/null -o /dev/null
Repare que é necessário corrigir o endereço URL da aplicação e corrigir o valor da hash colocando o valor setado na diretiva ‘hash‘ da tag ‘schedule‘ do arquivo ‘configure/titan.xml‘.
É imprescindÃvel que o mod_rewrite do Apache esteja funcionando corretamente. Para verificar, tente acessar o ‘titan.xml’ por meio do navegador (p.e., https://pandora.cnxxx.embrapa.br/configure/titan.xml).
Configurando o LDAP
Existem 5 tipos de usuários (atores do sistema) configurados no Pandora:
- Comunidade Externa: Qualquer usuário que se registre no Pandora por meio do cadastro público;
- Comunidade Interna: Terceirizados, estagiários, bolsistas ou qualquer pessoa que atue na Unidade mas não seja um funcionário;
- Assistente;
- Analista; e
- Pesquisador.
A definição de cada um destes tipos é configurada no arquivo ‘configure/security.xml‘:
<?xml version="1.0" encoding="ISO-8859-1"?> <security-mapping> <user-type label="External Community | pt_BR: Comunidade Externa" name="security.community" type="public" form-modify="modify.xml" form-register="register.xml" profile="system.home/profile" ldap="community" register-on-logon="true" /> <user-type label="Internal Community | pt_BR: Comunidade Interna" name="security.internal" type="private" form-modify="modify.xml" form-register="register.xml" profile="system.home/profile" ldap="internal" /> <user-type label="Assistant | pt_BR: Assistente | es_ES: Asistente" name="security.assistant" type="private" form-modify="modify.xml" form-ldap="ldap.xml" profile="system.home/profile" ldap="assistant" /> <user-type label="Analyst | pt_BR: Analista | es_ES: Analistas" name="security.analyst" type="private" form-modify="modify.xml" form-ldap="ldap.xml" profile="system.home/profile" ldap="analyst" /> <user-type label="Researcher | pt_BR: Pesquisador | es_ES: Investigador" name="security.researcher" type="private" form-modify="modify.xml" form-ldap="ldap.xml" profile="system.home/profile" ldap="researcher" /> </security-mapping>
Cada um destes tipos representa grupos de usuários da Unidade (com dados e permissões distintas). Na ocasião da implantação do Pandora na Gado de Corte, o LDAP foi reestruturado em grupos (organizational unit) de forma a seguir esta mesma organização (veja a figura abaixo). Caso não queira integrar o Pandora ao LDAP na sua Unidade, simplesmente apague as linhas em destaque mostradas acima, ou seja, os atributos ‘ldap‘ das tags ‘user-type‘ do arquivo ‘configure/security.xml‘.
O mapeamento dos tipos de usuários definidos no ‘configure/security.xml‘ com o LDAP da Unidade é feito no arquivo ‘configure/ldap.xml‘. Assim, em cada atributo ‘ldap‘ da tag ‘user-type‘ do ‘security.xml‘ há uma tag de configuração correspondente no arquivo ‘ldap.xml‘:
<?xml version="1.0" encoding="ISO-8859-1"?> <ldap-mapping> <ldap id="community" host="ldap.cnpgc.embrapa.br" user="root" password="" dn="dc=cnpgc,dc=embrapa,dc=br" ou="community,ou=people" gid="100" update="true" password-hash="md5"> <class name="sambaSamAccount" /> <class name="inetOrgPerson" path="local/ldap/inetOrgPerson/" /> <class name="qmailUser" path="local/ldap/qmailUser/" /> </ldap> <ldap id="internal" host="ldap.cnpgc.embrapa.br" user="root" password="" dn="dc=cnpgc,dc=embrapa,dc=br" ou="internal,ou=people" gid="100" update="true" password-hash="md5"> <class name="sambaSamAccount" /> </ldap> <ldap id="assistant" host="ldap.cnpgc.embrapa.br" user="root" password="" dn="dc=cnpgc,dc=embrapa,dc=br" ou="assistant,ou=people" gid="100" update="true" password-hash="md5"> <class name="sambaSamAccount" /> </ldap> <ldap id="analyst" host="ldap.cnpgc.embrapa.br" user="root" password="" dn="dc=cnpgc,dc=embrapa,dc=br" ou="analyst,ou=people" gid="100" update="true" password-hash="md5"> <class name="sambaSamAccount" /> </ldap> <ldap id="researcher" host="ldap.cnpgc.embrapa.br" user="root" password="" dn="dc=cnpgc,dc=embrapa,dc=br" ou="researcher,ou=people" gid="100" update="true" password-hash="md5"> <class name="sambaSamAccount" /> </ldap> </ldap-mapping>
Se você quiser que o usuário possa atualizar seus próprios dados e os gestores do sistema possam alterar os dados de qualquer usuário do LDAP utilizando o Pandora é necessário inserir a senha do administrador do LDAP no atributo ‘password‘ da tag ‘ldap‘.
Configurações Adicionais na Interface da Aplicação
Neste ponto seu sistema já está rodando corretamente. São necessárias, no entanto, ajustar algumas configurações adicionais na própria ferramenta. Para isso, acesse o PANDORA com o login e senha de administrador. Vá em “Menu » Configurações do Sistema » Configurações Gerais“. Você verá algo semelhante ao formulário abaixo:
Clique em “Editar” e altere os campos, conforme explicitado abaixo:
- Módulo de Estágio » Antecedência de Solicitação (em dias): Antecedência mÃnima, em dias, para candidatar-se a uma oportunidade de estágio.
- Módulo de Estágio » PerÃodo MÃnimo (em dias): PerÃodo mÃnimo em dias de duração do estágio.
- Módulo de Estágio » Alterar o Tipo do Usuário: Configura o sistema para alterar o tipo do usuário quando o estágio tiver inÃcio.
- Módulo de Estágio » Restringir a Data de InÃcio: Configura o sistema para que as datas de Ãnicio do estágio sejam sempre na primeira ou terceira segunda-feira de cada mês.
- Módulo de Estágio » e-Mail para Requisição do Correio Corporativo: e-Mail para onde deve ser encaminhada a requisição de criação de e-mail corporativo para estagiários e bolsistas quando do Ãnicio da vigência do contrato.
- Página pública institucional de empregados » Logo da Unidade: Resolução recomendada de 207 pixels de largura por 100 pixels de altura.
- Página pública institucional de empregados » Link do Logo da Unidade: URL para a qual o visitante será remetido ao clicar no logo da Unidade.
Pacotes Adicionais
Caso deseje utilizar o Módulo de Gestão da Qualidade da mesma forma que este módulo é utilizado na Embrapa Gado de Corte, será necessário instalar o pacote ‘swf-tools‘ e o ‘pdf2swf‘. Para isso, siga os seguintes passos:
su - aptitude update aptitude install swftools cd ~/ wget http://swftools.org/swftools-2013-04-09-1007.tar.gz tar -zxvf swftools-2013-04-09-1007.tar.gz wget http://www.ijg.org/files/jpegsrc.v7.tar.gz tar -zvxf jpegsrc.v7.tar.gz wget http://downloads.sourceforge.net/project/freetype/freetype2/2.3.12/freetype-2.3.12.tar.gz tar -zvxf freetype-2.3.12.tar.gz cd ~/jpeg-7/ ./configure make make install cd ~/freetype-2.3.12 rm -f config.cache sudo ranlib /usr/local/lib/libjpeg.a sudo ldconfig /usr/local/lib sudo LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure sudo make sudo make install cd ~/swftools-2013-04-09-1007 sudo LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure sudo make sudo make install
Veja mais informações em:
http://designbye.wordpress.com/2010/02/23/installing-swftools-and-pdf2swf-on-ubuntu-linux/
Backup da Aplicação
Para assegurar que não haverá perda de dados em caso de falhas, basta efetuar, periodicamente, o backup do banco de dados e dos arquivos de upload. Recomenda-se também salvar em alguma mÃdia os arquivos de configurações editados neste tutorial.
Para o backup do banco de dados, execute os comandos:
su - postgres pg_dump -Fp -O -x pandora > /tmp/pandora.db.YYYYMMDD.sql gzip pandora.db.YYYYMMDD.sql
Lembre-se de substituir o pósfixo ‘YYYYMMDD’ pelo ano, mês e dia, respectivamente. Grave o arquivo resultante em uma mÃdia ou storage de backup.
Para o backup dos arquivos de upload, faça:
tar -czf /tmp/pandora.file.YYYYMMDD.tar.gz /var/www/file/pandora/file tar -czf /tmp/pandora.cache.YYYYMMDD.tar.gz /var/www/file/pandora/cache
O Titan Framework, utilizado na implementação no Pandora, também oferece uma funcionalidade para efetuar backup on demand. Esta funcionalidade está descrita na lista de discussão do framework. Caso tenha seguido na Ãntegra os passos de instalação descritos neste tutorial, o Pandora já estará apto para o uso desta funcionalidade.
Configurando os WebServices
O Pandora disponibiliza alguns WebServices para interação com outros sistemas da Unidade. Por exemplo, para divulgar na página da Unidade as oportunidades de estágio disponibilizadas no Pandora foi criado um WebService disponibilizado na pasta ‘ws‘. Já há uma implementação de um cliente que acessa este serviço disponÃvel no repositório SVN. Faça checkout do seguinte caminho:
https://svn.cnpgc.embrapa.br/pandora/web/trainee/
Sinta-se a vontade para acoplar este código no portal de sua Unidade. Também é possÃvel acoplá-lo, da forma que está, por meio de um ‘iframe‘ no portal da Unidade (já testado no Liferay, p.e.).
Importando Dados do IDEARE
Para que o sistema funcione corretamente é essencial que a árvore SEG de projetos da sua Unidade esteja carregada no banco de dados. Para fazer a importação destes dados do IDEARE, basta utilizar o ambiente de Business Intelligence da Embrapa, disponÃvel em:
Há um documento Web Intelligence denominado ‘PANDORA.Importacao_de_projetos_SEG‘, do universo DPD – IDEARE, disponÃvel na pasta pública da Gado de Corte:
Faça uma cópia deste documento para sua pasta privada. Abra o documento copiado e vá no botão SQL. Lá você encontrará a seguinte query:
SELECT substring (dw.dw_dpd.dm_planoacao.cd_seg, 1, 2) || '.' || substring (dw.dw_dpd.dm_planoacao.cd_seg, 3, 2) || '.' || substring (dw.dw_dpd.dm_planoacao.cd_seg, 5, 2) || '.' || substring (dw.dw_dpd.dm_planoacao.cd_seg, 7, 3) || '.' || substring (dw.dw_dpd.dm_planoacao.cd_seg, 10, 2) || '.' || substring (dw.dw_dpd.dm_planoacao.cd_seg, 12, 2), dw_template.dm_submissao.ds_titulo_submissao, dw_template.dm_submissao.sg_submissao, dw_template.dm_submissao.nm_lider, dw_template.dm_submissao.nr_matricula_lider, dw_template.dm_submissao.nm_unidade_lider, dw_template.dm_submissao.dt_inicio_projeto, dw_template.dm_submissao.dt_inicio_projeto + cast(dw_template.dm_submissao.qt_meses_duracao || ' month' as interval), dw_template.dm_submissao.ds_resumo_projeto, case when dw_template.dm_submissao.id_submissao_planogerencial is not null then dw_template.dm_submissao.id_submissao_planogerencial else dw_template.dm_submissao.sk_submissao end, dw.dw_dpd.dm_planoacao.ds_titulo_planoacao, dw.dw_dpd.dm_planoacao.ds_planoacao, dw.dw_dpd.dm_planoacao.nr_matricula_responsavel, dw.dw_dpd.dm_planoacao.nm_responsavel, dw.dw_dpd.dm_planoacao.nm_instituicao_resp, case when dw.dw_dpd.dm_planoacao.in_concluido = '1' then 'sim' else 'não' end, dw.dw_dpd.dm_atividade_pa.ds_titulo_atividade , dw.dw_dpd.dm_atividade_pa.ds_atividade, dw.dw_dpd.dm_atividade_pa.nr_mesinicio, dw.dw_dpd.dm_atividade_pa.nr_duracaomeses, case when dw.dw_dpd.dm_atividade_pa.in_concluido = '1' then 'sim' else 'não' end, dw.dw_dpd.dm_atividade_pa.nm_responsavel, dw.dw_dpd.dm_atividade_pa.nr_matricula_responsavel, dw.dw_dpd.dm_atividade_pa.nm_instituicao_resp, dw_template.dm_submissao.sg_unidade_lider, case when (login.cd_unidade in (139006,102004,104000,105007,106005,111005) or login.cd_unidade = dw_template.dm_submissao.cd_unidade_lider) then dw.dw_dpd.dm_planoacao.sg_instituicao_resp end, dw.dw_dpd.dm_atividade_pa.sg_instituicao_resp, dw_template.dm_submissao.sk_submissao FROM (select cd_unidade from dw.dm_empregado where nm_login_bo = @variable('BOUSER')) login, dw.dw_dpd.dm_atividade_pa RIGHT OUTER JOIN dw.dw_dpd.dm_planoacao ON (dw.dw_dpd.dm_atividade_pa.sk_planoacao=dw.dw_dpd.dm_planoacao.sk_planoacao) RIGHT OUTER JOIN dw_template.dm_submissao ON (dw.dw_dpd.dm_planoacao.sk_submissao=dw_template.dm_submissao.sk_submissao) WHERE dw_template.dm_submissao.sg_unidade_lider = 'CNPGC' OR dw.dw_dpd.dm_planoacao.sg_instituicao_resp = 'CNPGC' OR dw.dw_dpd.dm_atividade_pa.sg_instituicao_resp = 'CNPGC';
Altere as referências à ‘CNPGC‘ (linhas em destaque) para a sigla da sua Unidade e salve. Agora execute a consulta.
Após executar, utilize a opção “Salvar no Meu Computador como » CSV (com opções)…“. Selecione o qualificador de texto como aspas duplas (“), o delimitador de colunas como ponto-e-vÃrgula (;) e o conjunto de caracteres como ‘Unicode (UTF-8)‘.
Para importar os dados do arquivo CSV gerado para do banco de dados do Pandora utilize o script disponÃvel no repositório SVN no caminho ‘https://svn.cnpgc.embrapa.br/pandora/src/income_bi.php‘. A configuração deste arquivo é trivial, bastando alterar o caminho para o CSV e dos dados de conexão com o DB (linhas 5 a 11):
$_file = 'cnpxx.csv'; $_db_host = 'pandora'; $_db_port = '5432'; $_db_name = 'pandora'; $_db_user = 'pandora'; $_db_pass = '';
Importante! Este arquivo utiliza transações e, ao final, nas linhas 368 e 369, há os comandos de ‘$db->commit ();‘ e ‘$db->rollBack ();‘. Por padrão, o ‘commit‘ está comentado. Recomenda-se, por segurança, executar o script desta forma. Caso não retorne erros, comente ‘rollBack‘ (linha 369) e descomente o ‘commit‘ (linha 368) e execute novamente o script para que os dados sejam de fato importados.
Vale citar que este arquivo é autônomo, ou seja, não utiliza nenhum outro arquivo do Pandora. Assim, você pode executá-lo diretamente de seu servidor LAMP local, desde que haja conexão com o DB de produção.
Você pode repetir este procedimento sazionalmente (p.e., uma vez por mês). Este script sempre atuará na base inserindo novos projetos e atualizando os existentes. Atualmente há um erro no cliente SMTP da ferramenta de Web Intelligence (já reportado à equipe responsável). Quando este erro for corrigido o procedimento de atualização da árvore SEG do Pandora será automatizado.
Importando Dados do SIDE
Também é possÃvel (e necessário) importar a árvore do Plano Diretor da Unidade (PDU) para o Pandora para poder utilizar o Módulo de Soluções Técnológicas. Para isto, deve-se acessar o ambiente de Business Intelligence novamente e fazer uma cópia do documento denominado ‘PANDORA.Importacao_do_PDU‘, do universo DPD – SIDE, disponÃvel na pasta pública da Gado de Corte.
Atualize a consulta no documento supracitado e exporte em CSV conforme descrito na importação de projetos. É necessário inserir manualmente na tabela ‘technology.pdu‘ do DB do Pandora os PDUs. Desta forma os Objetivos Estratégicos, Objetivos EspecÃficos (Contribuições) e as Metas serão importados do CSV para o PDU inserido. No caso da Gado de Corte os PDUs foram adicionados por meio das seguintes querys:
INSERT INTO technology.pdu (id, title, bi, unity, year_start, year_end, horizon, _user) VALUES (2, 'IV Plano Diretor da Embrapa Gado de Corte', 'IV - 2008 a 2011', 1, '2008', '2011', '2023', 3000); INSERT INTO technology.pdu (id, title, bi, unity, year_start, year_end, horizon, _user) VALUES (1, 'III Plano Diretor da Embrapa Gado de Corte', 'III - 2004 a 2007', 1, '2004', '2007', '2019', 3000);
Repare que o valor na coluna ‘bi‘ deve corresponder com exatidão à coluna ‘Plano Diretor (PDU)‘ do CSV.
Agora utilize o script disponÃvel no repositório SVN no caminho ‘https://svn.cnpgc.embrapa.br/pandora/src/income_pdu.php‘. Lembre-se de alterar a configuração no próprio arquivo.
Importante! Assim como na importação dos projetos do IDEARE, este arquivo também conta com duas linhas finais de ‘$db->commit ();‘ e ‘$db->rollBack ();‘. Por padrão, o ‘commit‘ está comentado. Recomenda-se, por segurança, executar o script desta forma. Caso não retorne erros, comente ‘rollBack‘ (linha 232) e descomente o ‘commit‘ (linha 231) e execute novamente o script para que os dados sejam de fato importados.
Este arquivo também é autônomo, ou seja, não utiliza nenhum outro arquivo do Pandora. Assim, você pode executá-lo diretamente de seu servidor LAMP local, desde que haja conexão com o DB de produção. Repita este procedimento sazionalmente para manter o PDU atualizado em sua instância do Pandora.