404
+ +Page not found
+ + +diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..ee62946 --- /dev/null +++ b/404.html @@ -0,0 +1,159 @@ + + +
+ + + + +Page not found
+ + +As principais mudanças realizadas no repositório do Ro-dou estão documentadas aqui a partir de 25/04/2023.
+Full Changelog: https://github.com/gestaogovbr/Ro-dou/compare/0.1.3...0.1.4
+Full Changelog: https://github.com/gestaogovbr/Ro-dou/compare/0.1.2...0.1.3
+Full Changelog: https://github.com/gestaogovbr/Ro-dou/compare/0.1.1...0.1.2
+fix css file access
+Altera a forma de encontrar os arquivos de configuração das DAGs (dag_confs/*.yml
).
Antes considerava que a pasta dag_confs/
estava na mesma raiz que os arquivos do ro-dou em ./src
. Agora o caminho da(s) pasta(s) deve ser informado pela variável de ambiente RO_DOU__DAG_CONF_DIR
e separado por :
quando mais de um.
Exemplo:
+As pastas /opt/airflow/dags/repo1/dag_confs
e /opt/airflow/dags/repo2/dag_confs
possuem arquivos de configuração (yaml) para geração das DAGs do rodou. A variável de ambiente RO_DOU__DAG_CONF_DIR
deve ser atribuída assim:
RO_DOU__DAG_CONF_DIR=/opt/airflow/dags/repo1/dag_confs:/opt/airflow/dags/repo2/dag_confs
+
+Esta alteração permite que os arquivos de configuração das DAGs (dag_confs/*.yml
) estejam em qualquer pasta da máquina ou container.
Full Changelog: https://github.com/gestaogovbr/Ro-dou/compare/0.0.7...0.1.0
+Full Changelog: https://github.com/gestaogovbr/Ro-dou/commits/0.0.2
+Full Changelog: https://github.com/gestaogovbr/Ro-dou/commits/0.0.1
+ +Os arquivos do projeto Ro-DOU são disponibilizados publicamente no perfil GitHub do Ministério da Gestão e da Inovação em Serviços Públicos e podem ser acessados clicando aqui.
+Contribuições externas ao projeto são bem-vindas. Para sugerir melhorias, abra uma issue
via GitHub. A issue
será avaliada assim que possível pela equipe da SEGES/MGI.
Caso deseje expressar outros comentários, críticas, dúvidas ou sugestões, contate-nos.
+ +Neste segmento, você encontrará uma série de exemplos práticos de utilização do Ro-DOU. A leitura dos exemplos ajudará a visualizar de que maneira o Ro-DOU pode ser utilizado.
+A configuração a seguir cria uma DAG que realiza a pesquisa diária dos +6 termos listados e envia o relatório para o e-mail fornecido.
+dag:
+ id: pesquisa_dou_termos_interesse_nitai
+ description: Pesquisa termos de interesse de Nitai.
+ search:
+ terms:
+ - dados abertos
+ - governo aberto
+ - engenharia de dados
+ - software livre
+ - código aberto
+ - open source
+ report:
+ emails:
+ - endereco@dominio.com
+
+A configuração a seguir realiza a pesquisa diária de segunda-feira a sexta-feira, 8AM, apenas na Seção 1 e na Edição Suplementar e envia o resultado em formato CSV, anexado ao e-mail. O parâmetro schedule
+aceita valores CRON.
dag:
+ id: dag_id_deve_ser_unico_em_todo_airflow
+ description: DAG exemplo de monitoramento no DOU.
+ schedule: 0 8 * * MON-FRI
+ search:
+ terms:
+ - alocação
+ - realoca
+ - permuta
+ - estrutura regimental
+ - organização básica
+ dou_sections:
+ - SECAO_1
+ - EDICAO_SUPLEMENTAR
+ report:
+ emails:
+ - dest1@gestao.gov.br
+ - dest2@gestao.gov.br
+ attach_csv: True
+ subject: Assunto do Email
+
+Note que aqui são utilizados os parâmetros opcionais schedule
,
+dou_section
e attach_csv
.
A configuração a seguir utiliza o parâmetro from_db_select
em terms
, que torna dinâmica a parametrização dos termos para pesquisa. Note também a inclusão de tags
que ajudam na organização e na busca das DAGs no Airflow.
dag:
+ id: dag_ultra_dinamica
+ description: A pesquisa depende do select SQL.
+ tags:
+ - projeto_a
+ - departamento_x
+ search:
+ terms:
+ from_db_select:
+ sql: SELECT text FROM schema.tabela;
+ conn_id: airflow_conn_id
+ report:
+ emails:
+ - email-destino@gestao.gov.br
+ subject: "[String] com caracteres especiais deve estar entre aspas"
+
+A configuração a seguir utiliza o parâmetro from_airflow_variable
em terms
, que também carrega dinamicamente a lista de termos. Neste caso, há a recuperação a partir de uma variável do Airflow. Aqui, também é utilizado o campo field
para limitar as pesquisas ao campo título das publicações no Diário Oficial da União.
dag:
+ id: pesquisa_a_lista_na_variavel
+ description: É fácil editar a variável na interface do Airflow.
+ search:
+ terms:
+ from_airflow_variable: nome_da_variavel_no_airflow
+ field: TITULO
+ report:
+ emails:
+ - email-destino@gestao.gov.br
+ skip_null: False
+
+Caso não encontre nenhum resultado, será enviado um e-mail informando que +nenhum termo foi encontrado.
+A configuração a seguir produz uma DAG que executa apenas uma vez por mês, no dia 1 às 8 AM, como pode ser visto no schedule
. Simultaneamente, a pesquisa no Diário Oficial da União é realizada nos diários oficiais do último mês inteiro, através do uso do parâmetro date
. Aqui, também é utilizado o parâmetro is_exact_search
+com valor False
para utilizar uma pesquisa aproximada.
Apesar do fato de que o termo buscado "paralelpipido" contenha um erro ortográfico, a busca retorna os resultados corretos. Veja!
+dag:
+ id: relatorio_mensal_do_dou
+ description: Envia um numero menor de emails.
+ schedule: 0 8 1 * *
+ search:
+ terms:
+ - paralelpipido
+ date: MES
+ is_exact_search: False
+ report:
+ emails:
+ - email-destino@gestao.gov.br
+
+A configuração a seguir produz uma DAG que pesquisa no Querido Diário pelos termos "pandemia", "dados pessoais" e "prefeitura", buscando apenas os resultados do Diário Oficial de Belo Horizonte. Para conhecer o Querido Diário, acesse +https://queridodiario.ok.org.br/.
+dag:
+ id: dou_qd_example
+ description: DAG de teste
+ search:
+ sources:
+ - QD
+ territory_id: 3106200 # Belo Horizonte
+ terms:
+ - pandemia
+ - dados pessoais
+ - prefeitura
+ report:
+ emails:
+ - destination@gestao.gov.br
+ attach_csv: True
+ subject: "Teste do Ro-dou"
+
+A configuração a seguir produz uma DAG exatamente igual ao exemplo básico, mas adiciona uma descrição longa do que a DAG faz, usando o parâmetro
+doc_md
. Essa descrição pode conter formatação markdown, incluindo
+títulos, listas, links etc.
Além disso, acrescenta também uma referência ao nome do arquivo que +gerou a DAG, bem como os seus parâmetros.
+dag:
+ id: markdown_docs_example
+ description: DAG com documentação em markdown
+ search:
+ terms:
+ - dados abertos
+ - governo aberto
+ - lei de acesso à informação
+ report:
+ emails:
+ - destination@gestao.gov.br
+ subject: "Teste do Ro-dou"
+ doc_md: >-
+ ## Ola!
+
+ Esta é uma DAG de exemplo com documentação em markdown. Esta
+ descrição é opcional e pode ser definida no parâmetro `doc_md`.
+
+ * Ah, aqui você também pode usar *markdown* para
+ * escrever listas, por exemplo,
+ * ou colocar [links](graph)!
+
+Para ver essa documentação, basta clicar o botão "DAG Docs" em qualquer +tela de visualização da DAG no Airflow.
+ +Esta configuração envia as notificações para canais Discord. É necessário ter +permissões de administrador no Discord para gerar o Webhook:
+dag:
+ id: discord_example
+ description: Envia notificações para canal Discord
+ search:
+ terms:
+ - manifestação cultural
+ - expressão cultural
+ - política cultural
+ report:
+ report:
+ discord:
+ webhook: https://discord.com/api/webhooks/105220xxxxxx811250/Q-XsfdnoHtudTQ-8A6zzzzznitai-vi0bGLE7xxxxxxxxxxxxxxxxxxxmx94R3oZ1h0ngl1
+
+Esta configuração envia as notificações para canais Slack. É necessário ter +permissões de administrador no Slack para gerar o Webhook:
+dag:
+ id: slack_example
+ description: Envia notificações para canal Slack
+ search:
+ terms:
+ - manifestação cultural
+ - expressão cultural
+ - política cultural
+ report:
+ report:
+ slack:
+ webhook: https://hooks.slack.com/services/XXXXXXXX/XXXXNFDXXX/n6QXXXXrPwxQ71ZXXXXXT9
+
+Esta configuração filtra os resultados por órgão/unidade selecionados. +Por enquanto disponível apenas para as pesquisas no DOU.
+dag:
+ id: department_example
+ description: DAG de teste (filtro por departamento)
+ search:
+ terms:
+ - dados abertos
+ department:
+ - Ministério da Gestão e da Inovação em Serviços Públicos
+ - Ministério da Defesa
+ report:
+ emails:
+ - destination@gestao.gov.br
+ subject: "Teste do Ro-dou"
+
+
+ Nesta seção, você encontrará as seguintes informações sobre o Ro-DOU:
+Os seguintes operadores de pesquisa avançada no Ro-DOU podem ser configurados nos arquivos YAML:
+O exemplo abaixo demonstra, na prática, como tais operadores podem ser utilizados no Ro-DOU:
+dag:
+ id: inlabs_advanced_search_example
+ description: DAG de teste
+ tags:
+ - inlabs
+ schedule: 0 8 * * MON-FRI
+ owner:
+ - cdata
+ search:
+ sources:
+ - INLABS
+ terms:
+ - designar & ( MGI | MINISTÉRIO FAZENDA)
+ - instituto & federal ! paraná
+ report:
+ emails:
+ - destination@economia.gov.br
+ attach_csv: True
+ subject: "Teste do Ro-dou"
+
+
+ A página abaixo lista os parâmetros configuráveis nos arquivos YAML:
+Todos os parâmetros disponíveis para pesquisa no Diário Oficial da União (DOU) foram criados a partir da API da Imprensa Nacional, que por sua vez é utilizada pelo buscador oficial do DOU em https://www.in.gov.br/consulta/.
+Assim, é possível notar que o Ro-DOU consegue automatizar todo, ou quase todo, tipo de pesquisa que pode ser feita no site do Diário Oficial da União. A imagem abaixo é o painel de pesquisa avançada do site:
+ + +O Ro-DOU possui os seguintes recursos e funcionalidades voltados aos usuários:
+.CSV
para facilitação do uso;O código-fonte está disponibilizado no perfil do GitHub do Ministério da Gestão e da Inovação em Serviços Públicos.
+Neste título, fornecemos abaixo uma configuração demonstrativa para que você possa executar o Ro-DOU no seu computador. Para isso, é necessário ter o Docker Compose na versão 1.29 ou maior instalado. Os passos para a instalação estão disponíveis em https://docs.docker.com/compose/install/ ou em tutoriais no YouTube.
+Após clonar o repositório do Ro-DOU para o seu computador com o comando git clone
, acesse o diretório pelo terminal e execute os comandos a seguir:
make run
+
+Este comando baixa as imagens Docker necessárias, efetua o build do container Docker do Ro-DOU e executa todos os demais passos necessários.
+O Apache Airflow, que também é usado para rodar o Ro-DOU, pode demorar alguns minutos para se configurar na primeira vez. Posteriormente, ele estará disponível em http://localhost:8080/. Para se autenticar e acessar o Apache Airflow, entre no link e utilize login airflow
e senha airflow
.
Na página sobre o que é o Ro-DOU, explicamos o que é um grafo acíclico dirigido (DAG) do Airflow e como obter mais informações sobre este conceito.
+Na tela inicial do Airflow, são fornecidos clippings de exemplo. A partir dos arquivos YAML (.yaml) do diretório dag_confs/
, é possível manipular e customizar as pesquisas de clipping desejadas nos diários oficiais. Dentro dos arquivos YAML, é possível, por exemplo, definir palavras-chave de busca e um endereço de e-mail para recebimento de uma mensagem com os resultados da busca no(s) diário(s) oficial(is).
Para executar qualquer DAG do Airflow, é necessário ligá-la. Inicialmente, todas as DAGs ficam pausadas por padrão. Sugerimos começar testando o clipping all_parameters_example. Utilize o botão toggle para ligá-lo. Após ativá-lo, o Airflow executará a DAG uma única vez. Clique no nome da DAG +para visualizar o detalhe da execução.
+Você observará que, tanto na visualização em árvore (Tree) como na visualização em Grafo (Graph) dentro do Apache Airflow, é possível constatar se houve algum resultado encontrado na API da Imprensa Nacional para os termos e demais parâmetros deste clipping. Se a tarefa chamada "send_report" estiver na cor verde, significa que foi encontrado um resultado e que uma mensagem de e-mail foi enviada para o endereço configurado no arquivo YAML.
+Para visualizar a mensagem de e-mail, acesse o endereço http://localhost:5001/. Este é um serviço que simula uma caixa de e-mail (servidor SMTP) para fins de experimentação. Voilà!.
+Lembre-se que o arquivo de configuração deste clipping está na pasta dag_confs/
. Confira aqui no GitHub o conteúdo do arquivo YAML.
Agora, faremos um segundo teste: o clipping terms_from_variable, seguindo os mesmo passos. Neste caso, os termos pesquisados estão listados em uma variável do Airflow e podem ser modificados pela interface gráfica. Acesse no menu Admin >> Variables ou pela URL http://localhost:8080/variable/list/.
+Leia a seção Configurando em Produção para instalar o Ro-dou utilizando um provedor SMTP real que enviará os e-mails para os destinatários verdadeiros.
+Observação: Para utilizar o source: - INLABS
, é necessário criar a conexão inlabs_db
no Apache Airflow, apontando para o banco Postgres
que está carregado com os dados do inlabs. Você poderá encontrar aqui um exemplo de como carregar um banco com os dados do inlabs: ro-dou_inlabs_load_pg_dag.py
.
Quando tiver terminado de utilizar o ambiente de teste do Ro-DOU, desligue-o por meio do seguinte comando:
+make down
+
+Para utilizar o Ro-DOU em ambiente de produção, é necessário que o servidor tenha disponível um serviço SMTP que será utilizado pelo Apache Airflow para envio de mensagens de e-mail pela Internet. Siga os seguintes passos:
+Utilize as credenciais do serviço SMTP (host, usuário, senha, porta etc.)
+para editar o arquivo docker-compose.yml
, substituindo as variáveis referentes ao serviço SMTP, a exemplo de AIRFLOW__SMTP__SMTP_HOST
.
Ao final do arquivo docker-compose.yml
, remova as linhas que declaram o
+serviço smtp4dev, uma vez que ele não será mais necessário.
Uma vez executados esses passos, basta agora inicializar o Ro-DOU por meio do comando:
+make run
+
+
+ Nesta seção, você encontrará as seguintes informações sobre o Ro-DOU:
+É importante recordar que o Ro-DOU permite o envio de mensagens via Slack quando ocorre alguma falha na execução da DAG no Apache Airflow. Para usar essa funcionalidade, efetue as seguintes configurações:
+Criar o app no Slack conforme orientações do vídeo How to Add Slack Notifications to Your Airflow DAG's with Airflow Notifiers.
+Criar uma conexão no Apache Airflow com a seguinte configuração:
+Connection Id
= slack_notify_rodou_dagrun
Connection Type
= Slack API
Description
= {"channel": "nome-do-channel-para-mandar-mensagem"}
Slack API Token
= obtido no passo 1
Para as unidades do Ministério da Gestão e da Inovação em Serviços Públicos que desejem solicitar a utilização de clippings via Ro-DOU, a Secretaria de Gestão e Inovação do MGI está disponível para auxiliá-las a configurar o serviço.
+É preciso que a unidade interessada encaminhe as seguintes informações para o endereço seges.cginf@gestao.gov.br:
+Usuários de órgãos públicos que não sejam unidades do Ministério da Gestão e da Inovação em Serviços Públicos poderão enviar dúvidas ou comentários ao endereço seges.cginf@gestao.gov.br.
+ +Nesta seção, você encontrará as seguintes informações sobre o Ro-DOU:
+Conforme dito na página inicial, o Ro-DOU é uma ferramenta que efetua um clipping do Diário +Oficial da União (D.O.U.) e dos Diários Oficiais de municípios, por meio do Querido Diário. O Ro-DOU permite o recebimento de notificações (via e-mail, Slack, Discord ou outros) de todas as publicações que contenham as palavras-chaves que você definir.
+O Ro-DOU gera dinamicamente grafos acíclicos dirigidos (DAGs) no Apache Airflow. Uma DAG nada mais é que um fluxo de tarefas executadas em sequência ou de maneira paralela, a partir de um código Python. Para entender com mais detalhes técnicos como uma DAG do Airflow funciona, clique aqui.
+Nos arquivos YAML, é possível configurar os detalhes dos termos de pesquisa desejado (as palavras-chaves) e os contatos (e.g. endereços de e-mail) para recebimento dos resultados da pesquisa.
+A maneira como os diferentes componentes do Ro-DOU se relacionam pode ser sintetizada no diagrama abaixo. Para ampliar a imagem, clique aqui.
+ + +O Ro-DOU é uma ferramenta que efetua um clipping do Diário +Oficial da União (D.O.U.) e dos Diários Oficiais de municípios, por meio do Querido Diário. O Ro-DOU permite o recebimento de notificações (via e-mail, Slack, Discord ou outros) de todas as publicações que contenham as palavras-chaves que você definir.
+Neste site, você encontrará informações sobre como usar o Ro-DOU e quais funcionalidades ele proporciona, além de outras informações sobre como contribuir para melhorar a ferramenta e como contatar o MGI.
+O Ro-DOU é uma solução desenvolvida pela Secretaria de Gestão e Inovação do Ministério da Gestão e da Inovação em Serviços Públicos.
+ +Ro-DOU - Robô de mineração do Diário Oficial da União - apresentação completa no canal da ENAP no YouTube, feita na Semana de Inovação de 2021.
+ +O Ro-DOU é desenvolvido e mantido pela Coordenação-Geral de Gestão da Informação, órgão do Ministério da Gestão e da Inovação em Serviços Públicos: https://www.gov.br/gestao/pt-br.
+Dúvidas, sugestões e demais comentários sobre o Ro-DOU podem ser enviados ao endereço de e-mail seges.cginf@gestao.gov.br.
+Interações de caráter técnico e sugestões de melhoria no código-fonte e nas funcionalidades do Ro-DOU podem ser enviadas diretamente via GitHub, por meio da abertura de issues
: https://github.com/gestaogovbr/Ro-dou.
Nesta seção, você encontrará perguntas e respostas comuns e solução de problemas mais frequentes na utilização do Ro-DOU.
+1. Do que é preciso para instalar o Ro-DOU?
+Resposta: As instruções detalhadas de instalação estão neste link.
2. Como configurar os parâmetros de pesquisa do Ro-DOU?
+Resposta: Os parâmetros devem ser editados no arquivo em formato yml.
3. Qual a configuração mínima para a instalação do Ro-DOU?
+Resposta: É recomendado 4 Gb de memória RAM e 2 Gb de espaço em disco pelo menos.
4. Posso rodar o Ro-DOU no meu computador pessoal?
+Resposta: sim. Atendendo às configurações das perguntas acima, em qualquer sistema operacional com suporte ao Docker.
5. Quais são as fontes de dados do Ro-DOU?
+Resposta: Os dados são obtidos via INLABS, API da Imprensa Nacional e API do Querido Diário.
6. De que forma o Ro-DOU é capaz de enviar relatórios?
+Resposta: Via e-mail, Slack, Discord.
7. Preciso pagar pra usar o Ro-DOU?
+Resposta: Não, ele é gratuito.
8. Posso usar o Ro-DOU para fazer buscas nas edições mais antigas do DOU?
+Resposta: Sim, basta indicar a data desejada no campo "trigger_date".
9. Como receber atualizações de versão do Ro-DOU?
+Resposta: Sim, basta acompanhar o change log (log de atualizações) disponível aqui.
10. Posso utilizar o Ro-dou em meu órgão?
+Resposta: Sim. Confira as instruções aqui.
10. Posso utilizar o Ro-dou na minha empresa privada?
+Resposta: Sim. Não são cobrados direitos autorais ou de exclusividade.
11. Existe um limite de acessos diário para buscas com o Ro-DOU?
+Resposta: Não. Os acessos são ilimitados.
12. É necessário fazer alguma configuração de fuso horário para o Ro-DOU?
+Resposta: Sim. O padrão é América-São Paulo para o ambiente Airflow que dá sustentação ao Ro-DOU através da variável chamada AIRFLOW__CORE__DEFAULT__TIMEZONE.
13. Posso usar o Ro-DOU no exterior?
+Resposta: Sim. O Ro-DOU pode ser executado em qualquer lugar desde que tenha acesso à internet.
O Diário Oficial da União (D.O.U.) é publicado pela Imprensa Nacional:
+ +Para operar, o Ro-DOU utiliza diferentes tecnologias, ferramentas e dependências. Podem ser destacadas as seguintes:
+O Ro-DOU também utiliza as funcionalidades das ferramentas INLABS e Querido Diário:
+Este site de documentação do Ro-DOU foi elaborado com a ajuda do MkDocs:
+' + escapeHtml(summary) +'
' + noResultsText + '
'); + } +} + +function doSearch () { + var query = document.getElementById('mkdocs-search-query').value; + if (query.length > min_search_length) { + if (!window.Worker) { + displayResults(search(query)); + } else { + searchWorker.postMessage({query: query}); + } + } else { + // Clear results for short queries + displayResults([]); + } +} + +function initSearch () { + var search_input = document.getElementById('mkdocs-search-query'); + if (search_input) { + search_input.addEventListener("keyup", doSearch); + } + var term = getSearchTermFromLocation(); + if (term) { + search_input.value = term; + doSearch(); + } +} + +function onWorkerMessage (e) { + if (e.data.allowSearch) { + initSearch(); + } else if (e.data.results) { + var results = e.data.results; + displayResults(results); + } else if (e.data.config) { + min_search_length = e.data.config.min_search_length-1; + } +} + +if (!window.Worker) { + console.log('Web Worker API not supported'); + // load index in main thread + $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { + console.log('Loaded worker'); + init(); + window.postMessage = function (msg) { + onWorkerMessage({data: msg}); + }; + }).fail(function (jqxhr, settings, exception) { + console.error('Could not load worker.js'); + }); +} else { + // Wrap search in a web worker + var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); + searchWorker.postMessage({init: true}); + searchWorker.onmessage = onWorkerMessage; +} diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 0000000..da4170d --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Ro-DOU O Ro-DOU \u00e9 uma ferramenta que efetua um clipping do Di\u00e1rio Oficial da Uni\u00e3o ( D.O.U. ) e dos Di\u00e1rios Oficiais de munic\u00edpios, por meio do Querido Di\u00e1rio . O Ro-DOU permite o recebimento de notifica\u00e7\u00f5es (via e-mail, Slack, Discord ou outros) de todas as publica\u00e7\u00f5es que contenham as palavras-chaves que voc\u00ea definir. Neste site, voc\u00ea encontrar\u00e1 informa\u00e7\u00f5es sobre como usar o Ro-DOU e quais funcionalidades ele proporciona, al\u00e9m de outras informa\u00e7\u00f5es sobre como contribuir para melhorar a ferramenta e como contatar o MGI. O Ro-DOU \u00e9 uma solu\u00e7\u00e3o desenvolvida pela Secretaria de Gest\u00e3o e Inova\u00e7\u00e3o do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos .","title":"P\u00e1gina Inicial"},{"location":"#ro-dou","text":"O Ro-DOU \u00e9 uma ferramenta que efetua um clipping do Di\u00e1rio Oficial da Uni\u00e3o ( D.O.U. ) e dos Di\u00e1rios Oficiais de munic\u00edpios, por meio do Querido Di\u00e1rio . O Ro-DOU permite o recebimento de notifica\u00e7\u00f5es (via e-mail, Slack, Discord ou outros) de todas as publica\u00e7\u00f5es que contenham as palavras-chaves que voc\u00ea definir. Neste site, voc\u00ea encontrar\u00e1 informa\u00e7\u00f5es sobre como usar o Ro-DOU e quais funcionalidades ele proporciona, al\u00e9m de outras informa\u00e7\u00f5es sobre como contribuir para melhorar a ferramenta e como contatar o MGI. O Ro-DOU \u00e9 uma solu\u00e7\u00e3o desenvolvida pela Secretaria de Gest\u00e3o e Inova\u00e7\u00e3o do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos .","title":"Ro-DOU"},{"location":"changelog/changelog/","text":"Changelog As principais mudan\u00e7as realizadas no reposit\u00f3rio do Ro-dou est\u00e3o documentadas aqui a partir de 25/04/2023. [0.1.4] - 2024-07-30 What's Changed Close p tag in watermark by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/109 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.3...0.1.4 [0.1.3] - 2024-07-25 Cria a nova p\u00e1gina de documenta\u00e7\u00e3o do Ro-DOU no Github Pages Cria a marca d'agua do Ro-DOU no template do email Adiciona quebra de linhas no texto no modo full_text (INLABS) Corrige bug quando a pagina\u00e7\u00e3o de resultados \u00e9 igual a 2 (DOU) What's Changed Update README.md by @marcelosinnerworkings in https://github.com/gestaogovbr/Ro-dou/pull/95 Fix format for Outlook display by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/96 Force justify text by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/97 Include parameter for dynamic no result text in notification by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/98 add dataset trigger scheduler by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/99 Fix pagination by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/104 Keep line breaks in full text mode by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/105 Add watermark in email template by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/108 New Contributors @marcelosinnerworkings made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/95 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.2...0.1.3 [0.1.2] Integra\u00e7\u00e3o com o portal INLABS, da Imprensa Nacional, permitindo a leitura das edi\u00e7\u00f5es do DOU pelos arquivos XML Remove depend\u00eancias com o framework FastETL Cria filtro de pesquisa por unidade (department) Cria op\u00e7\u00e3o de exibi\u00e7\u00e3o de texto completo da publica\u00e7\u00e3o Cria op\u00e7\u00e3o de busca avan\u00e7ada usando operadores l\u00f3gicos (INLABS) Implementa a op\u00e7\u00e3o de m\u00faltiplos searchs no mesmo YAML Cria op\u00e7\u00e3o para omitir metadados (hide_filter) no relat\u00f3rio do clipping Cria op\u00e7\u00e3o para permitir inclus\u00e3o de cabe\u00e7alho e rodap\u00e9 no corpo do relat\u00f3rio Formata o texto para modo justificado What's Changed Move DOUhook from FastETL to Ro-dou src by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/66 Validate yaml by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/75 Create filter for department by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/77 change exact search to consider special characters by @gutaors in https://github.com/gestaogovbr/Ro-dou/pull/80 Inlabs db by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/81 add full_text option by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/82 Implement search with logical operators by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/85 Implement subsearchs by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/87 Fix select_terms_from_db bug by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/88 Create param hide_filter by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/90 Hide filters for slack and discord by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/91 Add Header and footer text by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/93 Justify text in email report by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/94 New Contributors @gutaors made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/80 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.1...0.1.2 [0.1.1] What's Changed fix css file access [0.1.0] - 2023-08-31 Altera a forma de encontrar os arquivos de configura\u00e7\u00e3o das DAGs ( dag_confs/*.yml ). Antes considerava que a pasta dag_confs/ estava na mesma raiz que os arquivos do ro-dou em ./src . Agora o caminho da(s) pasta(s) deve ser informado pela vari\u00e1vel de ambiente RO_DOU__DAG_CONF_DIR e separado por : quando mais de um. Exemplo: As pastas /opt/airflow/dags/repo1/dag_confs e /opt/airflow/dags/repo2/dag_confs possuem arquivos de configura\u00e7\u00e3o (yaml) para gera\u00e7\u00e3o das DAGs do rodou. A vari\u00e1vel de ambiente RO_DOU__DAG_CONF_DIR deve ser atribu\u00edda assim: RO_DOU__DAG_CONF_DIR=/opt/airflow/dags/repo1/dag_confs:/opt/airflow/dags/repo2/dag_confs Esta altera\u00e7\u00e3o permite que os arquivos de configura\u00e7\u00e3o das DAGs ( dag_confs/*.yml ) estejam em qualquer pasta da m\u00e1quina ou container. What's Changed Change name organization economia to gestao by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/60 change dag_confs search by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/62 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.0.7...0.1.0 [0.0.7] 2023-04-27 What's Changed fix workflow docker build publish [0.0.6] 2023-04-27 What's Changed fix workflow docker build publish [0.0.5] 2023-04-27 What's Changed fix workflow docker build publish [0.0.4] 2023-04-27 What's Changed fix workflow docker build publish [0.0.3] 2023-04-27 What's Changed fix workflow docker build publish [0.0.2] 2023-04-25 What's Changed Conjunto de mudan\u00e7as para v.1 by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/4 Cria resili\u00eancia na chamada da API do DOU by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/5 Cria op\u00e7\u00e3o de pesquisa no Querido Di\u00e1rio by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/14 Trigger date horario local by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/17 altera template de data do t\u00edtulo do email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/18 Incluir servi\u00e7o do selenium no docker-compose.yml by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/22 Adiciona tentativas de execu\u00e7\u00e3o na fun\u00e7\u00e3o search_text_with_retry by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/23 Criar par\u00e2metro para enviar email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/24 Make tests run in colored output by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/25 Implementa feature de documenta\u00e7\u00e3o markdown e informa\u00e7\u00f5es \u00fateis by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/31 Add documentation and separate tests for DAG Docs by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/34 Fix spelling in \"links\" by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/35 Fix searching terms read from database by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/39 remove selenium from Ro-dou by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/40 Mount as a volume only the modules used by Ro-DOU by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/44 Upgrade actions/checkout to v3 in CI by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/47 [dou_dag_generator] enables to find ro_dou folder inside airflow dags\u2026 by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/49 Decouple this project from the airflow2-docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/51 Bundle src code and plugin into docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/53 [WIP] Discord Integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/50 Workflow to build and publish docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/54 update fastetl import by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/56 Slack integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/58 New Contributors @nitaibezerra made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/4 Full Changelog : https://github.com/gestaogovbr/Ro-dou/commits/0.0.2 [0.0.1] 2023-04-25 What's Changed Conjunto de mudan\u00e7as para v.1 by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/4 Cria resili\u00eancia na chamada da API do DOU by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/5 Cria op\u00e7\u00e3o de pesquisa no Querido Di\u00e1rio by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/14 Trigger date horario local by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/17 altera template de data do t\u00edtulo do email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/18 Incluir servi\u00e7o do selenium no docker-compose.yml by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/22 Adiciona tentativas de execu\u00e7\u00e3o na fun\u00e7\u00e3o search_text_with_retry by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/23 Criar par\u00e2metro para enviar email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/24 Make tests run in colored output by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/25 Implementa feature de documenta\u00e7\u00e3o markdown e informa\u00e7\u00f5es \u00fateis by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/31 Add documentation and separate tests for DAG Docs by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/34 Fix spelling in \"links\" by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/35 Fix searching terms read from database by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/39 remove selenium from Ro-dou by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/40 Mount as a volume only the modules used by Ro-DOU by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/44 Upgrade actions/checkout to v3 in CI by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/47 [dou_dag_generator] enables to find ro_dou folder inside airflow dags\u2026 by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/49 Decouple this project from the airflow2-docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/51 Bundle src code and plugin into docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/53 [WIP] Discord Integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/50 Workflow to build and publish docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/54 update fastetl import by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/56 Slack integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/58 New Contributors @nitaibezerra made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/4 Full Changelog : https://github.com/gestaogovbr/Ro-dou/commits/0.0.1","title":"Changelog"},{"location":"changelog/changelog/#changelog","text":"As principais mudan\u00e7as realizadas no reposit\u00f3rio do Ro-dou est\u00e3o documentadas aqui a partir de 25/04/2023.","title":"Changelog"},{"location":"changelog/changelog/#014-2024-07-30","text":"","title":"[0.1.4] - 2024-07-30"},{"location":"changelog/changelog/#whats-changed","text":"Close p tag in watermark by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/109 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.3...0.1.4","title":"What's Changed"},{"location":"changelog/changelog/#013-2024-07-25","text":"Cria a nova p\u00e1gina de documenta\u00e7\u00e3o do Ro-DOU no Github Pages Cria a marca d'agua do Ro-DOU no template do email Adiciona quebra de linhas no texto no modo full_text (INLABS) Corrige bug quando a pagina\u00e7\u00e3o de resultados \u00e9 igual a 2 (DOU)","title":"[0.1.3] - 2024-07-25"},{"location":"changelog/changelog/#whats-changed_1","text":"Update README.md by @marcelosinnerworkings in https://github.com/gestaogovbr/Ro-dou/pull/95 Fix format for Outlook display by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/96 Force justify text by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/97 Include parameter for dynamic no result text in notification by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/98 add dataset trigger scheduler by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/99 Fix pagination by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/104 Keep line breaks in full text mode by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/105 Add watermark in email template by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/108","title":"What's Changed"},{"location":"changelog/changelog/#new-contributors","text":"@marcelosinnerworkings made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/95 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.2...0.1.3","title":"New Contributors"},{"location":"changelog/changelog/#012","text":"Integra\u00e7\u00e3o com o portal INLABS, da Imprensa Nacional, permitindo a leitura das edi\u00e7\u00f5es do DOU pelos arquivos XML Remove depend\u00eancias com o framework FastETL Cria filtro de pesquisa por unidade (department) Cria op\u00e7\u00e3o de exibi\u00e7\u00e3o de texto completo da publica\u00e7\u00e3o Cria op\u00e7\u00e3o de busca avan\u00e7ada usando operadores l\u00f3gicos (INLABS) Implementa a op\u00e7\u00e3o de m\u00faltiplos searchs no mesmo YAML Cria op\u00e7\u00e3o para omitir metadados (hide_filter) no relat\u00f3rio do clipping Cria op\u00e7\u00e3o para permitir inclus\u00e3o de cabe\u00e7alho e rodap\u00e9 no corpo do relat\u00f3rio Formata o texto para modo justificado","title":"[0.1.2]"},{"location":"changelog/changelog/#whats-changed_2","text":"Move DOUhook from FastETL to Ro-dou src by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/66 Validate yaml by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/75 Create filter for department by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/77 change exact search to consider special characters by @gutaors in https://github.com/gestaogovbr/Ro-dou/pull/80 Inlabs db by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/81 add full_text option by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/82 Implement search with logical operators by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/85 Implement subsearchs by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/87 Fix select_terms_from_db bug by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/88 Create param hide_filter by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/90 Hide filters for slack and discord by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/91 Add Header and footer text by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/93 Justify text in email report by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/94","title":"What's Changed"},{"location":"changelog/changelog/#new-contributors_1","text":"@gutaors made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/80 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.1.1...0.1.2","title":"New Contributors"},{"location":"changelog/changelog/#011","text":"","title":"[0.1.1]"},{"location":"changelog/changelog/#whats-changed_3","text":"fix css file access","title":"What's Changed"},{"location":"changelog/changelog/#010-2023-08-31","text":"Altera a forma de encontrar os arquivos de configura\u00e7\u00e3o das DAGs ( dag_confs/*.yml ). Antes considerava que a pasta dag_confs/ estava na mesma raiz que os arquivos do ro-dou em ./src . Agora o caminho da(s) pasta(s) deve ser informado pela vari\u00e1vel de ambiente RO_DOU__DAG_CONF_DIR e separado por : quando mais de um. Exemplo: As pastas /opt/airflow/dags/repo1/dag_confs e /opt/airflow/dags/repo2/dag_confs possuem arquivos de configura\u00e7\u00e3o (yaml) para gera\u00e7\u00e3o das DAGs do rodou. A vari\u00e1vel de ambiente RO_DOU__DAG_CONF_DIR deve ser atribu\u00edda assim: RO_DOU__DAG_CONF_DIR=/opt/airflow/dags/repo1/dag_confs:/opt/airflow/dags/repo2/dag_confs Esta altera\u00e7\u00e3o permite que os arquivos de configura\u00e7\u00e3o das DAGs ( dag_confs/*.yml ) estejam em qualquer pasta da m\u00e1quina ou container.","title":"[0.1.0] - 2023-08-31"},{"location":"changelog/changelog/#whats-changed_4","text":"Change name organization economia to gestao by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/60 change dag_confs search by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/62 Full Changelog : https://github.com/gestaogovbr/Ro-dou/compare/0.0.7...0.1.0","title":"What's Changed"},{"location":"changelog/changelog/#007-2023-04-27","text":"","title":"[0.0.7] 2023-04-27"},{"location":"changelog/changelog/#whats-changed_5","text":"fix workflow docker build publish","title":"What's Changed"},{"location":"changelog/changelog/#006-2023-04-27","text":"","title":"[0.0.6] 2023-04-27"},{"location":"changelog/changelog/#whats-changed_6","text":"fix workflow docker build publish","title":"What's Changed"},{"location":"changelog/changelog/#005-2023-04-27","text":"","title":"[0.0.5] 2023-04-27"},{"location":"changelog/changelog/#whats-changed_7","text":"fix workflow docker build publish","title":"What's Changed"},{"location":"changelog/changelog/#004-2023-04-27","text":"","title":"[0.0.4] 2023-04-27"},{"location":"changelog/changelog/#whats-changed_8","text":"fix workflow docker build publish","title":"What's Changed"},{"location":"changelog/changelog/#003-2023-04-27","text":"","title":"[0.0.3] 2023-04-27"},{"location":"changelog/changelog/#whats-changed_9","text":"fix workflow docker build publish","title":"What's Changed"},{"location":"changelog/changelog/#002-2023-04-25","text":"","title":"[0.0.2] 2023-04-25"},{"location":"changelog/changelog/#whats-changed_10","text":"Conjunto de mudan\u00e7as para v.1 by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/4 Cria resili\u00eancia na chamada da API do DOU by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/5 Cria op\u00e7\u00e3o de pesquisa no Querido Di\u00e1rio by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/14 Trigger date horario local by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/17 altera template de data do t\u00edtulo do email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/18 Incluir servi\u00e7o do selenium no docker-compose.yml by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/22 Adiciona tentativas de execu\u00e7\u00e3o na fun\u00e7\u00e3o search_text_with_retry by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/23 Criar par\u00e2metro para enviar email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/24 Make tests run in colored output by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/25 Implementa feature de documenta\u00e7\u00e3o markdown e informa\u00e7\u00f5es \u00fateis by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/31 Add documentation and separate tests for DAG Docs by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/34 Fix spelling in \"links\" by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/35 Fix searching terms read from database by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/39 remove selenium from Ro-dou by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/40 Mount as a volume only the modules used by Ro-DOU by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/44 Upgrade actions/checkout to v3 in CI by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/47 [dou_dag_generator] enables to find ro_dou folder inside airflow dags\u2026 by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/49 Decouple this project from the airflow2-docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/51 Bundle src code and plugin into docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/53 [WIP] Discord Integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/50 Workflow to build and publish docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/54 update fastetl import by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/56 Slack integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/58","title":"What's Changed"},{"location":"changelog/changelog/#new-contributors_2","text":"@nitaibezerra made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/4 Full Changelog : https://github.com/gestaogovbr/Ro-dou/commits/0.0.2","title":"New Contributors"},{"location":"changelog/changelog/#001-2023-04-25","text":"","title":"[0.0.1] 2023-04-25"},{"location":"changelog/changelog/#whats-changed_11","text":"Conjunto de mudan\u00e7as para v.1 by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/4 Cria resili\u00eancia na chamada da API do DOU by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/5 Cria op\u00e7\u00e3o de pesquisa no Querido Di\u00e1rio by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/14 Trigger date horario local by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/17 altera template de data do t\u00edtulo do email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/18 Incluir servi\u00e7o do selenium no docker-compose.yml by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/22 Adiciona tentativas de execu\u00e7\u00e3o na fun\u00e7\u00e3o search_text_with_retry by @edulauer in https://github.com/gestaogovbr/Ro-dou/pull/23 Criar par\u00e2metro para enviar email by @salomaolopes in https://github.com/gestaogovbr/Ro-dou/pull/24 Make tests run in colored output by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/25 Implementa feature de documenta\u00e7\u00e3o markdown e informa\u00e7\u00f5es \u00fateis by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/31 Add documentation and separate tests for DAG Docs by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/34 Fix spelling in \"links\" by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/35 Fix searching terms read from database by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/39 remove selenium from Ro-dou by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/40 Mount as a volume only the modules used by Ro-DOU by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/44 Upgrade actions/checkout to v3 in CI by @augusto-herrmann in https://github.com/gestaogovbr/Ro-dou/pull/47 [dou_dag_generator] enables to find ro_dou folder inside airflow dags\u2026 by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/49 Decouple this project from the airflow2-docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/51 Bundle src code and plugin into docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/53 [WIP] Discord Integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/50 Workflow to build and publish docker image by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/54 update fastetl import by @vitorbellini in https://github.com/gestaogovbr/Ro-dou/pull/56 Slack integration by @nitaibezerra in https://github.com/gestaogovbr/Ro-dou/pull/58","title":"What's Changed"},{"location":"changelog/changelog/#new-contributors_3","text":"@nitaibezerra made their first contribution in https://github.com/gestaogovbr/Ro-dou/pull/4 Full Changelog : https://github.com/gestaogovbr/Ro-dou/commits/0.0.1","title":"New Contributors"},{"location":"como_contribuir/contribuicoes/","text":"Como contribuir Os arquivos do projeto Ro-DOU s\u00e3o disponibilizados publicamente no perfil GitHub do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos e podem ser acessados clicando aqui . Contribui\u00e7\u00f5es externas ao projeto s\u00e3o bem-vindas. Para sugerir melhorias, abra uma issue via GitHub. A issue ser\u00e1 avaliada assim que poss\u00edvel pela equipe da SEGES/MGI. Caso deseje expressar outros coment\u00e1rios, cr\u00edticas, d\u00favidas ou sugest\u00f5es, contate-nos .","title":"Contribui\u00e7\u00f5es"},{"location":"como_contribuir/contribuicoes/#como-contribuir","text":"Os arquivos do projeto Ro-DOU s\u00e3o disponibilizados publicamente no perfil GitHub do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos e podem ser acessados clicando aqui . Contribui\u00e7\u00f5es externas ao projeto s\u00e3o bem-vindas. Para sugerir melhorias, abra uma issue via GitHub. A issue ser\u00e1 avaliada assim que poss\u00edvel pela equipe da SEGES/MGI. Caso deseje expressar outros coment\u00e1rios, cr\u00edticas, d\u00favidas ou sugest\u00f5es, contate-nos .","title":"Como contribuir"},{"location":"como_funciona/exemplos/","text":"Exemplos de configura\u00e7\u00e3o do arquivo YAML Neste segmento, voc\u00ea encontrar\u00e1 uma s\u00e9rie de exemplos pr\u00e1ticos de utiliza\u00e7\u00e3o do Ro-DOU. A leitura dos exemplos ajudar\u00e1 a visualizar de que maneira o Ro-DOU pode ser utilizado. Exemplo 1 A configura\u00e7\u00e3o a seguir cria uma DAG que realiza a pesquisa di\u00e1ria dos 6 termos listados e envia o relat\u00f3rio para o e-mail fornecido. dag: id: pesquisa_dou_termos_interesse_nitai description: Pesquisa termos de interesse de Nitai. search: terms: - dados abertos - governo aberto - engenharia de dados - software livre - c\u00f3digo aberto - open source report: emails: - endereco@dominio.com Exemplo 2 A configura\u00e7\u00e3o a seguir realiza a pesquisa di\u00e1ria de segunda-feira a sexta-feira, 8AM , apenas na Se\u00e7\u00e3o 1 e na Edi\u00e7\u00e3o Suplementar e envia o resultado em formato CSV , anexado ao e-mail. O par\u00e2metro schedule aceita valores CRON. dag: id: dag_id_deve_ser_unico_em_todo_airflow description: DAG exemplo de monitoramento no DOU. schedule: 0 8 * * MON-FRI search: terms: - aloca\u00e7\u00e3o - realoca - permuta - estrutura regimental - organiza\u00e7\u00e3o b\u00e1sica dou_sections: - SECAO_1 - EDICAO_SUPLEMENTAR report: emails: - dest1@gestao.gov.br - dest2@gestao.gov.br attach_csv: True subject: Assunto do Email Note que aqui s\u00e3o utilizados os par\u00e2metros opcionais schedule , dou_section e attach_csv . Exemplo 3 A configura\u00e7\u00e3o a seguir utiliza o par\u00e2metro from_db_select em terms , que torna din\u00e2mica a parametriza\u00e7\u00e3o dos termos para pesquisa. Note tamb\u00e9m a inclus\u00e3o de tags que ajudam na organiza\u00e7\u00e3o e na busca das DAGs no Airflow. dag: id: dag_ultra_dinamica description: A pesquisa depende do select SQL. tags: - projeto_a - departamento_x search: terms: from_db_select: sql: SELECT text FROM schema.tabela; conn_id: airflow_conn_id report: emails: - email-destino@gestao.gov.br subject: \"[String] com caracteres especiais deve estar entre aspas\" Exemplo 4 A configura\u00e7\u00e3o a seguir utiliza o par\u00e2metro from_airflow_variable em terms , que tamb\u00e9m carrega dinamicamente a lista de termos. Neste caso, h\u00e1 a recupera\u00e7\u00e3o a partir de uma vari\u00e1vel do Airflow . Aqui, tamb\u00e9m \u00e9 utilizado o campo field para limitar as pesquisas ao campo t\u00edtulo das publica\u00e7\u00f5es no Di\u00e1rio Oficial da Uni\u00e3o. dag: id: pesquisa_a_lista_na_variavel description: \u00c9 f\u00e1cil editar a vari\u00e1vel na interface do Airflow. search: terms: from_airflow_variable: nome_da_variavel_no_airflow field: TITULO report: emails: - email-destino@gestao.gov.br skip_null: False Caso n\u00e3o encontre nenhum resultado, ser\u00e1 enviado um e-mail informando que nenhum termo foi encontrado. Exemplo 5 A configura\u00e7\u00e3o a seguir produz uma DAG que executa apenas uma vez por m\u00eas , no dia 1 \u00e0s 8 AM, como pode ser visto no schedule . Simultaneamente, a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o \u00e9 realizada nos di\u00e1rios oficiais do \u00faltimo m\u00eas inteiro, atrav\u00e9s do uso do par\u00e2metro date . Aqui, tamb\u00e9m \u00e9 utilizado o par\u00e2metro is_exact_search com valor False para utilizar uma pesquisa aproximada. Apesar do fato de que o termo buscado \"paralelpip i do\" contenha um erro ortogr\u00e1fico, a busca retorna os resultados corretos. Veja! dag: id: relatorio_mensal_do_dou description: Envia um numero menor de emails. schedule: 0 8 1 * * search: terms: - paralelpipido date: MES is_exact_search: False report: emails: - email-destino@gestao.gov.br Exemplo 6 A configura\u00e7\u00e3o a seguir produz uma DAG que pesquisa no Querido Di\u00e1rio pelos termos \"pandemia\", \"dados pessoais\" e \"prefeitura\", buscando apenas os resultados do Di\u00e1rio Oficial de Belo Horizonte. Para conhecer o Querido Di\u00e1rio, acesse https://queridodiario.ok.org.br/ . dag: id: dou_qd_example description: DAG de teste search: sources: - QD territory_id: 3106200 # Belo Horizonte terms: - pandemia - dados pessoais - prefeitura report: emails: - destination@gestao.gov.br attach_csv: True subject: \"Teste do Ro-dou\" Exemplo 7 A configura\u00e7\u00e3o a seguir produz uma DAG exatamente igual ao exemplo b\u00e1sico, mas adiciona uma descri\u00e7\u00e3o longa do que a DAG faz, usando o par\u00e2metro doc_md . Essa descri\u00e7\u00e3o pode conter formata\u00e7\u00e3o markdown, incluindo t\u00edtulos, listas, links etc. Al\u00e9m disso, acrescenta tamb\u00e9m uma refer\u00eancia ao nome do arquivo que gerou a DAG, bem como os seus par\u00e2metros. dag: id: markdown_docs_example description: DAG com documenta\u00e7\u00e3o em markdown search: terms: - dados abertos - governo aberto - lei de acesso \u00e0 informa\u00e7\u00e3o report: emails: - destination@gestao.gov.br subject: \"Teste do Ro-dou\" doc_md: >- ## Ola! Esta \u00e9 uma DAG de exemplo com documenta\u00e7\u00e3o em markdown. Esta descri\u00e7\u00e3o \u00e9 opcional e pode ser definida no par\u00e2metro `doc_md`. * Ah, aqui voc\u00ea tamb\u00e9m pode usar *markdown* para * escrever listas, por exemplo, * ou colocar [links](graph)! Para ver essa documenta\u00e7\u00e3o, basta clicar o bot\u00e3o \"DAG Docs\" em qualquer tela de visualiza\u00e7\u00e3o da DAG no Airflow. Exemplo 8 Esta configura\u00e7\u00e3o envia as notifica\u00e7\u00f5es para canais Discord. \u00c9 necess\u00e1rio ter permiss\u00f5es de administrador no Discord para gerar o Webhook: dag: id: discord_example description: Envia notifica\u00e7\u00f5es para canal Discord search: terms: - manifesta\u00e7\u00e3o cultural - express\u00e3o cultural - pol\u00edtica cultural report: report: discord: webhook: https://discord.com/api/webhooks/105220xxxxxx811250/Q-XsfdnoHtudTQ-8A6zzzzznitai-vi0bGLE7xxxxxxxxxxxxxxxxxxxmx94R3oZ1h0ngl1 Exemplo 9 Esta configura\u00e7\u00e3o envia as notifica\u00e7\u00f5es para canais Slack. \u00c9 necess\u00e1rio ter permiss\u00f5es de administrador no Slack para gerar o Webhook: dag: id: slack_example description: Envia notifica\u00e7\u00f5es para canal Slack search: terms: - manifesta\u00e7\u00e3o cultural - express\u00e3o cultural - pol\u00edtica cultural report: report: slack: webhook: https://hooks.slack.com/services/XXXXXXXX/XXXXNFDXXX/n6QXXXXrPwxQ71ZXXXXXT9 Exemplo 10 Esta configura\u00e7\u00e3o filtra os resultados por \u00f3rg\u00e3o/unidade selecionados. Por enquanto dispon\u00edvel apenas para as pesquisas no DOU. dag: id: department_example description: DAG de teste (filtro por departamento) search: terms: - dados abertos department: - Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos - Minist\u00e9rio da Defesa report: emails: - destination@gestao.gov.br subject: \"Teste do Ro-dou\"","title":"Exemplos"},{"location":"como_funciona/exemplos/#exemplos-de-configuracao-do-arquivo-yaml","text":"Neste segmento, voc\u00ea encontrar\u00e1 uma s\u00e9rie de exemplos pr\u00e1ticos de utiliza\u00e7\u00e3o do Ro-DOU. A leitura dos exemplos ajudar\u00e1 a visualizar de que maneira o Ro-DOU pode ser utilizado.","title":"Exemplos de configura\u00e7\u00e3o do arquivo YAML"},{"location":"como_funciona/exemplos/#exemplo-1","text":"A configura\u00e7\u00e3o a seguir cria uma DAG que realiza a pesquisa di\u00e1ria dos 6 termos listados e envia o relat\u00f3rio para o e-mail fornecido. dag: id: pesquisa_dou_termos_interesse_nitai description: Pesquisa termos de interesse de Nitai. search: terms: - dados abertos - governo aberto - engenharia de dados - software livre - c\u00f3digo aberto - open source report: emails: - endereco@dominio.com","title":"Exemplo 1"},{"location":"como_funciona/exemplos/#exemplo-2","text":"A configura\u00e7\u00e3o a seguir realiza a pesquisa di\u00e1ria de segunda-feira a sexta-feira, 8AM , apenas na Se\u00e7\u00e3o 1 e na Edi\u00e7\u00e3o Suplementar e envia o resultado em formato CSV , anexado ao e-mail. O par\u00e2metro schedule aceita valores CRON. dag: id: dag_id_deve_ser_unico_em_todo_airflow description: DAG exemplo de monitoramento no DOU. schedule: 0 8 * * MON-FRI search: terms: - aloca\u00e7\u00e3o - realoca - permuta - estrutura regimental - organiza\u00e7\u00e3o b\u00e1sica dou_sections: - SECAO_1 - EDICAO_SUPLEMENTAR report: emails: - dest1@gestao.gov.br - dest2@gestao.gov.br attach_csv: True subject: Assunto do Email Note que aqui s\u00e3o utilizados os par\u00e2metros opcionais schedule , dou_section e attach_csv .","title":"Exemplo 2"},{"location":"como_funciona/exemplos/#exemplo-3","text":"A configura\u00e7\u00e3o a seguir utiliza o par\u00e2metro from_db_select em terms , que torna din\u00e2mica a parametriza\u00e7\u00e3o dos termos para pesquisa. Note tamb\u00e9m a inclus\u00e3o de tags que ajudam na organiza\u00e7\u00e3o e na busca das DAGs no Airflow. dag: id: dag_ultra_dinamica description: A pesquisa depende do select SQL. tags: - projeto_a - departamento_x search: terms: from_db_select: sql: SELECT text FROM schema.tabela; conn_id: airflow_conn_id report: emails: - email-destino@gestao.gov.br subject: \"[String] com caracteres especiais deve estar entre aspas\"","title":"Exemplo 3"},{"location":"como_funciona/exemplos/#exemplo-4","text":"A configura\u00e7\u00e3o a seguir utiliza o par\u00e2metro from_airflow_variable em terms , que tamb\u00e9m carrega dinamicamente a lista de termos. Neste caso, h\u00e1 a recupera\u00e7\u00e3o a partir de uma vari\u00e1vel do Airflow . Aqui, tamb\u00e9m \u00e9 utilizado o campo field para limitar as pesquisas ao campo t\u00edtulo das publica\u00e7\u00f5es no Di\u00e1rio Oficial da Uni\u00e3o. dag: id: pesquisa_a_lista_na_variavel description: \u00c9 f\u00e1cil editar a vari\u00e1vel na interface do Airflow. search: terms: from_airflow_variable: nome_da_variavel_no_airflow field: TITULO report: emails: - email-destino@gestao.gov.br skip_null: False Caso n\u00e3o encontre nenhum resultado, ser\u00e1 enviado um e-mail informando que nenhum termo foi encontrado.","title":"Exemplo 4"},{"location":"como_funciona/exemplos/#exemplo-5","text":"A configura\u00e7\u00e3o a seguir produz uma DAG que executa apenas uma vez por m\u00eas , no dia 1 \u00e0s 8 AM, como pode ser visto no schedule . Simultaneamente, a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o \u00e9 realizada nos di\u00e1rios oficiais do \u00faltimo m\u00eas inteiro, atrav\u00e9s do uso do par\u00e2metro date . Aqui, tamb\u00e9m \u00e9 utilizado o par\u00e2metro is_exact_search com valor False para utilizar uma pesquisa aproximada. Apesar do fato de que o termo buscado \"paralelpip i do\" contenha um erro ortogr\u00e1fico, a busca retorna os resultados corretos. Veja! dag: id: relatorio_mensal_do_dou description: Envia um numero menor de emails. schedule: 0 8 1 * * search: terms: - paralelpipido date: MES is_exact_search: False report: emails: - email-destino@gestao.gov.br","title":"Exemplo 5"},{"location":"como_funciona/exemplos/#exemplo-6","text":"A configura\u00e7\u00e3o a seguir produz uma DAG que pesquisa no Querido Di\u00e1rio pelos termos \"pandemia\", \"dados pessoais\" e \"prefeitura\", buscando apenas os resultados do Di\u00e1rio Oficial de Belo Horizonte. Para conhecer o Querido Di\u00e1rio, acesse https://queridodiario.ok.org.br/ . dag: id: dou_qd_example description: DAG de teste search: sources: - QD territory_id: 3106200 # Belo Horizonte terms: - pandemia - dados pessoais - prefeitura report: emails: - destination@gestao.gov.br attach_csv: True subject: \"Teste do Ro-dou\"","title":"Exemplo 6"},{"location":"como_funciona/exemplos/#exemplo-7","text":"A configura\u00e7\u00e3o a seguir produz uma DAG exatamente igual ao exemplo b\u00e1sico, mas adiciona uma descri\u00e7\u00e3o longa do que a DAG faz, usando o par\u00e2metro doc_md . Essa descri\u00e7\u00e3o pode conter formata\u00e7\u00e3o markdown, incluindo t\u00edtulos, listas, links etc. Al\u00e9m disso, acrescenta tamb\u00e9m uma refer\u00eancia ao nome do arquivo que gerou a DAG, bem como os seus par\u00e2metros. dag: id: markdown_docs_example description: DAG com documenta\u00e7\u00e3o em markdown search: terms: - dados abertos - governo aberto - lei de acesso \u00e0 informa\u00e7\u00e3o report: emails: - destination@gestao.gov.br subject: \"Teste do Ro-dou\" doc_md: >- ## Ola! Esta \u00e9 uma DAG de exemplo com documenta\u00e7\u00e3o em markdown. Esta descri\u00e7\u00e3o \u00e9 opcional e pode ser definida no par\u00e2metro `doc_md`. * Ah, aqui voc\u00ea tamb\u00e9m pode usar *markdown* para * escrever listas, por exemplo, * ou colocar [links](graph)! Para ver essa documenta\u00e7\u00e3o, basta clicar o bot\u00e3o \"DAG Docs\" em qualquer tela de visualiza\u00e7\u00e3o da DAG no Airflow.","title":"Exemplo 7"},{"location":"como_funciona/exemplos/#exemplo-8","text":"Esta configura\u00e7\u00e3o envia as notifica\u00e7\u00f5es para canais Discord. \u00c9 necess\u00e1rio ter permiss\u00f5es de administrador no Discord para gerar o Webhook: dag: id: discord_example description: Envia notifica\u00e7\u00f5es para canal Discord search: terms: - manifesta\u00e7\u00e3o cultural - express\u00e3o cultural - pol\u00edtica cultural report: report: discord: webhook: https://discord.com/api/webhooks/105220xxxxxx811250/Q-XsfdnoHtudTQ-8A6zzzzznitai-vi0bGLE7xxxxxxxxxxxxxxxxxxxmx94R3oZ1h0ngl1","title":"Exemplo 8"},{"location":"como_funciona/exemplos/#exemplo-9","text":"Esta configura\u00e7\u00e3o envia as notifica\u00e7\u00f5es para canais Slack. \u00c9 necess\u00e1rio ter permiss\u00f5es de administrador no Slack para gerar o Webhook: dag: id: slack_example description: Envia notifica\u00e7\u00f5es para canal Slack search: terms: - manifesta\u00e7\u00e3o cultural - express\u00e3o cultural - pol\u00edtica cultural report: report: slack: webhook: https://hooks.slack.com/services/XXXXXXXX/XXXXNFDXXX/n6QXXXXrPwxQ71ZXXXXXT9","title":"Exemplo 9"},{"location":"como_funciona/exemplos/#exemplo-10","text":"Esta configura\u00e7\u00e3o filtra os resultados por \u00f3rg\u00e3o/unidade selecionados. Por enquanto dispon\u00edvel apenas para as pesquisas no DOU. dag: id: department_example description: DAG de teste (filtro por departamento) search: terms: - dados abertos department: - Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos - Minist\u00e9rio da Defesa report: emails: - destination@gestao.gov.br subject: \"Teste do Ro-dou\"","title":"Exemplo 10"},{"location":"como_funciona/intro_funcionamento/","text":"Como funciona Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Compreendendo melhor a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o Recursos e funcionalidades Par\u00e2metros de pesquisa dispon\u00edveis Exemplos de configura\u00e7\u00e3o do arquivo YAML","title":"Introdu\u00e7\u00e3o"},{"location":"como_funciona/intro_funcionamento/#como-funciona","text":"Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Compreendendo melhor a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o Recursos e funcionalidades Par\u00e2metros de pesquisa dispon\u00edveis Exemplos de configura\u00e7\u00e3o do arquivo YAML","title":"Como funciona"},{"location":"como_funciona/operadores/","text":"Operadores de Pesquisa Avan\u00e7ada Os seguintes operadores de pesquisa avan\u00e7ada no Ro-DOU podem ser configurados nos arquivos YAML: & : Equivalente ao operador l\u00f3gico and (conjun\u00e7\u00e3o \"e\"). | : Equivalente ao operador l\u00f3gico or (conjun\u00e7\u00e3o \"ou\"). ! : Equivalente ao operador l\u00f3gico not (nega\u00e7\u00e3o). O exemplo abaixo demonstra, na pr\u00e1tica, como tais operadores podem ser utilizados no Ro-DOU: dag: id: inlabs_advanced_search_example description: DAG de teste tags: - inlabs schedule: 0 8 * * MON-FRI owner: - cdata search: sources: - INLABS terms: - designar & ( MGI | MINIST\u00c9RIO FAZENDA) - instituto & federal ! paran\u00e1 report: emails: - destination@economia.gov.br attach_csv: True subject: \"Teste do Ro-dou\"","title":"Operadores de pesquisa avan\u00e7ada"},{"location":"como_funciona/operadores/#operadores-de-pesquisa-avancada","text":"Os seguintes operadores de pesquisa avan\u00e7ada no Ro-DOU podem ser configurados nos arquivos YAML: & : Equivalente ao operador l\u00f3gico and (conjun\u00e7\u00e3o \"e\"). | : Equivalente ao operador l\u00f3gico or (conjun\u00e7\u00e3o \"ou\"). ! : Equivalente ao operador l\u00f3gico not (nega\u00e7\u00e3o). O exemplo abaixo demonstra, na pr\u00e1tica, como tais operadores podem ser utilizados no Ro-DOU: dag: id: inlabs_advanced_search_example description: DAG de teste tags: - inlabs schedule: 0 8 * * MON-FRI owner: - cdata search: sources: - INLABS terms: - designar & ( MGI | MINIST\u00c9RIO FAZENDA) - instituto & federal ! paran\u00e1 report: emails: - destination@economia.gov.br attach_csv: True subject: \"Teste do Ro-dou\"","title":"Operadores de Pesquisa Avan\u00e7ada"},{"location":"como_funciona/parametros/","text":"Par\u00e2metros de pesquisa dispon\u00edveis A p\u00e1gina abaixo lista os par\u00e2metros configur\u00e1veis nos arquivos YAML: Par\u00e2metros da DAG id : Nome identificador da DAG a ser gerada. description : Descri\u00e7\u00e3o da DAG de pesquisa. doc_md : Documenta\u00e7\u00e3o em markdown da DAG para uma descri\u00e7\u00e3o mais completa. schedule : Agendamento da periodicidade de execu\u00e7\u00e3o da DAG. Padr\u00e3o cron (0 8 * * MON-FRI) tags : Tags para categorizar a DAG. owner : Respons\u00e1vel pela DAG. Par\u00e2metros da Pesquisa (Search) search : Pode ser uma ou uma lista de pesquisas. date : Intervalo de data para busca. Valores: DIA, SEMANA, MES, ANO. Default: DIA department : Lista de unidades a serem filtradas na busca. O nome deve ser id\u00eantico ao da publica\u00e7\u00e3o. dou_sections : Lista de se\u00e7\u00f5es do DOU onde a busca dever\u00e1 ser realizada. Valores aceitos: SECAO_1, SECAO_2, SECAO_3, EDICAO_EXTRA, EDICAO_SUPLEMENTAR, TODOS. field : Campos dos quais os termos devem ser pesquisados. Valores: TUDO, TITULO, CONTEUDO. Default: TUDO force_rematch : Indica que a busca deve ser for\u00e7ada, mesmo que j\u00e1 tenha sido feita anteriormente. Valores: True ou False. full_text : Define se no relat\u00f3rio ser\u00e1 exibido o texto completo, ao inv\u00e9s de um resumo. Valores: True ou False. Default: False. (Funcionalidade dispon\u00edvel apenas no INLABS) use_summary : Define se no relat\u00f3rio ser\u00e1 exibido a ementa, se existir. Valores: True ou False. Default: False. (Funcionalidade dispon\u00edvel apenas no INLABS) ignore_signature_match : Ignora a correspond\u00eancia de assinatura ao realizar a busca. Valores: True ou False. Default: False. is_exact_search : Busca somente o termo exato. Valores: True ou False. Default: True. sources : Fontes de pesquisa dos di\u00e1rios oficiais. Pode ser uma ou uma lista. Op\u00e7\u00f5es dispon\u00edveis: DOU, QD, INLABS. terms : Lista de termos a serem buscados. Para o INLABS podem ser utilizados operadores avan\u00e7ados de busca. territory_id : Identificador do id do munic\u00edpio. Necess\u00e1rio para buscar no Querido Di\u00e1rio. Par\u00e2metros do Relat\u00f3rio (Report) attach_csv : Anexar no email o resultado da pesquisa em CSV. discord_webhook : URL de Webhook para integra\u00e7\u00e3o com o Discord. emails : Lista de emails dos destinat\u00e1rios. footer_text : Texto em HTML do rodap\u00e9 do relat\u00f3rio. header_text : Texto em HTML de cabe\u00e7alho do relat\u00f3rio. hide_filters : Omite no relat\u00f3rio os filtros de pesquisa. no_results_found_text : Texto padr\u00e3o para quando n\u00e3o h\u00e1 resultados encontrados. Default: Nenhum dos termos pesquisados foi encontrado nesta consulta. report : Par\u00e2metros de notifica\u00e7\u00e3o de relat\u00f3rio. skip_null : Dispensa o envio de email quando n\u00e3o h\u00e1 resultados encontrados em todas as pesquisas. Valores: True ou False. Default: True. slack_webhook : URL de Webhook para integra\u00e7\u00e3o com o Slack. subject : Texto de assunto do email.","title":"Par\u00e2metros de pesquisa"},{"location":"como_funciona/parametros/#parametros-de-pesquisa-disponiveis","text":"A p\u00e1gina abaixo lista os par\u00e2metros configur\u00e1veis nos arquivos YAML:","title":"Par\u00e2metros de pesquisa dispon\u00edveis"},{"location":"como_funciona/parametros/#parametros-da-dag","text":"id : Nome identificador da DAG a ser gerada. description : Descri\u00e7\u00e3o da DAG de pesquisa. doc_md : Documenta\u00e7\u00e3o em markdown da DAG para uma descri\u00e7\u00e3o mais completa. schedule : Agendamento da periodicidade de execu\u00e7\u00e3o da DAG. Padr\u00e3o cron (0 8 * * MON-FRI) tags : Tags para categorizar a DAG. owner : Respons\u00e1vel pela DAG.","title":"Par\u00e2metros da DAG"},{"location":"como_funciona/parametros/#parametros-da-pesquisa-search","text":"search : Pode ser uma ou uma lista de pesquisas. date : Intervalo de data para busca. Valores: DIA, SEMANA, MES, ANO. Default: DIA department : Lista de unidades a serem filtradas na busca. O nome deve ser id\u00eantico ao da publica\u00e7\u00e3o. dou_sections : Lista de se\u00e7\u00f5es do DOU onde a busca dever\u00e1 ser realizada. Valores aceitos: SECAO_1, SECAO_2, SECAO_3, EDICAO_EXTRA, EDICAO_SUPLEMENTAR, TODOS. field : Campos dos quais os termos devem ser pesquisados. Valores: TUDO, TITULO, CONTEUDO. Default: TUDO force_rematch : Indica que a busca deve ser for\u00e7ada, mesmo que j\u00e1 tenha sido feita anteriormente. Valores: True ou False. full_text : Define se no relat\u00f3rio ser\u00e1 exibido o texto completo, ao inv\u00e9s de um resumo. Valores: True ou False. Default: False. (Funcionalidade dispon\u00edvel apenas no INLABS) use_summary : Define se no relat\u00f3rio ser\u00e1 exibido a ementa, se existir. Valores: True ou False. Default: False. (Funcionalidade dispon\u00edvel apenas no INLABS) ignore_signature_match : Ignora a correspond\u00eancia de assinatura ao realizar a busca. Valores: True ou False. Default: False. is_exact_search : Busca somente o termo exato. Valores: True ou False. Default: True. sources : Fontes de pesquisa dos di\u00e1rios oficiais. Pode ser uma ou uma lista. Op\u00e7\u00f5es dispon\u00edveis: DOU, QD, INLABS. terms : Lista de termos a serem buscados. Para o INLABS podem ser utilizados operadores avan\u00e7ados de busca. territory_id : Identificador do id do munic\u00edpio. Necess\u00e1rio para buscar no Querido Di\u00e1rio.","title":"Par\u00e2metros da Pesquisa (Search)"},{"location":"como_funciona/parametros/#parametros-do-relatorio-report","text":"attach_csv : Anexar no email o resultado da pesquisa em CSV. discord_webhook : URL de Webhook para integra\u00e7\u00e3o com o Discord. emails : Lista de emails dos destinat\u00e1rios. footer_text : Texto em HTML do rodap\u00e9 do relat\u00f3rio. header_text : Texto em HTML de cabe\u00e7alho do relat\u00f3rio. hide_filters : Omite no relat\u00f3rio os filtros de pesquisa. no_results_found_text : Texto padr\u00e3o para quando n\u00e3o h\u00e1 resultados encontrados. Default: Nenhum dos termos pesquisados foi encontrado nesta consulta. report : Par\u00e2metros de notifica\u00e7\u00e3o de relat\u00f3rio. skip_null : Dispensa o envio de email quando n\u00e3o h\u00e1 resultados encontrados em todas as pesquisas. Valores: True ou False. Default: True. slack_webhook : URL de Webhook para integra\u00e7\u00e3o com o Slack. subject : Texto de assunto do email.","title":"Par\u00e2metros do Relat\u00f3rio (Report)"},{"location":"como_funciona/pesquisa_dou/","text":"Compreendendo melhor a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o Todos os par\u00e2metros dispon\u00edveis para pesquisa no Di\u00e1rio Oficial da Uni\u00e3o (DOU) foram criados a partir da API da Imprensa Nacional, que por sua vez \u00e9 utilizada pelo buscador oficial do DOU em https://www.in.gov.br/consulta/ . Assim, \u00e9 poss\u00edvel notar que o Ro-DOU consegue automatizar todo, ou quase todo, tipo de pesquisa que pode ser feita no site do Di\u00e1rio Oficial da Uni\u00e3o. A imagem abaixo \u00e9 o painel de pesquisa avan\u00e7ada do site:","title":"Compreendendo a pesquisa no D.O.U."},{"location":"como_funciona/pesquisa_dou/#compreendendo-melhor-a-pesquisa-no-diario-oficial-da-uniao","text":"Todos os par\u00e2metros dispon\u00edveis para pesquisa no Di\u00e1rio Oficial da Uni\u00e3o (DOU) foram criados a partir da API da Imprensa Nacional, que por sua vez \u00e9 utilizada pelo buscador oficial do DOU em https://www.in.gov.br/consulta/ . Assim, \u00e9 poss\u00edvel notar que o Ro-DOU consegue automatizar todo, ou quase todo, tipo de pesquisa que pode ser feita no site do Di\u00e1rio Oficial da Uni\u00e3o. A imagem abaixo \u00e9 o painel de pesquisa avan\u00e7ada do site:","title":"Compreendendo melhor a pesquisa no Di\u00e1rio Oficial da Uni\u00e3o"},{"location":"como_funciona/recursos_funcionalidades/","text":"Recursos e funcionalidades O Ro-DOU possui os seguintes recursos e funcionalidades voltados aos usu\u00e1rios: Resultados com frequ\u00eancias di\u00e1ria , semanal ou mensal ; Relat\u00f3rios em formato .CSV para facilita\u00e7\u00e3o do uso; Busca din\u00e2mica das palavras-chaves de um banco de dados ou de uma vari\u00e1vel ; Pesquisa em se\u00e7\u00e3o espec\u00edfica do di\u00e1rio oficial; Envio de notifica\u00e7\u00f5es para os canais existentes no Discord e no Slack.","title":"Recursos e funcionalidades"},{"location":"como_funciona/recursos_funcionalidades/#recursos-e-funcionalidades","text":"O Ro-DOU possui os seguintes recursos e funcionalidades voltados aos usu\u00e1rios: Resultados com frequ\u00eancias di\u00e1ria , semanal ou mensal ; Relat\u00f3rios em formato .CSV para facilita\u00e7\u00e3o do uso; Busca din\u00e2mica das palavras-chaves de um banco de dados ou de uma vari\u00e1vel ; Pesquisa em se\u00e7\u00e3o espec\u00edfica do di\u00e1rio oficial; Envio de notifica\u00e7\u00f5es para os canais existentes no Discord e no Slack.","title":"Recursos e funcionalidades"},{"location":"como_utilizar/instalacao/","text":"Instala\u00e7\u00e3o e configura\u00e7\u00e3o Configurando o ambiente local 'Hello World' O c\u00f3digo-fonte est\u00e1 disponibilizado no perfil do GitHub do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos . Neste t\u00edtulo, fornecemos abaixo uma configura\u00e7\u00e3o demonstrativa para que voc\u00ea possa executar o Ro-DOU no seu computador. Para isso, \u00e9 necess\u00e1rio ter o Docker Compose na vers\u00e3o 1.29 ou maior instalado. Os passos para a instala\u00e7\u00e3o est\u00e3o dispon\u00edveis em https://docs.docker.com/compose/install/ ou em tutoriais no YouTube. Ap\u00f3s clonar o reposit\u00f3rio do Ro-DOU para o seu computador com o comando git clone , acesse o diret\u00f3rio pelo terminal e execute os comandos a seguir: make run Este comando baixa as imagens Docker necess\u00e1rias, efetua o build do container Docker do Ro-DOU e executa todos os demais passos necess\u00e1rios. O Apache Airflow, que tamb\u00e9m \u00e9 usado para rodar o Ro-DOU, pode demorar alguns minutos para se configurar na primeira vez. Posteriormente, ele estar\u00e1 dispon\u00edvel em http://localhost:8080/. Para se autenticar e acessar o Apache Airflow, entre no link e utilize login airflow e senha airflow . Na p\u00e1gina sobre o que \u00e9 o Ro-DOU , explicamos o que \u00e9 um grafo ac\u00edclico dirigido (DAG) do Airflow e como obter mais informa\u00e7\u00f5es sobre este conceito. Na tela inicial do Airflow, s\u00e3o fornecidos clippings de exemplo. A partir dos arquivos YAML (.yaml) do diret\u00f3rio dag_confs/ , \u00e9 poss\u00edvel manipular e customizar as pesquisas de clipping desejadas nos di\u00e1rios oficiais. Dentro dos arquivos YAML, \u00e9 poss\u00edvel, por exemplo, definir palavras-chave de busca e um endere\u00e7o de e-mail para recebimento de uma mensagem com os resultados da busca no(s) di\u00e1rio(s) oficial(is). Para executar qualquer DAG do Airflow, \u00e9 necess\u00e1rio lig\u00e1-la. Inicialmente, todas as DAGs ficam pausadas por padr\u00e3o. Sugerimos come\u00e7ar testando o clipping all_parameters_example . Utilize o bot\u00e3o toggle para lig\u00e1-lo. Ap\u00f3s ativ\u00e1-lo, o Airflow executar\u00e1 a DAG uma \u00fanica vez. Clique no nome da DAG para visualizar o detalhe da execu\u00e7\u00e3o. Voc\u00ea observar\u00e1 que, tanto na visualiza\u00e7\u00e3o em \u00e1rvore ( Tree ) como na visualiza\u00e7\u00e3o em Grafo ( Graph ) dentro do Apache Airflow, \u00e9 poss\u00edvel constatar se houve algum resultado encontrado na API da Imprensa Nacional para os termos e demais par\u00e2metros deste clipping. Se a tarefa chamada \"send_report\" estiver na cor verde, significa que foi encontrado um resultado e que uma mensagem de e-mail foi enviada para o endere\u00e7o configurado no arquivo YAML. Para visualizar a mensagem de e-mail, acesse o endere\u00e7o http://localhost:5001/. Este \u00e9 um servi\u00e7o que simula uma caixa de e-mail (servidor SMTP) para fins de experimenta\u00e7\u00e3o. Voil\u00e0! . Lembre-se que o arquivo de configura\u00e7\u00e3o deste clipping est\u00e1 na pasta dag_confs/ . Confira aqui no GitHub o conte\u00fado do arquivo YAML. Agora, faremos um segundo teste: o clipping terms_from_variable , seguindo os mesmo passos. Neste caso, os termos pesquisados est\u00e3o listados em uma vari\u00e1vel do Airflow e podem ser modificados pela interface gr\u00e1fica. Acesse no menu Admin >> Variables ou pela URL http://localhost:8080/variable/list/. Leia a se\u00e7\u00e3o Configurando em Produ\u00e7\u00e3o para instalar o Ro-dou utilizando um provedor SMTP real que enviar\u00e1 os e-mails para os destinat\u00e1rios verdadeiros. Observa\u00e7\u00e3o: Para utilizar o source: - INLABS , \u00e9 necess\u00e1rio criar a conex\u00e3o inlabs_db no Apache Airflow, apontando para o banco Postgres que est\u00e1 carregado com os dados do inlabs. Voc\u00ea poder\u00e1 encontrar aqui um exemplo de como carregar um banco com os dados do inlabs: ro-dou_inlabs_load_pg_dag.py . Quando tiver terminado de utilizar o ambiente de teste do Ro-DOU, desligue-o por meio do seguinte comando: make down Configurando o ambiente de produ\u00e7\u00e3o Para utilizar o Ro-DOU em ambiente de produ\u00e7\u00e3o, \u00e9 necess\u00e1rio que o servidor tenha dispon\u00edvel um servi\u00e7o SMTP que ser\u00e1 utilizado pelo Apache Airflow para envio de mensagens de e-mail pela Internet. Siga os seguintes passos: Utilize as credenciais do servi\u00e7o SMTP (host, usu\u00e1rio, senha, porta etc.) para editar o arquivo docker-compose.yml , substituindo as vari\u00e1veis referentes ao servi\u00e7o SMTP, a exemplo de AIRFLOW__SMTP__SMTP_HOST . Ao final do arquivo docker-compose.yml , remova as linhas que declaram o servi\u00e7o smtp4dev , uma vez que ele n\u00e3o ser\u00e1 mais necess\u00e1rio. Uma vez executados esses passos, basta agora inicializar o Ro-DOU por meio do comando: make run","title":"Instala\u00e7\u00e3o e configura\u00e7\u00e3o"},{"location":"como_utilizar/instalacao/#instalacao-e-configuracao","text":"","title":"Instala\u00e7\u00e3o e configura\u00e7\u00e3o"},{"location":"como_utilizar/instalacao/#configurando-o-ambiente-local-hello-world","text":"O c\u00f3digo-fonte est\u00e1 disponibilizado no perfil do GitHub do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos . Neste t\u00edtulo, fornecemos abaixo uma configura\u00e7\u00e3o demonstrativa para que voc\u00ea possa executar o Ro-DOU no seu computador. Para isso, \u00e9 necess\u00e1rio ter o Docker Compose na vers\u00e3o 1.29 ou maior instalado. Os passos para a instala\u00e7\u00e3o est\u00e3o dispon\u00edveis em https://docs.docker.com/compose/install/ ou em tutoriais no YouTube. Ap\u00f3s clonar o reposit\u00f3rio do Ro-DOU para o seu computador com o comando git clone , acesse o diret\u00f3rio pelo terminal e execute os comandos a seguir: make run Este comando baixa as imagens Docker necess\u00e1rias, efetua o build do container Docker do Ro-DOU e executa todos os demais passos necess\u00e1rios. O Apache Airflow, que tamb\u00e9m \u00e9 usado para rodar o Ro-DOU, pode demorar alguns minutos para se configurar na primeira vez. Posteriormente, ele estar\u00e1 dispon\u00edvel em http://localhost:8080/. Para se autenticar e acessar o Apache Airflow, entre no link e utilize login airflow e senha airflow . Na p\u00e1gina sobre o que \u00e9 o Ro-DOU , explicamos o que \u00e9 um grafo ac\u00edclico dirigido (DAG) do Airflow e como obter mais informa\u00e7\u00f5es sobre este conceito. Na tela inicial do Airflow, s\u00e3o fornecidos clippings de exemplo. A partir dos arquivos YAML (.yaml) do diret\u00f3rio dag_confs/ , \u00e9 poss\u00edvel manipular e customizar as pesquisas de clipping desejadas nos di\u00e1rios oficiais. Dentro dos arquivos YAML, \u00e9 poss\u00edvel, por exemplo, definir palavras-chave de busca e um endere\u00e7o de e-mail para recebimento de uma mensagem com os resultados da busca no(s) di\u00e1rio(s) oficial(is). Para executar qualquer DAG do Airflow, \u00e9 necess\u00e1rio lig\u00e1-la. Inicialmente, todas as DAGs ficam pausadas por padr\u00e3o. Sugerimos come\u00e7ar testando o clipping all_parameters_example . Utilize o bot\u00e3o toggle para lig\u00e1-lo. Ap\u00f3s ativ\u00e1-lo, o Airflow executar\u00e1 a DAG uma \u00fanica vez. Clique no nome da DAG para visualizar o detalhe da execu\u00e7\u00e3o. Voc\u00ea observar\u00e1 que, tanto na visualiza\u00e7\u00e3o em \u00e1rvore ( Tree ) como na visualiza\u00e7\u00e3o em Grafo ( Graph ) dentro do Apache Airflow, \u00e9 poss\u00edvel constatar se houve algum resultado encontrado na API da Imprensa Nacional para os termos e demais par\u00e2metros deste clipping. Se a tarefa chamada \"send_report\" estiver na cor verde, significa que foi encontrado um resultado e que uma mensagem de e-mail foi enviada para o endere\u00e7o configurado no arquivo YAML. Para visualizar a mensagem de e-mail, acesse o endere\u00e7o http://localhost:5001/. Este \u00e9 um servi\u00e7o que simula uma caixa de e-mail (servidor SMTP) para fins de experimenta\u00e7\u00e3o. Voil\u00e0! . Lembre-se que o arquivo de configura\u00e7\u00e3o deste clipping est\u00e1 na pasta dag_confs/ . Confira aqui no GitHub o conte\u00fado do arquivo YAML. Agora, faremos um segundo teste: o clipping terms_from_variable , seguindo os mesmo passos. Neste caso, os termos pesquisados est\u00e3o listados em uma vari\u00e1vel do Airflow e podem ser modificados pela interface gr\u00e1fica. Acesse no menu Admin >> Variables ou pela URL http://localhost:8080/variable/list/. Leia a se\u00e7\u00e3o Configurando em Produ\u00e7\u00e3o para instalar o Ro-dou utilizando um provedor SMTP real que enviar\u00e1 os e-mails para os destinat\u00e1rios verdadeiros. Observa\u00e7\u00e3o: Para utilizar o source: - INLABS , \u00e9 necess\u00e1rio criar a conex\u00e3o inlabs_db no Apache Airflow, apontando para o banco Postgres que est\u00e1 carregado com os dados do inlabs. Voc\u00ea poder\u00e1 encontrar aqui um exemplo de como carregar um banco com os dados do inlabs: ro-dou_inlabs_load_pg_dag.py . Quando tiver terminado de utilizar o ambiente de teste do Ro-DOU, desligue-o por meio do seguinte comando: make down","title":"Configurando o ambiente local 'Hello World'"},{"location":"como_utilizar/instalacao/#configurando-o-ambiente-de-producao","text":"Para utilizar o Ro-DOU em ambiente de produ\u00e7\u00e3o, \u00e9 necess\u00e1rio que o servidor tenha dispon\u00edvel um servi\u00e7o SMTP que ser\u00e1 utilizado pelo Apache Airflow para envio de mensagens de e-mail pela Internet. Siga os seguintes passos: Utilize as credenciais do servi\u00e7o SMTP (host, usu\u00e1rio, senha, porta etc.) para editar o arquivo docker-compose.yml , substituindo as vari\u00e1veis referentes ao servi\u00e7o SMTP, a exemplo de AIRFLOW__SMTP__SMTP_HOST . Ao final do arquivo docker-compose.yml , remova as linhas que declaram o servi\u00e7o smtp4dev , uma vez que ele n\u00e3o ser\u00e1 mais necess\u00e1rio. Uma vez executados esses passos, basta agora inicializar o Ro-DOU por meio do comando: make run","title":"Configurando o ambiente de produ\u00e7\u00e3o"},{"location":"como_utilizar/intro_utilizacao/","text":"Como utilizar Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Instala\u00e7\u00e3o e configura\u00e7\u00e3o Ambiente local e ambiente de produ\u00e7\u00e3o Usu\u00e1rios internos e externos ao Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos Notifica\u00e7\u00e3o de erros na execu\u00e7\u00e3o das DAGs do Apache Airflow","title":"Introdu\u00e7\u00e3o"},{"location":"como_utilizar/intro_utilizacao/#como-utilizar","text":"Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Instala\u00e7\u00e3o e configura\u00e7\u00e3o Ambiente local e ambiente de produ\u00e7\u00e3o Usu\u00e1rios internos e externos ao Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos Notifica\u00e7\u00e3o de erros na execu\u00e7\u00e3o das DAGs do Apache Airflow","title":"Como utilizar"},{"location":"como_utilizar/notificacao_de_erros/","text":"Notifica\u00e7\u00e3o de erros na execu\u00e7\u00e3o das DAGs \u00c9 importante recordar que o Ro-DOU permite o envio de mensagens via Slack quando ocorre alguma falha na execu\u00e7\u00e3o da DAG no Apache Airflow. Para usar essa funcionalidade, efetue as seguintes configura\u00e7\u00f5es: Criar o app no Slack conforme orienta\u00e7\u00f5es do v\u00eddeo How to Add Slack Notifications to Your Airflow DAG's with Airflow Notifiers . Criar uma conex\u00e3o no Apache Airflow com a seguinte configura\u00e7\u00e3o: Connection Id = slack_notify_rodou_dagrun Connection Type = Slack API Description = {\"channel\": \"nome-do-channel-para-mandar-mensagem\"} Slack API Token = obtido no passo 1","title":"Notifica\u00e7\u00e3o de erros"},{"location":"como_utilizar/notificacao_de_erros/#notificacao-de-erros-na-execucao-das-dags","text":"\u00c9 importante recordar que o Ro-DOU permite o envio de mensagens via Slack quando ocorre alguma falha na execu\u00e7\u00e3o da DAG no Apache Airflow. Para usar essa funcionalidade, efetue as seguintes configura\u00e7\u00f5es: Criar o app no Slack conforme orienta\u00e7\u00f5es do v\u00eddeo How to Add Slack Notifications to Your Airflow DAG's with Airflow Notifiers . Criar uma conex\u00e3o no Apache Airflow com a seguinte configura\u00e7\u00e3o: Connection Id = slack_notify_rodou_dagrun Connection Type = Slack API Description = {\"channel\": \"nome-do-channel-para-mandar-mensagem\"} Slack API Token = obtido no passo 1","title":"Notifica\u00e7\u00e3o de erros na execu\u00e7\u00e3o das DAGs"},{"location":"como_utilizar/usuarios/","text":"Usu\u00e1rios internos e externos Usu\u00e1rios do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos Para as unidades do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos que desejem solicitar a utiliza\u00e7\u00e3o de clippings via Ro-DOU, a Secretaria de Gest\u00e3o e Inova\u00e7\u00e3o do MGI est\u00e1 dispon\u00edvel para auxili\u00e1-las a configurar o servi\u00e7o. \u00c9 preciso que a unidade interessada encaminhe as seguintes informa\u00e7\u00f5es para o endere\u00e7o seges.cginf@gestao.gov.br : texto do assunto do e-mail que conter\u00e1 o relat\u00f3rio do Ro-DOU; lista de termos (palavras-chaves) para a pesquisa, separadas linha a linha; se\u00e7\u00e3o ou se\u00e7\u00f5es do DOU que dever\u00e1(\u00e3o) ser pesquisada(s); hor\u00e1rio e dias da semana para realiza\u00e7\u00e3o da pesquisa e envio do relat\u00f3rio (por padr\u00e3o, ocorre \u00e0s 9h da manh\u00e3, de segunda-feira a sexta-feira); e lista com os endere\u00e7os de e-mail que receber\u00e3o o relat\u00f3rio do Ro-DOU. Usu\u00e1rios externos (de fora do MGI) Usu\u00e1rios de \u00f3rg\u00e3os p\u00fablicos que n\u00e3o sejam unidades do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos poder\u00e3o enviar d\u00favidas ou coment\u00e1rios ao endere\u00e7o seges.cginf@gestao.gov.br .","title":"Usu\u00e1rios internos e externos"},{"location":"como_utilizar/usuarios/#usuarios-internos-e-externos","text":"","title":"Usu\u00e1rios internos e externos"},{"location":"como_utilizar/usuarios/#usuarios-do-ministerio-da-gestao-e-da-inovacao-em-servicos-publicos","text":"Para as unidades do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos que desejem solicitar a utiliza\u00e7\u00e3o de clippings via Ro-DOU, a Secretaria de Gest\u00e3o e Inova\u00e7\u00e3o do MGI est\u00e1 dispon\u00edvel para auxili\u00e1-las a configurar o servi\u00e7o. \u00c9 preciso que a unidade interessada encaminhe as seguintes informa\u00e7\u00f5es para o endere\u00e7o seges.cginf@gestao.gov.br : texto do assunto do e-mail que conter\u00e1 o relat\u00f3rio do Ro-DOU; lista de termos (palavras-chaves) para a pesquisa, separadas linha a linha; se\u00e7\u00e3o ou se\u00e7\u00f5es do DOU que dever\u00e1(\u00e3o) ser pesquisada(s); hor\u00e1rio e dias da semana para realiza\u00e7\u00e3o da pesquisa e envio do relat\u00f3rio (por padr\u00e3o, ocorre \u00e0s 9h da manh\u00e3, de segunda-feira a sexta-feira); e lista com os endere\u00e7os de e-mail que receber\u00e3o o relat\u00f3rio do Ro-DOU.","title":"Usu\u00e1rios do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos"},{"location":"como_utilizar/usuarios/#usuarios-externos-de-fora-do-mgi","text":"Usu\u00e1rios de \u00f3rg\u00e3os p\u00fablicos que n\u00e3o sejam unidades do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos poder\u00e3o enviar d\u00favidas ou coment\u00e1rios ao endere\u00e7o seges.cginf@gestao.gov.br .","title":"Usu\u00e1rios externos (de fora do MGI)"},{"location":"definicao/rodou/","text":"O que \u00e9 Ro-DOU? Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Defini\u00e7\u00e3o Arquitetura Defini\u00e7\u00e3o Conforme dito na p\u00e1gina inicial, o Ro-DOU \u00e9 uma ferramenta que efetua um clipping do Di\u00e1rio Oficial da Uni\u00e3o ( D.O.U. ) e dos Di\u00e1rios Oficiais de munic\u00edpios, por meio do Querido Di\u00e1rio . O Ro-DOU permite o recebimento de notifica\u00e7\u00f5es (via e-mail, Slack, Discord ou outros) de todas as publica\u00e7\u00f5es que contenham as palavras-chaves que voc\u00ea definir. O Ro-DOU gera dinamicamente grafos ac\u00edclicos dirigidos (DAGs) no Apache Airflow . Uma DAG nada mais \u00e9 que um fluxo de tarefas executadas em sequ\u00eancia ou de maneira paralela, a partir de um c\u00f3digo Python. Para entender com mais detalhes t\u00e9cnicos como uma DAG do Airflow funciona, clique aqui . Nos arquivos YAML, \u00e9 poss\u00edvel configurar os detalhes dos termos de pesquisa desejado (as palavras-chaves) e os contatos (e.g. endere\u00e7os de e-mail) para recebimento dos resultados da pesquisa. Arquitetura A maneira como os diferentes componentes do Ro-DOU se relacionam pode ser sintetizada no diagrama abaixo. Para ampliar a imagem, clique aqui .","title":"O que \u00e9 Ro-DOU?"},{"location":"definicao/rodou/#o-que-e-ro-dou","text":"Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 as seguintes informa\u00e7\u00f5es sobre o Ro-DOU: Defini\u00e7\u00e3o Arquitetura","title":"O que \u00e9 Ro-DOU?"},{"location":"definicao/rodou/#definicao","text":"Conforme dito na p\u00e1gina inicial, o Ro-DOU \u00e9 uma ferramenta que efetua um clipping do Di\u00e1rio Oficial da Uni\u00e3o ( D.O.U. ) e dos Di\u00e1rios Oficiais de munic\u00edpios, por meio do Querido Di\u00e1rio . O Ro-DOU permite o recebimento de notifica\u00e7\u00f5es (via e-mail, Slack, Discord ou outros) de todas as publica\u00e7\u00f5es que contenham as palavras-chaves que voc\u00ea definir. O Ro-DOU gera dinamicamente grafos ac\u00edclicos dirigidos (DAGs) no Apache Airflow . Uma DAG nada mais \u00e9 que um fluxo de tarefas executadas em sequ\u00eancia ou de maneira paralela, a partir de um c\u00f3digo Python. Para entender com mais detalhes t\u00e9cnicos como uma DAG do Airflow funciona, clique aqui . Nos arquivos YAML, \u00e9 poss\u00edvel configurar os detalhes dos termos de pesquisa desejado (as palavras-chaves) e os contatos (e.g. endere\u00e7os de e-mail) para recebimento dos resultados da pesquisa.","title":"Defini\u00e7\u00e3o"},{"location":"definicao/rodou/#arquitetura","text":"A maneira como os diferentes componentes do Ro-DOU se relacionam pode ser sintetizada no diagrama abaixo. Para ampliar a imagem, clique aqui .","title":"Arquitetura"},{"location":"oficinas_midias/oficinas_midias/","text":"Oficinas e demais m\u00eddias sobre o Ro-DOU Ro-DOU - Rob\u00f4 de minera\u00e7\u00e3o do Di\u00e1rio Oficial da Uni\u00e3o - apresenta\u00e7\u00e3o completa no canal da ENAP no YouTube, feita na Semana de Inova\u00e7\u00e3o de 2021.","title":"Conte\u00fados sobre o Ro-DOU"},{"location":"oficinas_midias/oficinas_midias/#oficinas-e-demais-midias-sobre-o-ro-dou","text":"Ro-DOU - Rob\u00f4 de minera\u00e7\u00e3o do Di\u00e1rio Oficial da Uni\u00e3o - apresenta\u00e7\u00e3o completa no canal da ENAP no YouTube, feita na Semana de Inova\u00e7\u00e3o de 2021.","title":"Oficinas e demais m\u00eddias sobre o Ro-DOU"},{"location":"outros/contato/","text":"Contato O Ro-DOU \u00e9 desenvolvido e mantido pela Coordena\u00e7\u00e3o-Geral de Gest\u00e3o da Informa\u00e7\u00e3o, \u00f3rg\u00e3o do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos: https://www.gov.br/gestao/pt-br . D\u00favidas, sugest\u00f5es e demais coment\u00e1rios sobre o Ro-DOU podem ser enviados ao endere\u00e7o de e-mail seges.cginf@gestao.gov.br . Intera\u00e7\u00f5es de car\u00e1ter t\u00e9cnico e sugest\u00f5es de melhoria no c\u00f3digo-fonte e nas funcionalidades do Ro-DOU podem ser enviadas diretamente via GitHub, por meio da abertura de issues : https://github.com/gestaogovbr/Ro-dou .","title":"Contato"},{"location":"outros/contato/#contato","text":"O Ro-DOU \u00e9 desenvolvido e mantido pela Coordena\u00e7\u00e3o-Geral de Gest\u00e3o da Informa\u00e7\u00e3o, \u00f3rg\u00e3o do Minist\u00e9rio da Gest\u00e3o e da Inova\u00e7\u00e3o em Servi\u00e7os P\u00fablicos: https://www.gov.br/gestao/pt-br . D\u00favidas, sugest\u00f5es e demais coment\u00e1rios sobre o Ro-DOU podem ser enviados ao endere\u00e7o de e-mail seges.cginf@gestao.gov.br . Intera\u00e7\u00f5es de car\u00e1ter t\u00e9cnico e sugest\u00f5es de melhoria no c\u00f3digo-fonte e nas funcionalidades do Ro-DOU podem ser enviadas diretamente via GitHub, por meio da abertura de issues : https://github.com/gestaogovbr/Ro-dou .","title":"Contato"},{"location":"outros/faq/","text":"FAQ e problemas frequentes Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 perguntas e respostas comuns e solu\u00e7\u00e3o de problemas mais frequentes na utiliza\u00e7\u00e3o do Ro-DOU. 1. Do que \u00e9 preciso para instalar o Ro-DOU? Resposta: As instru\u00e7\u00f5es detalhadas de instala\u00e7\u00e3o est\u00e3o neste link . 2. Como configurar os par\u00e2metros de pesquisa do Ro-DOU? Resposta: Os par\u00e2metros devem ser editados no arquivo em formato yml. 3. Qual a configura\u00e7\u00e3o m\u00ednima para a instala\u00e7\u00e3o do Ro-DOU? Resposta: \u00c9 recomendado 4 Gb de mem\u00f3ria RAM e 2 Gb de espa\u00e7o em disco pelo menos. 4. Posso rodar o Ro-DOU no meu computador pessoal? Resposta: sim. Atendendo \u00e0s configura\u00e7\u00f5es das perguntas acima, em qualquer sistema operacional com suporte ao Docker. 5. Quais s\u00e3o as fontes de dados do Ro-DOU? Resposta: Os dados s\u00e3o obtidos via INLABS, API da Imprensa Nacional e API do Querido Di\u00e1rio. 6. De que forma o Ro-DOU \u00e9 capaz de enviar relat\u00f3rios? Resposta: Via e-mail, Slack, Discord. 7. Preciso pagar pra usar o Ro-DOU? Resposta: N\u00e3o, ele \u00e9 gratuito. 8. Posso usar o Ro-DOU para fazer buscas nas edi\u00e7\u00f5es mais antigas do DOU? Resposta: Sim, basta indicar a data desejada no campo \"trigger_date\". 9. Como receber atualiza\u00e7\u00f5es de vers\u00e3o do Ro-DOU? Resposta: Sim, basta acompanhar o change log (log de atualiza\u00e7\u00f5es) dispon\u00edvel aqui . 10. Posso utilizar o Ro-dou em meu \u00f3rg\u00e3o? Resposta: Sim. Confira as instru\u00e7\u00f5es aqui . 10. Posso utilizar o Ro-dou na minha empresa privada? Resposta: Sim. N\u00e3o s\u00e3o cobrados direitos autorais ou de exclusividade. 11. Existe um limite de acessos di\u00e1rio para buscas com o Ro-DOU? Resposta: N\u00e3o. Os acessos s\u00e3o ilimitados. 12. \u00c9 necess\u00e1rio fazer alguma configura\u00e7\u00e3o de fuso hor\u00e1rio para o Ro-DOU? Resposta: Sim. O padr\u00e3o \u00e9 Am\u00e9rica-S\u00e3o Paulo para o ambiente Airflow que d\u00e1 sustenta\u00e7\u00e3o ao Ro-DOU atrav\u00e9s da vari\u00e1vel chamada AIRFLOW__CORE__DEFAULT__TIMEZONE. 13. Posso usar o Ro-DOU no exterior? Resposta: Sim. O Ro-DOU pode ser executado em qualquer lugar desde que tenha acesso \u00e0 internet.","title":"FAQ"},{"location":"outros/faq/#faq-e-problemas-frequentes","text":"Nesta se\u00e7\u00e3o, voc\u00ea encontrar\u00e1 perguntas e respostas comuns e solu\u00e7\u00e3o de problemas mais frequentes na utiliza\u00e7\u00e3o do Ro-DOU. 1. Do que \u00e9 preciso para instalar o Ro-DOU? Resposta: As instru\u00e7\u00f5es detalhadas de instala\u00e7\u00e3o est\u00e3o neste link . 2. Como configurar os par\u00e2metros de pesquisa do Ro-DOU? Resposta: Os par\u00e2metros devem ser editados no arquivo em formato yml. 3. Qual a configura\u00e7\u00e3o m\u00ednima para a instala\u00e7\u00e3o do Ro-DOU? Resposta: \u00c9 recomendado 4 Gb de mem\u00f3ria RAM e 2 Gb de espa\u00e7o em disco pelo menos. 4. Posso rodar o Ro-DOU no meu computador pessoal? Resposta: sim. Atendendo \u00e0s configura\u00e7\u00f5es das perguntas acima, em qualquer sistema operacional com suporte ao Docker. 5. Quais s\u00e3o as fontes de dados do Ro-DOU? Resposta: Os dados s\u00e3o obtidos via INLABS, API da Imprensa Nacional e API do Querido Di\u00e1rio. 6. De que forma o Ro-DOU \u00e9 capaz de enviar relat\u00f3rios? Resposta: Via e-mail, Slack, Discord. 7. Preciso pagar pra usar o Ro-DOU? Resposta: N\u00e3o, ele \u00e9 gratuito. 8. Posso usar o Ro-DOU para fazer buscas nas edi\u00e7\u00f5es mais antigas do DOU? Resposta: Sim, basta indicar a data desejada no campo \"trigger_date\". 9. Como receber atualiza\u00e7\u00f5es de vers\u00e3o do Ro-DOU? Resposta: Sim, basta acompanhar o change log (log de atualiza\u00e7\u00f5es) dispon\u00edvel aqui . 10. Posso utilizar o Ro-dou em meu \u00f3rg\u00e3o? Resposta: Sim. Confira as instru\u00e7\u00f5es aqui . 10. Posso utilizar o Ro-dou na minha empresa privada? Resposta: Sim. N\u00e3o s\u00e3o cobrados direitos autorais ou de exclusividade. 11. Existe um limite de acessos di\u00e1rio para buscas com o Ro-DOU? Resposta: N\u00e3o. Os acessos s\u00e3o ilimitados. 12. \u00c9 necess\u00e1rio fazer alguma configura\u00e7\u00e3o de fuso hor\u00e1rio para o Ro-DOU? Resposta: Sim. O padr\u00e3o \u00e9 Am\u00e9rica-S\u00e3o Paulo para o ambiente Airflow que d\u00e1 sustenta\u00e7\u00e3o ao Ro-DOU atrav\u00e9s da vari\u00e1vel chamada AIRFLOW__CORE__DEFAULT__TIMEZONE. 13. Posso usar o Ro-DOU no exterior? Resposta: Sim. O Ro-DOU pode ser executado em qualquer lugar desde que tenha acesso \u00e0 internet.","title":"FAQ e problemas frequentes"},{"location":"outros/links/","text":"Links relevantes O Di\u00e1rio Oficial da Uni\u00e3o (D.O.U.) \u00e9 publicado pela Imprensa Nacional: Di\u00e1rio Oficial da Uni\u00e3o Para operar, o Ro-DOU utiliza diferentes tecnologias, ferramentas e depend\u00eancias. Podem ser destacadas as seguintes: Python Apache Airflow Docker Docker Compose Pandas YAML O Ro-DOU tamb\u00e9m utiliza as funcionalidades das ferramentas INLABS e Querido Di\u00e1rio: INLABS Querido Di\u00e1rio Este site de documenta\u00e7\u00e3o do Ro-DOU foi elaborado com a ajuda do MkDocs: MkDocs","title":"Links relevantes"},{"location":"outros/links/#links-relevantes","text":"O Di\u00e1rio Oficial da Uni\u00e3o (D.O.U.) \u00e9 publicado pela Imprensa Nacional: Di\u00e1rio Oficial da Uni\u00e3o Para operar, o Ro-DOU utiliza diferentes tecnologias, ferramentas e depend\u00eancias. Podem ser destacadas as seguintes: Python Apache Airflow Docker Docker Compose Pandas YAML O Ro-DOU tamb\u00e9m utiliza as funcionalidades das ferramentas INLABS e Querido Di\u00e1rio: INLABS Querido Di\u00e1rio Este site de documenta\u00e7\u00e3o do Ro-DOU foi elaborado com a ajuda do MkDocs: MkDocs","title":"Links relevantes"}]} \ No newline at end of file diff --git a/search/worker.js b/search/worker.js new file mode 100644 index 0000000..8628dbc --- /dev/null +++ b/search/worker.js @@ -0,0 +1,133 @@ +var base_path = 'function' === typeof importScripts ? '.' : '/search/'; +var allowSearch = false; +var index; +var documents = {}; +var lang = ['en']; +var data; + +function getScript(script, callback) { + console.log('Loading script: ' + script); + $.getScript(base_path + script).done(function () { + callback(); + }).fail(function (jqxhr, settings, exception) { + console.log('Error: ' + exception); + }); +} + +function getScriptsInOrder(scripts, callback) { + if (scripts.length === 0) { + callback(); + return; + } + getScript(scripts[0], function() { + getScriptsInOrder(scripts.slice(1), callback); + }); +} + +function loadScripts(urls, callback) { + if( 'function' === typeof importScripts ) { + importScripts.apply(null, urls); + callback(); + } else { + getScriptsInOrder(urls, callback); + } +} + +function onJSONLoaded () { + data = JSON.parse(this.responseText); + var scriptsToLoad = ['lunr.js']; + if (data.config && data.config.lang && data.config.lang.length) { + lang = data.config.lang; + } + if (lang.length > 1 || lang[0] !== "en") { + scriptsToLoad.push('lunr.stemmer.support.js'); + if (lang.length > 1) { + scriptsToLoad.push('lunr.multi.js'); + } + if (lang.includes("ja") || lang.includes("jp")) { + scriptsToLoad.push('tinyseg.js'); + } + for (var i=0; i < lang.length; i++) { + if (lang[i] != 'en') { + scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); + } + } + } + loadScripts(scriptsToLoad, onScriptsLoaded); +} + +function onScriptsLoaded () { + console.log('All search scripts loaded, building Lunr index...'); + if (data.config && data.config.separator && data.config.separator.length) { + lunr.tokenizer.separator = new RegExp(data.config.separator); + } + + if (data.index) { + index = lunr.Index.load(data.index); + data.docs.forEach(function (doc) { + documents[doc.location] = doc; + }); + console.log('Lunr pre-built index loaded, search ready'); + } else { + index = lunr(function () { + if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { + this.use(lunr[lang[0]]); + } else if (lang.length > 1) { + this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility + } + this.field('title'); + this.field('text'); + this.ref('location'); + + for (var i=0; i < data.docs.length; i++) { + var doc = data.docs[i]; + this.add(doc); + documents[doc.location] = doc; + } + }); + console.log('Lunr index built, search ready'); + } + allowSearch = true; + postMessage({config: data.config}); + postMessage({allowSearch: allowSearch}); +} + +function init () { + var oReq = new XMLHttpRequest(); + oReq.addEventListener("load", onJSONLoaded); + var index_path = base_path + '/search_index.json'; + if( 'function' === typeof importScripts ){ + index_path = 'search_index.json'; + } + oReq.open("GET", index_path); + oReq.send(); +} + +function search (query) { + if (!allowSearch) { + console.error('Assets for search still loading'); + return; + } + + var resultDocuments = []; + var results = index.search(query); + for (var i=0; i < results.length; i++){ + var result = results[i]; + doc = documents[result.ref]; + doc.summary = doc.text.substring(0, 200); + resultDocuments.push(doc); + } + return resultDocuments; +} + +if( 'function' === typeof importScripts ) { + onmessage = function (e) { + if (e.data.init) { + init(); + } else if (e.data.query) { + postMessage({ results: search(e.data.query) }); + } else { + console.error("Worker - Unrecognized message: " + e); + } + }; +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..0f8724e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + +