Ferramentas « Plataforma Pandora
Auto-update e Database Migration
Para garantir um bom controle sobre as modificações que são realizadas no Pandora (tanto no código da aplicação quanto em seu banco de dados) e assegurar que as instâncias geograficamente distribuídas não tenham problemas de atualização em ambientes de homologação e produção, foi adicionado ao Pandora a funcionalidade de auto-update. Esta funcionalidade delega ao serviço de schedular job do sistema operacional a responsabilidade pela atualização da aplicação. Assim, a cada intervalo de tempo pré-estabelecido, um script é executado trazendo do SVN novas revisões de arquivos e alterações a serem aplicadas ao banco de dados (um processo conhecido como database migration).
Esta funcionalidade é provida pelo Titan Framework, utilizado na construção do software. Informações detalhadas sobre seu funcionamento podem ser consultadas na lista de discussão do framework.
Para ativar esta funcionalidade é preciso, primeiramente, instalar a biblioteca 'SVN' do PECL do PHP. Para isto, execute os seguintes comandos:
aptitude install build-essential php-pear php5-dev libsvn-dev
echo "extension=svn.so" > /etc/php5/conf.d/svn.ini
Agora, edite as configurações da aplicação para halitar o uso da funcionalidade:
vim /var/www/pandora/configure/titan.xml
Insira no final do arquivo (dentro da tag 'titan-configuration') as linhas abaixo:
svn-login="update"
svn-password=""
svn-users="camilo.carromeu"
Repare que é necessário inserir uma senha (linha destacada). Entre em contato com a equipe do projeto para que seja enviada esta senha.
Por fim, programe a execução do seu script no schedular job do seu sistema operacional:
echo "*/15 * * * * root /usr/bin/php /var/www/pandora/titan/update/update.php /var/www/pandora/ > /var/log/titan-auto-update.log" >> /etc/crontab
Integração com o Currículo Lattes
É possível integrar o Pandora para que consuma informações disponíveis no Currículo Lattes. Para isto, é necessário que o IP do servidor de produção da instância esteja cadastrado nos WebServices de consumo de informações (de acesso restrito). Caso tenha interesse, entre em contato solicitando este cadastro.
O Pandora irá sincronizar uma série de dados (link para o Currículo Lattes, área de conhecimento, palavras-chave, experiência profissional, formação acadêmica e idiomas) por meio do CPF dos empregados.
O ambiente de teste do Pandora está em:
http://test.cnpgc.embrapa.br/pandora/
Os seguintes usuários de teste estão disponíveis:
't.admin': acesso de administrador (super-usuário).
't.gestor': acesso a todos os módulos de gestão.
't.estagiario': acesso como um "Membro da Comunidade Externa", exatamente como se fosse utilizado o formulário de cadastro público.
't.supervisor': acesso como um supervisor de estágio.
't.sgp': acesso como um gestor do SGP (gestão apenas do Módulo de Estágios).
't.sof': acesso como um gestor do SOF (gestão apenas do Módulo Orçamentário).
Todos com a senha "test" (sem aspas). Estão disponíveis também todos os usuários reais do sistema com esta mesma senha.
Foram apagados ou alterados todos os dados sensíveis (p.e., dados de usuários – apenas nome e e-mail são reais). Os valores depositados em projetos, tranferências e despesas foram gerados aleatoriamente.
Por favor, fiquem a vontade para alterar o que quiserem. Lembrem-se, no entanto, que, por ser um ambiente de teste, a qualquer momento as informações podem ser 'zeradas' para atualizar o sistema (o que irá acarretar na perda de todos os dados inseridos).
O gerenciador de projetos do Projeto Pandora está disponível em:
http://project.cnpgc.embrapa.br/
É utilizada a ferramenta ChiliProject (um fork do Redmine). Nela cada módulo do Pandora (Usuários, Estágio, Orçamento, etc) é mapeado como um subprojeto. As atividades são lançadas nos subprojetos e podem ser visualizadas, de forma consolidada, no projeto principal.
O repositório SVN com todo o código e documentação da Plataforma Pandora está disponível em:
https://svn.cnpgc.embrapa.br/pandora/
O SVN está integrado ao gerenciador de projetos. Para referenciar uma tarefa do gerenciador basta, durante o commit de modificações, colocar na mensagem de log a sintaxe "ref #[identificador da tarefa]". Para fechar uma tarefa, basta utilizar a sintaxe "close #[identificador da tarefa]". Como o gerenciador do Projeto Pandora envia e-mails completos sobre as tarefas atribuídas, basta consultar estes e-mails para saber o que deve ser feito e o identificador da tarefa. Ou seja, a interação com a interface do gerenciador é bastante minimizada.
O ambiente de desenvolvimento do Pandora é implementado utilizando o Vagrant e a base box do Titan Framework.
A configuração do ambiente está no diretório "box", na raiz do repositório. Atenção! Antes de instanciar seu ambiente, considere a penúltima linha do arquivo "box/Vagrantfile":
config.vm.provision "shell", path: "http://titan.cnpgc.embrapa.br/provisioner/embrapa.sh"
Esta linha define um "provisioner" que configura o ambiente com características da rede local da Embrapa Gado de Corte. Mais especificamente, por meio deste script são configurados o SMTP e o NTPDATE. Você pode comentar esta linha e configurar manualmente seu ambiente após a instanciação ou pode modificar o scrip "embrapa.sh" para sua Unidade.
Para compreender como instanciar e "subir" o ambiente, veja o tópico correlato na lista de discussão do Titan Framework.
Lista de Discussão do Titan Framework
A Plataforma Pandora foi desenvolvida utilizando o Titan Framework. Assim, recomenda-se fortemente a inscrição na lista de discussão deste framework.
Integração com o "scriptLattes"
Caso sua instância já esteja sincronizada com o Currículo Lattes (veja acima), por meio do CPF o Pandora captura o identificador do Lattes (número único de 16 dígitos). Utilizando este identificador e uma ferramenta denominada scriptLattes o Pandora gera um relatório consolidado que ficará disponível na URL da instância (p.e., http://pandora.cnpxx.embrapa.br/lattes).
Para executar o scriptLattes em sua instância é necessário instalar alguns pacotes adicionais do Python. Para o Debian faça:
aptitude install python-all python-setuptools python-utidylib python-matplotlib python-levenshtein python-pygraphviz python-numpy tidy python-scipy python-imaging
easy_install pytidylib
Pronto! Agora execute o script:
php /var/www/pandora/lattes/run/run.php &
O '&' ao final do comando diz ao sistema operacional que o execute em background. Isto é necessário pois, dependendo da quantidade de empregados com Currículo Lattes em sua Unidade, este script pode demorar muitas horas para finalizar a execução.
Recomenda-se que o relatório seja atualizado mensalmente. Para isso, basta programar o schedular job do seu sistema operacional. No Linux, adicione a seguinte linha ao '/etc/crontab' executando o comando:
echo "0 3 20 * * root /usr/bin/php /var/www/pandora/lattes/run/run.php > /var/log/pandora-lattes.log" >> /etc/crontab