dg:Workflow: mudanças entre as edições

6 663 bytes adicionados ,  9 de junho de 2023
sem sumário de edição
Sem resumo de edição
Linha 1: Linha 1:
= Publicação =
== Ingestão ==


== Responsabilidade do ingestor ==
* Devido à ''hardcoding'', qualquer base <code>ingest</code> [https://github.com/digital-guard/preserv/blob/main/src/ingest-step1-ini.sql#L21 depende] da <code>dl05s_main</code>.
* Vamos usar apenas a base <code>ingest1</code>, e não adulterar mais nada no servidor.
* É possível trocar <code>ingest1</code> por outra com os devidos cuidados e parametrizações.


Após realizar o processo de ingestão:
=== Preparo do ambiente e da base ===


=== Gerar os arquivos publicavéis ===
<syntaxhighlight lang="sh">cd /var/gits/_a4a/pg_pubLib-v1
git pull
 
cd /var/gits/_dg/preserv/src
git pull
 
make fix_permissions # vai solicitar sudor
 
make # vai listar as opções
 
make ini_ingest pg_db=ingest1 # cria base ingest1</syntaxhighlight>
 
=== Preparo do processo de ingestão ===
 
<syntaxhighlight lang="sh">
make fix_permissions # vai solicitar sudor
 
cd /var/gits/_dg/preserv-BR/src
git pull
 
make # vai listar as opções
make all # copia makefile inicial em todos pacotes de dados
 
cd /var/gits/_dg/preserv-BR/data/
 
ls  # vamos seguir a ordem alfabética
</syntaxhighlight>
 
=== Exemplo do pk42.01 ===
 
Verificando a situação no filesystem:
 
<syntaxhighlight lang="sh">make fix_permissions # vai solicitar sudor
cd /var/gits/_dg/preserv-BR/data/
ls AC/RioBranco/_pk0042.01/
grep "^42" donor.csv
grep ",42,1" donatedPack.csv
pushd  AC/RioBranco/_pk0042.01/
more sha256sum.txt
grep file  make_conf.yaml
# ... até aqui foi só conferir se batem IDs, hashes e títulos
 
more make_conf.yaml
# detectamos problemas por ser antigo: falta licença, faltam file sizes, etc.
 
make me # para a ingest indicada em commomFirst.yaml ou make me pg_db=ingestXX para uma ingest diferente.
        # Idem para qualquer target em preserv-BR
# .. responder senhas ENTERs etc.
make all_layers
make all_joins # se existir a necessidade.</syntaxhighlight>
 
=== Exemplo do pk0004.01 (OpenStreetMap) ===
 
<syntaxhighlight lang="sh">make fix_permissions # vai solicitar sudor
 
pushd /var/gits/_dg/preserv-BR/data/_pk0004.01
ls _pk0004.01/
grep "^4," donor.csv
grep ",4,1" donatedPack.csv
pushd  _pk0004.01/
more sha256sum.txt
grep file  make_conf.yaml
# ... até aqui foi só conferir se batem IDs, hashes e títulos
 
more make_conf.yaml
# detectamos problemas por ser antigo: falta licença, faltam file sizes, etc.
 
make me # para a ingest indicada em commomFirst.yaml ou make me pg_db=ingestXX para uma ingest diferente.
 
# caso falte file sizes:
make wget_files orig=/tmp/pg_io/tmpfolder
make insert_size orig=/tmp/pg_io/tmpfolder
rm -rf /tmp/pg_io/tmpfolder
 
make openstreetmap # executar antes da ingestão, apenas uma vez.
# .. responder senhas ENTERs etc.
make all_layers
</syntaxhighlight>
 
 
== Publicação ==
 
=== Gerar os arquivos publicáveis ===


Para gerar os arquivos que serão publicados no respectivo ''preservCutGeo'' do país:
Para gerar os arquivos que serão publicados no respectivo ''preservCutGeo'' do país:
Linha 26: Linha 110:
<syntaxhighlight lang="sh">pushd /var/gits/_dg/preserv/src
<syntaxhighlight lang="sh">pushd /var/gits/_dg/preserv/src
make to_donated_packcomponent pg_db=ingestXX pg_datalake=dl05s_main</syntaxhighlight>
make to_donated_packcomponent pg_db=ingestXX pg_datalake=dl05s_main</syntaxhighlight>
== Responsabilidade do homologador ==
 


=== Aprovação ===
=== Aprovação ===
Linha 37: Linha 121:
make approved_donated_packcomponent id=ZZ pg_datalake=dl05s_main</syntaxhighlight>
make approved_donated_packcomponent id=ZZ pg_datalake=dl05s_main</syntaxhighlight>
Nesse momento, os novos dados fazem parte das estátisticas disponibilizadas em API. Também, listas disponibilizadas no site addressforall e em documentações podem ser atualizadas.
Nesse momento, os novos dados fazem parte das estátisticas disponibilizadas em API. Também, listas disponibilizadas no site addressforall e em documentações podem ser atualizadas.
== Licenças ==
Executar o target <code>make insert_license</code> utiliza os dados de [http://git.digital-guard.org/licenses digital-guard/licenses] para gerar no respectivo ''make_conf.yaml'' o seguinte, por exemplo:
<pre>license_evidences:
    definition: [ODbL-1.0, odbl, http://www.opendefinition.org/licenses/odc-odbl]</pre>
onde <code>definition:</code> equivale a <code>[name, family, url]</code> conforme discutido em https://github.com/digital-guard/preserv/issues/32
Manualmente, inserir <code>file</code> e <code>uri_evidency</code>, conforme discutido em https://github.com/digital-guard/preserv/issues/19:
<pre>    file: f0cbf591bda09880dc27cdbfcf4ee45189eb1e2c3742800c066f0b5576d81744.zip
    uri_evidency: http://web.archive.org/web/20211012105347/https://www.openstreetmap.org/copyright</pre>
onde <code>file</code> indica o ''sha256'' do arquivo compactado contendo as evidencias e <code>uri_evidency</code> indica o ''sha256.eml'' ou ''archive.org/url'' como discutido aqui https://github.com/digital-guard/preserv/issues/32#issuecomment-998347112.
Resultando em:
<pre>license_evidences:
    definition: [ODbL-1.0, odbl, http://www.opendefinition.org/licenses/odc-odbl]
    file: f0cbf591bda09880dc27cdbfcf4ee45189eb1e2c3742800c066f0b5576d81744.zip
    uri_evidency: http://web.archive.org/web/20211012105347/https://www.openstreetmap.org/copyright</pre>
Exemplo utilizado em https://github.com/digital-guard/preserv-CO/blob/main/data/_pk0004.01/make_conf.yaml
== Gerar README.md ==
Template em ptbr: https://github.com/digital-guard/preserv/blob/main/src/maketemplates/readme_ptbr.mustache
Template em es: https://github.com/digital-guard/preserv/blob/main/src/maketemplates/readme_es.mustache
A seguir exemplo fictício de make_conf.yaml para gerar um README.md do pacote. Reparar nas chaves: <code>comments, comment, test_evidence, standardized_fields, other_fields, other_files e to-do</code>.
Informações extras ou que não se encaixam nas referidas chaves devem ser incluídas num arquivo ''attachment.md'', que terá seu conteúdo anexado ao final do README.md numa seção chamada ''anexo''.
<syntaxhighlight lang="yaml">pack_id: 81.1
pkversion: 001
schemaId_input:
schemaId_template:
codec:descr_encode: srid=31983
files:
  -
    p:    1
    file: d9cddc63f7782d250fc80f0572b9fb884ee7ec1911e19deea4381a4ad5d0a172.zip
    name: Bairros
    comments: Comentários sobre o arquivo, se houver.
    size: 1234
layers:
  geoaddress:
    subtype: ext
    method: shp2sql
    file: 1
    sql_select: ['gid', 'numnovo as hnum', 'cod_log', 'geom']
    orig_filename: pg_renumeracoes
    comments: Comentários referente ao layer, se houver.
    test_evidence: endereço da imagem de evidencia do layer.
   
    # dados relevantes, padronizados
    standardized_fields:
    -
      name: nome do campo ou combinação de campos
      standard: 'nome padronizado, por exemplo: hnum'
      comment: comentários sobre o campo, se houver.
    # dados relevantes, NÃO padronizados, se houver
    other_fields:
    -
      name: nome do campo ou combinação de campos
      comment: comentários sobre o campo, se houver.
comments: Comentários gerais sobre os dados, sobre o pacote, etc, se houver.
test_evidence: endereço da imagem de evidencia de todos os dados.
# outros arquivos que podem ser úteis
other_files:
  -
    p: 2
    file: pg_div_municipio.zip
    name: pg_div_municipio
    format: shp
    comment: Arquivo com a divisa territorial de guarulhos e vizinhos.
# Lista de tarefas
to-do:
  - Tarefa 1.</syntaxhighlight>
=== Como gerar ===
Exemplo de geração de README.md:
<pre>pushd /var/gits/_dg/preserv-BR/src
make all
pushd /var/gits/_dg/preserv-BR/data/AC/RioBranco/_pk0042.01
make readme pg_db=ingest99
popd
popd</pre>
=== Exemplos: ===
* https://github.com/digital-guard/preserv-BR/tree/main/data/SP/SaoPaulo/_pk0033.01
* https://github.com/digital-guard/preserv-BR/tree/main/data/AC/RioBranco/_pk0042.01
* https://github.com/digital-guard/preserv-BR/tree/main/data/SP/Atibaia/_pk0021.01
* https://github.com/digital-guard/preserv-BR/tree/main/data/ES/CachoeiroItapemirim/_pk0091.01


== Diagrama ==
== Diagrama ==
198

edições