radar-parlamentar / radar

Estamos de mudança para o GitLab: https://gitlab.com/radar-parlamentar/radar.
http://radarparlamentar.polignu.org
84 stars 44 forks source link

Criação Importador Chefe do Executivo #358

Closed marcowilliam closed 7 years ago

marcowilliam commented 8 years ago

Criar um importador xml para popular os dados dos chefes do executivo no banco.

marcowilliam commented 8 years ago

Issue sendo resolvida em https://github.com/MES-1-2016/radar/issues/22

leonardofl commented 8 years ago

Acho q só faltou o importador da cdep, neh...

leonardofl commented 8 years ago

Opa, agora vão ter q por o Temer tb aí =S

LauraSuh commented 7 years ago

@leonardofl , devemos colocar o nome completo do Temer? (Michel Miguel Elias Temer Lulia) O do Lula e da Dilma estão completos, mas os dos presidentes anteriores não.

diraol commented 7 years ago

Será que não vale ter duas informações, nome completo e 'nome de urna'? (Isso permitiria, inclusive, puxar a informação do TSE em algum momento).

Diego Rabatone Oliveira

Em 13 de set de 2016 6:08 PM, "Laura Barros Martins" < notifications@github.com> escreveu:

@leonardofl https://github.com/leonardofl , devemos colocar o nome completo do Temer? (Michel Miguel Elias Temer Lulia) O do Lula e da Dilma estão completos, mas os dos presidentes anteriores não.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/radar-parlamentar/radar/issues/358#issuecomment-246824935, or mute the thread https://github.com/notifications/unsubscribe-auth/AALwvkdG35A2Q5hj7Nvs27Bsgt78RcVoks5qpxC0gaJpZM4I7Hg0 .

joaaogui commented 7 years ago

Concordo, serviria também pra padronizar os já existentes.

leonardofl commented 7 years ago

No banco podemos ter os dois, mas no gráfico de radar temos que escolher uma opção para exibição. Eu já manifestei minha preferência pela exibição do nome curto. O que os outros acham?

joaaogui commented 7 years ago

Nome curto no gráfico faz mais sentido mesmo

diraol commented 7 years ago

+1 pelo 'nome curto' !

joaaogui commented 7 years ago

@leonardofl @diraol como ficaria o AnoFinal da Dilma e o AnoInicio do Temer ?

joaaogui commented 7 years ago

Considerando que adicionar o campo nome_politico na model de ChefeExecutivo demandaria muito esforço, resolvemos deixar essa parte para outra issue (MES-2-2016/Issue 3) e fechar essa issue com somente o campo nome dos chefes.

leonardofl commented 7 years ago

Ano final dilma = ano início temer = 2016

leonardofl commented 7 years ago

O código já está preparado p mostrar o nome d n chefes se preciso. Vamos testar isso.

vital-edu commented 7 years ago

PR #392

LauraSuh commented 7 years ago

@leonardofl Na RadarMES20162/radar/issues/3 a gente está criando o campo nome político, porém estamos tendo problemas com os deputados que já existem, que estão sendo duplicados por agora existir um campo novo. Também, para alguns casos, o que antes era o "nome" do parlamentar virou o "nome político" dele, e colocamos seu nome completo no lugar de "nome". Por isso, o importador vê o parlamentar como um novo parlamentar em vez de modificar um já existente. Isso poderia ser resolvido ou removendo os chefes executivos pelo painel administrativo e os importando novamente ou por uma migração, sendo esta segunda opção mais trabalhosa. O que vocês recomendam?

LauraSuh commented 7 years ago

Em uma outra nota, gostariamos de saber se em vez de se criar um "nome político" não seria melhor deixar o nome como sendo o "nome político" do parlamentar e criar um campo "nome completo" para quem quiser usá-lo futuramente, assim as modificações no código são mínimas, evitando possíveis bugs.

leonardofl commented 7 years ago

Hum... acho que estamos misturando as cosias. Essa conversa sobre "nome político" achei que era só para o chefe do executivo, onde vamos criar os dados na mão mesmo. Para os parlamentares, não temos condição de usar outro nome que não o nome que vem dos dados abertos. Ou seja, parlamentar deve ter apenas nome. Chefe do executivo pode ter um "nome político" e um "nome completo". Mas por mim, deixava o chefe do executivo apenas com um "nome", que seria o nome político.

LauraSuh commented 7 years ago

é verdadde @leonardofl. A gente confundiu as coisas.

