1 224
edições
(Conteúdo trazido de https://github.com/digital-guard/preserv-BR/issues/54.) |
|||
(17 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
{{Dg info}} | |||
<pre> | |||
Carlos, Luiz e Igor favor refazer ou revisar esta seção. | |||
</pre> | |||
Fluxo de trabalho do Igor e do Carlos | |||
== Resumo geral e opções == | == Resumo geral e opções == | ||
[[Arquivo:DG-workflow2023-Limpo-v1.png|thumb|420px]] | [[Arquivo:DG-workflow2023-Limpo-v1.png|thumb|420px]] | ||
O fluxo de trabalho (''workflow'') completo envolve diversas etapas, que no futuro poderão vir automatizadas pelo [[Airflow]], mas por hora precisam ser realizadas por uma pessoa previamente treinada no uso do console Linux. | |||
No dia-a-dia da Digita-guard são 3 três serviços relativamente independentes, que não precisam ser realizados simultaneamente: | No dia-a-dia da Digita-guard são 3 três serviços relativamente independentes, que não precisam ser realizados simultaneamente: | ||
Linha 20: | Linha 23: | ||
=== Atualização do optim === | === Atualização do optim === | ||
'''Se''' | '''Se''' [[dg:Guia de preenchimento da Planilha de Doadores|donor.csv]] (em qualquer jurisdição) ou [[dg:Guia de preenchimento da Planilha de Pacotes|donatedPack.csv]] '''forem alterados''' ou um '''novo''' ''make_conf.yaml'' for criado, é necessário atualizar as tabelas do [https://git.digital-guard.org/preserv/blob/main/src/optim-step1-ini.sql schema optim]: | ||
<syntaxhighlight lang="sh">cd /var/gits/_dg/preserv/src | <syntaxhighlight lang="sh">cd /var/gits/_dg/preserv/src | ||
Linha 45: | Linha 48: | ||
=== Estrutura do make_conf === | === Estrutura do make_conf === | ||
Exemplo fictício de make_conf. Reparar nas chaves: <code>comments, comment, test_evidence, standardized_fields, other_fields, other_files e to-do</code> utilizadas na geração automatizada de README.md. Informações extras ou que não se encaixam nas referidas chaves podem ser incluidas no arquivo ''attachment.md'', anexado ao final do README.md na seção ''Anexo''. | Exemplo fictício de make_conf. Reparar nas chaves: <code>comments, comment, test_evidence, standardized_fields, other_fields, other_files e to-do</code> utilizadas na geração automatizada de README.md. Informações extras ou que não se encaixam nas referidas chaves podem ser incluidas no arquivo ''attachment.md'', anexado ao final do README.md na seção ''Anexo''. Templates em [https://git.digital-guard.org/preserv/blob/main/src/maketemplates/readme_ptbr.mustache ptbr] e [https://git.digital-guard.org/preserv/blob/main/src/maketemplates/readme_es.mustache es]. | ||
<syntaxhighlight lang="yaml">pack_id: 81.1 | <syntaxhighlight lang="yaml">pack_id: 81.1 | ||
Linha 101: | Linha 104: | ||
to-do: | to-do: | ||
- Tarefa 1.</syntaxhighlight> | - Tarefa 1.</syntaxhighlight> | ||
=== Arquivos não compactados === | |||
Em casos que o arquivo original doado não for compactado<ref>https://github.com/digital-guard/preserv-BR/issues/149#issuecomment-1810758833</ref>: | |||
* compactar (em zip, preferencialmente), informar o hash do arquivo compactado ao doador (respondendo email); | |||
* preservar o arquivo compactado; | |||
* usar ''hash'' do arquivo compactado no make_conf. | |||
== Ingestão == | == Ingestão == | ||
Linha 232: | Linha 242: | ||
<syntaxhighlight lang="sh"># obter a variavel id | <syntaxhighlight lang="sh"># obter a variavel id | ||
psql postgres://postgres@localhost/dl05s_main <<< "SELECT * FROM optim.donated_PackComponent_not_approved;" | psql postgres://postgres@localhost/dl05s_main <<< "SELECT * FROM optim.donated_PackComponent_not_approved;" | ||
cd /var/gits/_dg/preserv/src | cd /var/gits/_dg/preserv/src | ||
make approved_donated_packcomponent id=ZZ pg_datalake=dl05s_main</syntaxhighlight> | make approved_donated_packcomponent id=ZZ pg_datalake=dl05s_main</syntaxhighlight> | ||
Linha 237: | Linha 248: | ||
Comando para gerar uma lista de comandos, escolher os que precisar por meio do id: | Comando para gerar uma lista de comandos, escolher os que precisar por meio do id: | ||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT packvers_id, 'make approved_donated_packcomponent pg_datalake=dl05s_main id=' || id FROM optim.donated_packcomponent_not_approved;"</syntaxhighlight> | <syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT packvers_id, 'make approved_donated_packcomponent pg_datalake=dl05s_main id=' || id FROM optim.donated_packcomponent_not_approved ORDER BY 1;"</syntaxhighlight> | ||
Escolhido o que será aprovado executar, por exemplo: | Escolhido o que será aprovado executar, por exemplo: | ||
Linha 247: | Linha 258: | ||
== Reprodutibilidade == | == Reprodutibilidade == | ||
=== Como gerar === | |||
<syntaxhighlight lang="sh">cd /var/gits/_dg/preserv-<caminho_do_pacote_de_dados> | <syntaxhighlight lang="sh">cd /var/gits/_dg/preserv-<caminho_do_pacote_de_dados> | ||
make me_reproducibility # gerar/atualizar script reproducibility.sh</syntaxhighlight> | make me_reproducibility # gerar/atualizar script reproducibility.sh</syntaxhighlight> | ||
== Filtrados == | == Filtrados == | ||
São os arquivos utilizados para publicação no provedor de visualizaçao de dados. | |||
=== Como gerar === | |||
Para gerar Shapefile ou CSV dos dados ingeridos: | Para gerar Shapefile ou CSV dos dados ingeridos: | ||
Linha 281: | Linha 296: | ||
End.</syntaxhighlight> | End.</syntaxhighlight> | ||
=== | === Visualização === | ||
Ver a seção [[dg:Workflow#Visualização_de_filtrados]]. | |||
== Gerar README == | == Gerar README == | ||
=== Como gerar === | |||
Para gerar README.md: | Para gerar README.md: | ||
Linha 307: | Linha 321: | ||
=== Downloads por jurisdição === | === Downloads por jurisdição === | ||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/ | ==== MediaWiki ==== | ||
Para atualizar a página [[dg:Listagem_dos_downloads_por_jurisdi%C3%A7%C3%A3o]] gerar a lista em formato mediawiki com o comando | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_without_filtered_mediawiki.txt','/var/gits/_dg/preserv/src/list_jurisd_without_filtered_mediawiki.mustache');"</syntaxhighlight> | |||
e copiar e colar o conteúdo do arquivo '''/tmp/pg_io/list_jurisd_without_filtered_mediawiki.txt''' na referida página. | |||
Notar que '''não é exibido''' os arquivos filtrados na lista. | |||
Caso seja necessário '''exibir''' os filtrados usar o comando | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_mediawiki.txt','/var/gits/_dg/preserv/src/list_jurisd_mediawiki.mustache');"</syntaxhighlight> | |||
e então utilizar o conteúdo do arquivo '''/tmp/pg_io/list_jurisd_mediawiki.txt'''. | |||
Consulte [https://github.com/AddressForAll/site-v2/blob/main/README.md README.md] para entender como gerar o site. | |||
==== Markdown ==== | |||
Para atualizar a seção http://addressforall.org/en/downloads atualizar o arquivo https://github.com/AddressForAll/site-v2/blob/main/content/list_downloads.md com o conteúdo do arquivo gerado pelo comando a seguir no formato markdown | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_with_filtered_markdown.txt','/var/gits/_dg/preserv/src/list_jurisd.mustache');"</syntaxhighlight> | |||
Notar que '''são exibidos''' os arquivos filtrados na lista. | |||
Caso seja necessário '''não exibir''' os filtrados usar o comando | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_with_filtered_markdown.txt','/var/gits/_dg/preserv/src/list_jurisd_without_filtered.mustache');"</syntaxhighlight> | |||
=== Downloads por hash === | === Downloads por hash === | ||
=== | ==== MediaWiki ==== | ||
Para atualizar a página [[dg:Listagem_dos_downloads_por_hash]] gerar a lista em formato mediawiki com o comando | |||
= | <syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list_hash('/tmp/pg_io/list_hash_mediawiki.txt','/var/gits/_dg/preserv/src/list_hash_wiki.mustache');"</syntaxhighlight> | ||
e copiar e colocar o conteúdo na referida página. | |||
==== Markdown ==== | |||
Se for necessário gerar a lista em formato Markdown, usar o comando | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list_hash('/tmp/pg_io/list_hash_markdown.txt');"</syntaxhighlight> | |||
=== Páginas viz === | |||
Para atualizar o conteúdo de http://addressforall.org/viz selecionar o comando referente ao pacote de dados desejado da lista de comandos gerada por | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT 'make generate_pages pg_datalake=dl05s_main folder=/tmp/pg_io/genpages isolabel=' || isolabel_ext || ' pk=' || pack_number FROM optim.vw03publication ;"</syntaxhighlight> | |||
Por exemplo, para gerar em ''/tmp/pg_io/genpages'' as páginas referentes ao ''pk=_pk0063.01'' do ''isolabel=BR-RS-NovoHamburgo'' utilizando os dados presentes em <code>optim.donated_PackComponent</code> do ''pg_datalake=dl05s_main'' executar: | |||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
Linha 335: | Linha 379: | ||
make generate_pages pg_datalake=dl05s_main folder=/tmp/pg_io/genpages isolabel=BR-RS-NovoHamburgo pk=_pk0063.01</syntaxhighlight> | make generate_pages pg_datalake=dl05s_main folder=/tmp/pg_io/genpages isolabel=BR-RS-NovoHamburgo pk=_pk0063.01</syntaxhighlight> | ||
Depois | Notar que é gerado um ''index.html'' atualizado, contendo lista não ordenada com os hiperlinks para todos pacotes publicados. | ||
<syntaxhighlight lang="sh">mv /tmp/pg_io/genpages/*.html /var/www/addressforall.org/ | |||
Depois de gerar as páginas, movê-las para ''/var/www/addressforall.org/teste2'': | |||
<syntaxhighlight lang="sh">mv /tmp/pg_io/genpages/*.html /var/www/addressforall.org/viz | |||
rm -rf /tmp/pg_io/genpages</syntaxhighlight> | rm -rf /tmp/pg_io/genpages</syntaxhighlight> | ||
Por fim, para atualizar a seção http://addressforall.org/en/visualization atualizar o arquivo https://github.com/AddressForAll/site-v2/blob/main/content/list_visualization.md com o conteúdo do arquivo ''/tmp/pg_io/index_teste2.md'' gerado pelo comando a seguir, já no formato markdown (conteúdo equivalente ao ''index.html'' gerado anteriormente) | |||
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.publicating_index_pagemd('/tmp/pg_io/index_teste2.md','/var/gits/_dg/preservDataViz/src/preservCutGeo/index_page_markdown.mustache');"</syntaxhighlight> | |||
Consulte [https://github.com/AddressForAll/site-v2/blob/main/README.md README.md] para entender como gerar o site. | |||
== Clean sandbox == | == Clean sandbox == | ||
Linha 346: | Linha 397: | ||
<syntaxhighlight lang="sh">cd /var/gits/_dg/preserv-<caminho_do_pacote_de_dados> | <syntaxhighlight lang="sh">cd /var/gits/_dg/preserv-<caminho_do_pacote_de_dados> | ||
make clean_sandbox</syntaxhighlight> | make clean_sandbox</syntaxhighlight> | ||
== Visualização de filtrados == | |||
Os dados gerados em [[dg:Workflow#Filtrados]] são publicados em provedor externo para visualização. | |||
=== Publicar layers === | |||
Descrever aqui o processo de publicação no provedor externo para visualização de camadas de dados. | |||
==== Atualizar redirecionador ==== | |||
Após publicar no provedor externo, ver [[a4a:Conven%C3%A7%C3%B5es/Visualiza%C3%A7%C3%A3o_de_dados]] para atualizar o redirecionador. | |||
== Diagrama == | == Diagrama == | ||
Linha 447: | Linha 508: | ||
PS2: o google/spreadsheets também oferece opção de sql_query na API, o que permite descartar os campos de cache da planilha donatedPack... [https://developers.google.com/chart/interactive/docs/dev/implementing_data_source#request-format ver aqui]. | PS2: o google/spreadsheets também oferece opção de sql_query na API, o que permite descartar os campos de cache da planilha donatedPack... [https://developers.google.com/chart/interactive/docs/dev/implementing_data_source#request-format ver aqui]. | ||
== Referências == | |||
[[Categoria:Digital-guard]] | [[Categoria:Digital-guard]] |
edições