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

2 422 bytes adicionados ,  14 de dezembro de 2023
m
(→‎Estrutura do make_conf: Pequena correção.)
 
(13 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]]
: Carlos, Luiz e Igor favor '''refazer''' ou revisar esta seção.
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.
 
O workflow completo envolve diversas etapas, que no futuro poderão vir automartizadas 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''' donatedPack.csv ou donor.csv (em qualquer jurisdição) '''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]:
'''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 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 310: Linha 321:


=== Downloads por jurisdição ===
=== Downloads por jurisdição ===
Ver [[dg:Listagem_dos_downloads_por_jurisdi%C3%A7%C3%A3o]].


<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_false.txt',false); # gera uma listagem sem mencionar arquivos filtrados"</syntaxhighlight>
==== 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 ===
Linha 319: Linha 357:
Para atualizar a página [[dg:Listagem_dos_downloads_por_hash]] gerar a lista em formato mediawiki com o comando
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_mediawiki.mustache');"</syntaxhighlight>
<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.
e copiar e colocar o conteúdo na referida página.
Linha 329: Linha 367:
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list_hash('/tmp/pg_io/list_hash_markdown.txt');"</syntaxhighlight>
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list_hash('/tmp/pg_io/list_hash_markdown.txt');"</syntaxhighlight>


=== Seção downloads do site ===
=== Páginas viz ===
Ver http://addressforall.org/en/downloads/ e https://github.com/AddressForAll/site-v2/blob/main/content/list_downloads.md
<syntaxhighlight lang="sh">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_true.txt',true); # gera uma listagem com arquivos filtrados"</syntaxhighlight>


=== Páginas teste2 ===
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


Ver:
<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>
* http://addressforall.org/en/visualization/
* https://github.com/AddressForAll/site-v2/blob/main/content/list_visualization.md
* http://addressforall.org/teste2/


Comando para gerar targets de criação de páginas. Selecionar apenas o que precisar.
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">psql postgres://postgres@localhost/dl05s_main -qtAX -c "SELECT optim.generate_list('/tmp/pg_io/list_jurisd_true.txt',true); # gera uma listagem com arquivos filtrados"</syntaxhighlight>
 
Após executar o target escolhido, por exemplo, ara gerar em ''/tmp/pg_io/genpages'' as páginas referentes ao ''isolabel'' e ao ''pk'' (exemplo: _pk0042.01), utilizando os dados presentes em <code>optim.donated_PackComponent</code> em ''pg_datalake''. Também é gerada uma ''index.html'' onde a lista não ordenada possui os hiperlinks para todos os ''isolabel'' em <code>optim.donated_PackComponent</code>:


<syntaxhighlight lang="sh">
<syntaxhighlight lang="sh">
Linha 349: 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 mover as páginas para:
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/teste2
 
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>


Em seguida usar o arquivo index.html gerado para atualizar o site em https://github.com/AddressForAll/site-v2/blob/main/content/list_visualization.md.
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 471: 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]]
1 224

edições