Criamos apenas o campo NomeCompleto, e o campo Nome agora contém a versão reduzida do nome. No entanto, essa alteração somente surge efeito se os chefes executivos foram removidos pelo painel administrativo e re-importados.

Não achamos necessário criar um procedimento para alteração dos bancos já populados, mas caso a equipe do Radar prefera, podemos fazê-lo.

Obs: caso os chefes executivos não sejam apagados do banco, ficarão duplicados após executar os importadores.

Por isso queremos saber o que recomendam.

leonardofl commented 7 years ago

essa alteração somente surge efeito se os chefes executivos foram removidos pelo painel administrativo e re-importados.

Isso tudo bem.

caso os chefes executivos não sejam apagados do banco, ficarão duplicados após executar os importadores.

Não sei se entendi bem, mas isso não pode. A importação precisa ser idempotente. Isso quer dizer que se eu rodar a importação duas vezes seguidas (e as fontes de dados não mudarem) o banco deve permanecer no mesmo estado.

Mas essa duplicação só aconteceria agora por conta da questão do nome completo vs nome, neh? Se o mais fácil for uma intervenção manual pra apagar os chefes pode ser... aí vcs simulam aí e me passam os comandos a serem executados antes da atualização do radar com essas mudanças.

Mas não sei se entendi direito, então podem pensar em recomendações. Só o que não pode é gerar essa duplicação de chefes no banco.

leonardofl commented 7 years ago

Obs: o nosso Jenkins tá de pé agora... isso quer dizer que assim que eu aceitar o pull request de vocês, ele será implantado em produção.

vital-edu commented 7 years ago

Não sei se entendi bem, mas isso não pode. A importação precisa ser idempotente. Isso quer dizer que se eu rodar a importação duas vezes seguidas (e as fontes de dados não mudarem) o banco deve permanecer no mesmo estado.

Atualmente a chave primária é baseada no Nome do​ chefe executivo. O que fizemos foi criar um novo campo chamado NomeCompleto. Com isso, o NomeCompleto possui o nome completo do político (desculpe a redundância da explicação), e o campo Nome passou a conter o nome "popular" do Chefe Político. Repare que não optamos por utilizar o nome de urna pois o objetivo é ter nomes curtos e o Lula, por exemplo, utilizou Luís Inácio Lula da Silva como nome de urna.

Exemplos:

Com essas alterações, há uma inconsistência entre os nomes utilizados antes desse commit e o que será utilizado após esse commit. Por conta disso haveria a duplicação (que é evitado apagando os Chefes Executivos antigos).

Não haverá duplicação de chefes políticos depois da deleção dos antigos nomes utilizados.

Mas essa duplicação só aconteceria agora por conta da questão do nome completo vs nome, neh? Se o mais fácil for uma intervenção manual pra apagar os chefes pode ser... aí vcs simulam aí e me passam os comandos a serem executados antes da atualização do radar com essas mudanças.

​A gente fez essa etapa pelo painel de administração do sistema dominio/admin​:

  1. Logue no painel de administrador
  2. Selecione Chefe Executivos
  3. Marque todos os Chefes Executivo.
  4. Selecione a ação Remover chefe executivos selecionados
  5. Clique em Ir
  6. Confirme clicando em Sim, tenho certeza
  7. Rode os importadores de cada casa legislativa.

Obs: Antes do passo 7 nós alteramos a ordem de importação diretamente no código, porque atualmente o chefe do executivo é o último a ser importado, então para não ter que esperar todo o processo de importação dos parlamentares (que é bem demorado), alteramos manualmente no código para importar primeiramente os chefes do executivo. Talvez seja o caso de alterar definitivamente a ordem das importações, pois talvez seja uma boa ideia ordenar a importação dos dados pelo volume de dados (ou seja, importar os chefes executivos primeiro, e depois os parlamentares).

Relembrando que esse processo só é necessário ser feito uma única vez. A re-importação futura dos dados não irá duplicar os chefes executivos.

​Desculpe pelo texto enorme :/

Obs: o nosso Jenkins tá de pé agora... isso quer dizer que assim que eu aceitar o pull request de vocês, ele será implantado em produção.

Devido a isso talvez você queira dar uma olhada antes de submetermos o PR: https://github.com/RadarMES20162/radar/tree/issue3.

leonardofl commented 7 years ago

Tudo bem alterar definitivamente a ordem de importação.

Ah, blz, saquei... qd mandarem o pull request, só relembra lá os passos pra limpar os chefes pra eu fazer isso manualmente antes de aceitar o pull request.

Valeu pela explicação!