Sintaxe: ./abre_ano_generico.sh ANO_ANTIGO NOVO_ANO Onde:
Rode esse script com os parâmetros desejados e SEMPRE redirecione o resultado para algum arquivo. Isso facilitará a identificação dos erros ocorridos durante a execução (exemplo: ./abre_ano_generico.sh 2004 2008 > log_abertura_2008).
Durante a execução, o script criará os diretórios/arquivos de dados do novo ano, migrará os dados do ano antigo para "anteriores", copiará dados de RH do ano anterior para o novo ano aberto e criará diretórios onde ficarão as páginas HTML estáticas de cada departamento.
Obs.: Esse script utiliza outros script presentes em /home/rpa/shell. Logo, execute-o sempre de dentro desse diretório.
O script abre_ano_generico.sh não trata o caso do departamento vvrac, ou seja, não cria o diretório /home/rpa/dados/vvrac/NOVO_ANO. Sendo assim, seus diretórios deverão ser criadas manualmente. Para isso, copie a pasta do novo ano criada em um departamento qualquer e, na cópia criada, lembre-se de limpar o conteúdo dos arquivos.
Alguns scripts utilizam os dados presentes nesse arquivo. Logo, edite-o para incluir o novo ano aberto. É só copiar a tabela do ano anterior e mudar a chave para o novo ano.
Edite a tabela rpa_anos existente no script init.lua. Esse procedimento abrirá o novo ano na interface do sistema.
Se possível, realize a importação das disciplinas do SAU para o RPA para todos os departamentos.
Quando o período do Coleta começar, é necessário prepará-lo para realizar a conversão do novo ano. Para isso, é necessário alterar o arquivo /home/rpa/conversor/Coleta.sql.
Este arquivo possui instruções para criar um banco de dados temporário que é utilizado durante a conversão e popula algumas de suas tabelas, como a col_info_discentes e a col_motivo_afastamento com alguns dados básicos. Para preparar a conversão para o próximo ano é necessário alterar este preenchimento das tabelas. Para isso, procure trechos do arquivo que estejam inserindo na tabela um ano e dados referentes a ele. Abaixo está um exemplo. No caso, a conversão do ano anterior foi em 2008 e estamos preparando a conversão de 2009.
|
2006 3 Outra Atividade de Educação, C&T 2006 4 Outro Motivo 2007 1 Estágio pós-doutoral 2007 2 Estágio sênior 2007 3 Outra Atividade de Educação, C&T 2007 4 Outro Motivo 2008 1 Estágio pós-doutoral 2008 2 Estágio sênior 2008 3 Outra Atividade de Educação, C&T 2008 4 Outro Motivo \. |
Copie os dados que foram associados ao ano anterior (no caso, 2008) e cole tudo logo antes do \., substituindo 2008 por 2009. Neste exemplo, ficaria assim:
|
2006 3 Outra Atividade de Educação, C&T 2006 4 Outro Motivo 2007 1 Estágio pós-doutoral 2007 2 Estágio sênior 2007 3 Outra Atividade de Educação, C&T 2007 4 Outro Motivo 2008 1 Estágio pós-doutoral 2008 2 Estágio sênior 2008 3 Outra Atividade de Educação, C&T 2008 4 Outro Motivo 2009 1 Estágio pós-doutoral 2009 2 Estágio sênior 2009 3 Outra Atividade de Educação, C&T 2009 4 Outro Motivo \. |
Repita este passo para todos os procedimentos de preenchimento de tabela que existem nesse arquivo.
Caso aconteça um erro durante a conversão do Coleta, é preciso investigar os arquivos de log que são /home/rpa/conversor/[CENTRO]/[DEPARTAMENTO]/convertidos/conv_cgi.log, que possui informações sobre a criação do banco de dados temporário que é utilizado pela conversão, e /home/rpa/conversor/[CENTRO]/[DEPARTAMENTO]/convertidos/sql.log, que possui informações sobre o preenchimento do banco de dados mencionado anteriormente.
Quando o erro for sanado, é necessário liberar a flag que o sistema usa para saber se o procedimento está em andamento ou não (quando acontece um erro, a conversão é interrompida, mas este arquivo não é eliminado para que o usuário não tente outra conversão). Para isso, apague o arquivo /home/rpa/public_html/projeto/[CENTRO]/[DEPARTAMENTO]/convertidos/processando. Enquanto este arquivo existir, o sistema não poderá realizar outra conversão para o departamento onde o erro ocorreu.
O campo id_producao se relaciona com as tabelas area_concentracao (producao_area_concentracao) e area_conhecimento (producao_area_conhecimento). Alguns itens nos arquivos de dados do RPA que se relacionam com essas tabelas, possuem o campo id_producao.
Esse esquema de relacionamento pode acasionar em dois tipos de inconsistencia: podem existir dois registros com o mesmo id_producao, quando cada registro deve possuir um; e podem existir registros com id_producao cujo valor não exista no banco de dados. Embora acredita-se que o problema tenha sido resolvido, existem scripts que detectam e corrigem essas inconsistencias:
Varre os arquivos de dados, procura id_producao duplicado, mas não corrige. Para correção, utilize o script 'corrige_id_prod_duplicado.sh'. Não recebe parâmetros. Ao final, gera o arquivo 'id_producao_duplicado.log', contendo a relação de cada id_producão duplicado
Varre os arquivos de dados, procura id_producao duplicado. Caso encontre, cria um novo id_producao para o registro, copiando os relacionamentos no banco. Não recebe parâmetros. Ao final, gera o arquivo 'id_producao_corrigido.log', contendo a relação de cada id_producão duplicado, que foi encontrado e regerado.
Obs: este script reescreve os arquivos de dados, mesmo se não encontrar id_producao duplicado. Portanto, o script deve ser executado com o Apache fora do ar. Recomenda-se executar o script 'verifica_duplicacao_id_producao.sh' anteriormente, pois como este lê, e não sobrescreve, pode ser executado mesmo com o sistema em uso.
Varre os arquivos de dados, procura id_producao que não existam no banco e realiza a inserção dos mesmos na tabela producao. Opcionalmente, pode ser executado para um departamento específico, recebendo como parâmetro o centro/departamento desejado. Caso nenhum parâmetro seja passado, executa para todos os departamentos ativos (exceto vvrac).
O link de acesso Inserir periódicos encontra-se na parte de Serviços do RPA@PUC.
A página Inserção de Periódicos permite a inserção de periódicos no banco de dados. Corresponde a um formulário, que deve ser preenchido corretamente com os dados do periódico a ser inserido.
Antes de preencher os dados do periódico, confira-os na internet a partir dos links presentes na página.
Conferindo os dados na internet:
Todo periódico, antes de ser inserido, deverá ser consultado no site do Qualis. Esse procedimento é feito para, além de confirmar a existência do periódico, verificar se este já foi classificado pelo Qualis.
Caso o periódico não tenha sido encontrado no Qualis nem por ISSN e nem por título, procure no site oficial de cadastros de ISSNs.
Isso é feito para confirmar a existência do mesmo e corrigir possíveis erros no título e/ou ISSN.
O título a ser cadastrado no nosso sistema é o presente no campo "Key Title".
Caso não encontre o periódico em nenhuma das fontes anteriores, busque no Google. É uma forma de descobrir se o periódico realmente existe.
Após inserir, verifique se foi apresentada uma mensagem de sucesso ou de "Periódio Já Existente". Em ambos os casos, avise ao interessado por e-mail a respeito do ocorrido.
Mensagem default para cadastramento de periódico com sucesso:
Ao responder, não esqueça de mandar uma cópia para equipeccpa.
A importação de disciplinas do SAU para o RPA de um determinado ano e período não sobrescreve as disciplinas que já tiverem sido cadastradas manualmente pelo departamento. Ou seja, uma vez que já houver disciplinas cadastradas manualmente, quando a importação for feita, poderão haver casos de disciplinas duplicadas, pois as disciplinas do SAU apenas serão adicionadas a lista das já anteriormente cadastradas.
Visando evitar essa duplicação, antes de realizar a importação das disciplinas, verifique se algum departamento já cadastrou alguma disciplina manualmente:
Caso haja alguma disciplina já cadastrada em algum(ns) departamento(s), envie e-mail para o(s) mesmo(s) (clique aqui para ver o modelo da mensagem a ser enviada), perguntando se deseja(m) que a importação seja feita, mesmo que os dados fiquem duplicados.
Importando...
A importação de disciplinas de graduação e pós-graduação do SAU para o RPA é feita através do link de acesso
Conversão das disciplinas do SAU para o RPA
localizado na página de Serviços do RPA@PUC.
Após entrar no link, basta escolher o departamento, o ano e o período para o qual deseja fazer a importação e clicar no botão Processa.
OBSERVAÇÃO:
Durante a importação, é comum surgir o erro "Departamento XXX inválido".
Isso significa que a sigla XXX não está mapeada na tabela mapeia_dptos (utilizada pela função trata_dpto_orig) do módulo m_disciplinas.lua (/home/rpa/modulos/m_disciplinas.lua). Busque saber se esse departamento deverá ser ignorado (XXX = 0,) ou mapeado para algum outro (XXX = YYY,).
O diretório rpa/shell/subst_dados possui scripts para a substituição de strings (em geral nomes) dentro dos arquivos de dados e do banco do RPA.
Acha um nome dentro dos arquivos de dados de um departamento. Recebe o nome e um departamento (podendo ser "/" para todos), sendo que também é necessário informar o centro. Por exemplo: ctc/di.
Utiliza um arquivo como referência para realizar as substituições de nomes nos arquivos de dados do(s) departamento(s) fornecidos (pondendo ser "/" para todos os departamentos), sendo que também é necessário informar o centro. Por exemplo: ctc/di. Abaixo está um exemplo de como deve ser este arquivo com as substituições. Ele mostra 2 substituições que devem ser feitas: uma é trocar os nomes Geiza por Giza e os nomes Waston devem ser substituídos por Washington:
Geiza
Giza
Waston
Washington
O resultado da execução mostra quatro linhas com as substituições sendo efetuadas, os arquivos que são processados e algumas linhas com números.
Por exemplo:
"Geiza; > "Giza;
; Geiza; > ; Giza;
; Geiza", > ; Giza",
"Geiza" > "Giza"
Processando /home/rpa/dados/ctc/dem/2004/pu.dat ...
Processando /home/rpa/dados/ctc/dem/2004/pp.dat ...
Processando /home/rpa/dados/ctc/dem/2004/ae_int.dat ...
Processando /home/rpa/dados/ctc/dem/2004/ae.dat ...
Processando /home/rpa/dados/ctc/dem/2004/ie.dat ...
Processando /home/rpa/dados/ctc/dem/2004/rh.dat ...
...
Substitui um nome nos arquivos de dados do(s) departamento(s) informado(s) (podendo ser "/" para todos). O script recebe dois nomes, sendo o primeiro, nome1, o nome que será substituído e o segundo, nome2, o novo nome. Por último, o script recebe um ou mais departamentos. Modifica os arquivos de dados.
Substitui um nome dentro dos campos da tabela trabalhos_conclusao do banco do RPA. Recebe os dois nomes e um departamento (pode ser "/" para todos | não precisa conter o centro).
Substitui um nome dentro de um campo em uma tabela do banco do RPA. Recebe os dois nomes, a tabela, o campo e a condição SQL extra (opcional).
Script auxiliar que gera a listagem de nomes quando a correção a ser feita é a mudança de caixa alta para capitalização normal. Recebe os nomes do arquivos de entrada e de saída. Cria um arquivo.
Note que alguns scripts chamam outros scripts do diretório, então é necessário estar dentro desse diretório para executá-los.
Esporadicamente a Carla Leitão solicita relatórios a partir de dados do Coleta. A lista abaixo contém os relatórios solicitados e o script a ser executado para obter os dados de cada um deles.
O script coleta_totaliza.lua realiza consultas no banco de dados do Coleta através da interface do HSQLDB (para maiores informações de instalação e carregamento de dados no HSQLDB, leia o script /home/rpa/shell/Relatorio_CAPEs/coleta/README.txt). A Carla Leitão normalmente solicita, além dos números, uma planilha de conferência. Este script gera os dois tipos de planilhas: de totais e de conferência. Para gerar os totais solicitados, execute-o com o parâmetro count. Para gerar a planilha de conferência, execute-o com o parâmetro list.
Os códigos CAPES (consulte-os na tabela programa_inf_complementares, coluna idcapes) dos programas de pós-graduação a serem consultados deverão ser incluídos na tabela programas do script. Os anos a serem utilizados na consulta deverão ser colocados nas variárivas TRES_ANOS_ANTERIORES e CINCO_ANOS_ANTERIORES do script. Caso haja(m) algum(ns) professor(es) a ser(em) filtrado(s), deverá(ão) ser incluído(s) na tabela TAB_EXCECAO.
A seguir, há um exemplo da tabela TAB_EXCECAO, aonde serão incluídos no relatório todos os professores da Química (31005012005P5) menos o "João" e a "Joana" e apenas os professores "Paulo" e "Paula" da Civil (31005012010P9). Em seguida, há um exemplo da execução para cada tipo de parâmetro, gerando duas planilhas diferentes.
local TAB_EXCECAO = {
["31005012005P5"] = { -- Química
excluir = {
"12345255367", -- CPF do João
"67890354643", -- CPF da Joana
},
},
["31005012010P9"] = { -- Civil
incluir = {
"98765356733", -- CPF do Paulo
"76543424678", -- CPF da Paula
}
},
}
-- Relatório com os números solicitados
cd /home/rpa/shell/Relatorio_CAPEs/coleta/
./coleta_totaliza.lua count > relat_count.csv
-- Relatório com os dados de conferência dos números
cd /home/rpa/shell/Relatorio_CAPEs/coleta/
./coleta_totaliza.lua list > relat_list.csv