Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inserir propriedade hash manualmente para arquivos que não devem sofrer alteração #41

Closed
fjuniorr opened this issue Jul 6, 2023 · 3 comments

Comments

@fjuniorr
Copy link
Contributor

fjuniorr commented Jul 6, 2023

Em um dado momento do tempo pode acontecer que os arquivos primários de determinado conjunto não devem mais ser atualizados.

Isso é inclusive um requisito legal da Lei de Acesso a Informação (LAI) que obriga a garantia da integridade1 das informações disponíveis para acesso.

Nesses casos podemos informar manualmente a propriedade hash em cada recurso e o frictionless validate datapackage.yaml vai identificar se houve alguma modificação acidental:. Por exemplo:

─────────────────────────────────────────────────────────────── Tables ────────────────────────────────────────────────────────────────
                                                          acoes_planejamento                                                           
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Row  ┃ Field ┃ Type       ┃ Message                                                                                                 ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ None │ None  │ hash-count │ The data source does not match the expected hash count: expected is                                     │
│      │       │            │ "d5aa5075fb2dc53d9c58bc4afa2fdf85d0af900c97be88abdc05a12cc89b8bb2" and actual is                        │
│      │       │            │ "c5aa5075fb2dc53d9c58bc4afa2fdf85d0af900c97be88abdc05a12cc89b8bb2"                                      │
└──────┴───────┴────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Uma questão em aberto é que o cálculo da hash do frictionless-py ainda é diferente entre windows e unix.

A discussão do issue transparencia-mg/remuneracao#34 também é relevante para ilustrar a necessidade de garantir a linhagem dos dados.

Footnotes

  1. definida como qualidade da informação não modificada, inclusive quanto à origem, trânsito e destino

@fjuniorr
Copy link
Contributor Author

fjuniorr commented Jul 6, 2023

@fjuniorr fjuniorr closed this as completed Jul 6, 2023
@fjuniorr
Copy link
Contributor Author

Talvez o hashdeep que vamos utilizar no dpm para implementar o data.lock seja uma alternativa melhor.

Vamos investigar em splor-mg/atividades#70 o suporte cross-plataforma.

@labanca
Copy link

labanca commented Sep 5, 2023

Encontrei a última versão compilada para Windows md5deep-4.4.zip. A versão do repositório oficial funciona somente em sistemas Unix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants