A SINFO vem disponibilizando alguns aprimoramentos relacionados a sincronização de dados, um dos pontos sensíveis das aplicações e que geravam alguns inconsistências de informações entre os bancos e os sistemas. Além disso, muitos dados não eram sincronizados e vários casos de usos não enviavam a informação para os demais bancos. Com essas atualizações, esses pontos foram tratados individualmente: sincronização de pessoas, usuários e servidores, garantindo assim uma maior fidelidade em relação aos dados nos demais sistemas. Foram também tratadas questões na arquitetura para tratamento de erros, logs e controle transacional.
Esses aprimoramentos serão disponibilizados de forma gradativa, a fim de abranger todos os cenários possíveis. Devem ser consideradas a partir das versões listadas abaixo:
SIPAC 5.1.0+
SIGAA 3.46.0+
SIGADMIN 3.3.0+
SIGRH 4.43.0+
Obs.: É importante que os sistemas sejam atualizados de maneira conjunta, para que essas versões ou, pelo menos, seus scripts sejam executados em conjunto, permitindo a sincronização entre os bancos.
Diante desse cenário, as instituições que já utilizam essas versões devem ter um cuidado especial em relação a tabela 'comum.pessoa', que deve ter seus dados analisados em cada base, no intuito de observar possíveis inconsistências. Isso porque para que a sincronização funcione de forma adequada, as informações das bases devem estar uniformes (o máximo possível). Caso contrário, é possível que uma base sobrescreva/apague informações de outras, visto que a atualização de uma pessoa em uma base irá sincronizar todas as outras com todas as informações contida na base alterada (incluindo valores nulos).
As informações de pessoa sincronizadas são as 27 colunas a seguir:
1. Id
2. Bairro
3. Celular
4. Cep
5. Cidade
6. Cpf_cnpj
7. Complemento
8. Data de Nascimento
9. Email
10. Endereço
11. Funcionário
12. Internacional
13. Nome
14. Nome Ascii
15. Nome Mãe
16. Nome Oficial
17. Número (endereço)
18. País de Origem
19. Passaporte
20. Sexo
21. Telefone
22. Tipo
23. UF
24. Válido
25. Id Institucional
26. Id Sistema Origem
27. Última Atualização
Com isso, seguem algumas recomendações:
Desativação de timers : com o perigo de ter dados sobrescritos/apagados na sincronização entre os bancos em larga escala, os seguintes timers devem ser desativados:
TimerGerarIdInstitucionalPessoa;
Caso utilize o SIGRH:
Desativar TimerDadosRecursosHumanos;
Ativar TimerDadosRecursosHumanosViaSincronizacao;
Caso NÃO utilize o SIGRH:
Ativar TimerDadosRecursosHumanos;
Desativar TimerDadosRecursosHumanosViaSincronizacao;
Uniformização dos dados de pessoas entre os bancos: cada instituição deverá fazer a sua própria análise dos dados para realizar a sua uniformização. Após a análise, caso desejem, existe um projeto que auxilia nessa uniformização, com a execução de scripts pré-definidos, o Frade-Sync-Batch:
https://gitcooperacao.info.ufrn.br/referencia/frade-sync-batch
Obs.: A coluna id_global foi criada para ter uma noção geral dos registros que não estavam iguais, então foi criado apenas para análise. Assim, caso não deseje utilizá-la, esta deve ser removida dos scripts presente no projeto (src/main/java/br/ufrn/frade/sync/batch/pessoa/writer/). Para mais informações entrar em contato com o Apoio Técnico ou com a equipe de cooperação.
Após a uniformização o timer TimerGerarIdInstitucionalPessoa pode ser ativado.
Para as instituições que já possuem esses timers ativados e que tiveram problemas de dados sobrescritos/apagados em alguma das base de dados após sincronização e deseja reavê-los, será necessário a recuperação dos dados por restauração do backup do próprio.