digital-guard / preserv-BR

Digital Preservation of Brazilian metadata of donated maps.
http://git.digital-guard.org/preserv-BR
3 stars 1 forks source link

Novas planilhas donor e donatedPack #82

Open ppKrauss opened 2 years ago

ppKrauss commented 2 years ago

As planilhas donor.csv e donatedPack.csv são essenciais e controlam todos os identificadores do sistema, sendo também pré-requisto para a entrada de novos dados. É importante que seus dados sejam o mais simples e objetivos possível para que humanos possam controlar seus dados.

No workflow de atualização dessas planilhas, outro recurso para tornar a atualização mais amigável e atrativa à colaboração, foi adotado o uso da planilha colaborativa Google-docs, ao invés da interface pobre do Github, ou o trabalho de baixar e abrir num software externo como LibreOffice. O passo-a-passo da gestão das atualizações é o seguinte:

  1. Os responsáveis (atualmente Carlos e Luis) atualizam a aba "Donor" da planilha coleaborativa.
  2. O responsável por manter o git sincronizado com a planilha colaborativa (atualmente Luis) baixa com "salvar como CSV", substituindo no pacote git o arquivo donor.csv e então confere o resultado com o comando git diff donor.csv.
    Se detectar diferenças não-previstas, corrige a planilha colaborativa ou, em caso de novos dados ou nova estrutura de dados, confere com o restante da equipe o que fazer. Novas linhas de donor podem estar incompletas apenas no caso de sua coluna "status" não estar em "active" (por exemplo "inactive" ou "prospecting").
  3. (se tudo ok) faz git add; git commit -m "new donors"; git push .
  4. Os responsáveis (atualmente Carlos e Luis) atualizam a aba "DonatedPack" da planilha colaborativa.
  5. O responsável por manter o git sincronizado com a planilha colaborativa baixa com "salvar como CSV", substituindo no pacote git o arquivo donatedPack.csv e então confere o resultado com o comando git diff donatedPack.csv.
    Se detectar diferenças não-previstas, corrige a planilha colaborativa ou, em caso de novos dados ou nova estrutura de dados, confere com o restante da equipe o que fazer.
  6. (se tudo ok) faz git add; git commit -m "new packs"; git push .
  7. O responsável por manter o git sincronizado avisa por e-mail a equipe de suporte da bases de dados no servidor (atualmente Carlos, Claiton e Peter) que temos atualização das planilhas.
    (atualmente o procedimento é um make target mas no futuro poderá ser automatizado por Observer do git).

O workflow só vai funcionar se as estruturas das planilhas (cabeçalho das colunas) colaborativa e CSV forem exatamente as mesmas e a planilha colaborativa for inicialmente preparada com o conteúdo do CSV oficial. Importante notar que, na dúvida, a informação confiável é a contida no CSV.


Empreitada conjunta

A divisão de tarefas ainda não está clara, mas seriam as seguintes:

Correção da planilha

Foram incluídas as colnas `status" em ambas, e a forma de registro das licenças mudou, demandando agora garantia de JOIN com projeto Licences e registro dos rótulos de licença implícita, bem como distinção entre família de licença e licença.

Correção de software

luisfelipebr commented 2 years ago

@ppKrauss a maioria dos campos das planilhas donor e donatedPack podem ser preenchidos automaticamente, sem intervenção do analista. O preenchimento automático também evitaria erros humanos. Uma forma de abordar o preenchimento automático, ao mesmo tempo que incluindo um manual para preenchimento dos campos manuais, é utilizando um questionário.

Adicionei outros comentários e dúvidas neste documento. Sugiro agendarmos uma conversa para discutir os próximos passos.

luisfelipebr commented 2 years ago

Sugestão do @ppKrauss: utilizar received_date no lugar de accepted_date

"a data de aceitação tem vies, a data de doação é a de Received... Mas seria essa data dentro do conjunto dos accepteds (ou publicados)".

0e1 commented 1 year ago

Atualmente, o responsável por manter planilha coloborativa é o @IgorEliezer. Construir forma automatizada de atualizar donor.csv com planilha mantida por ele. Ou, periodicamente, fazer atualizações manuais enquanto não for possível faze-lo automaticamente via target.

Relacionada: https://github.com/digital-guard/preserv-BR/issues/167