Wikinotícias:Redação/Gráficos quebrados (05/06/2023)

Fonte: Wikinotícias

Olá @DARIO SEVERI:, @Marcia Bia:, @Eta Carinae: e demais usuários(a) do Wikinotícias.

Em abril desse ano os gráficos de todos os projetos foram quebrados por questões na segurança da extensão Graph (tarefa: phabricator:T334940). A extensão usava uma versão desatualizada para disponibilizar a tag <graph> em Predefinição:Gráfico. Recentemente um teste foi realizado no MediaWiki e eu até atualizei o Módulo:Graph, pensando que retornaria ao normal. No entanto, a equipe anunciou que sua atualização também trouxe vários problemas de segurança, além de quebrar alguns gráficos. Já era esperado que isso demorasse para ser corrigido, mas deve demorar muito mais.

Alguns projetos-irmãos possuem predefinições alternativas que usam código-wiki e CSS para criar gráficos. Eu realizei alguns testes no Wikinotícias, mas definitivamente não é a melhor saída: causa um código muitooo longo e limitações. Por exemplo, Predefinição:Gráfico circular na Wikipédia tem poucas opções e no nosso caso eu queria uma única predefinição para gerar diferentes tipos de gráficos, o que causaría algo gigante. A solução foi usar Lua com CSS, permitindo que os usuários defina infinitos números.

O módulo testado (Módulo:Graph/Testes)[1] usa exatamente os mesmos parâmetros usados anteriormente. Então |width= (tamanho), |height= (altura), |y= e |colors= (cores) estão disponíveis em todos. Essa versão também permite traduções. Em todas as versões, |width= e |height= não aceitam "px". A predefinição vai remover isso automaticamente. |colors= permite qualquer estilo (#3366cc ou blue, por exemplo). #36c vai ser a cor usada como padrão, baseada no Design da Wikimedia.

Veja alguns exemplos abaixo.

Gráfico do |type= (tipo) "area": Erro Lua em Módulo:Graph_2 na linha 50: bad argument #1 to 'max' (number expected, got no value). Um gráfico de área com as páginas criadas no Wikinotícias até 2022, usando os valores y=0,1205,3339,4712,9917,13877,20014,22111,24504,25828,27182,31780,34288,37244,40704,43226,47184,56826,61842 e |colors= #36c. Essa função do módulo cria uma tabela usando HTML (<table>) e altera o polígono desenhado conforme os valores de "y". Ele inclue |opacity=, que pode ser útil para mais de um |y=

Gráficos do tipo "pie" (circular):

Da esquerda para direita:

  • y=25,50,25|colors=#2a4d69,#4b86b4,#adcbe3
  • y=100,400,200,300|colors=#454545,#FF6000,#FFA559,#FFE6C7
  • y=1,1,1,1,1,1,1,1,1,1,1,1|colors=#777,#666,#555,#444,#333,#222,#111,#aaa,#bbb,#ccc,#ddd,#eee

Essa função cria um círculo usando <div> e definindo quanto equivale os números em 360º. Você têm que definir uma cor para cada valor, se não ele não aparecerá (cores padrões podem ser sugeridas).

Gráfico do tipo "rect" (coluna):

1000
250
750
500
400
800

Também usa <div> para criar as colunas. No exemplo: |y=1000,250,750,500,400,800|colors=#36c.

Gráfico do tipo "line" (linha): Os gráficos do tipo linha não são criados pelo módulo. A única alternativa no momento é sobressair o gráfico, mas usando um "background" branco. Exemplo abaixo:

61842
30921
0

Essa é exatamente o mesmo gráfico anterior, apresentado no "rect". O do fundo possui |colors= com #36c e o de cima possui #fff (branco).

Questões extras: |x=, |legend=, |fontsize= e |fontcolor= podem ser adicionados na predefinição, só não estão incluídos diretamente no módulo. Estou dizendo isso porque esse não é o visual final, apenas o produzido pelo módulo. A predefinição pode incluir muitas outras personalizações e vocês podem sugerir.

Estou propondo substituir o módulo atual por essa nova versão e remover a extensão, pelo menos até todo o problema ser resolvido. Como disse anteriormente, outros projetos usam predefinições alternativas para criar gráficos e estou propondo uma para o Wikinotícias. Edu!disc 21h07min de 5 de junho de 2023 (UTC)[responder]

  1. Alteração posterior: Movido para Módulo:Graph 2

Comentários[editar código-fonte]

̆ Concordo com a proposta sugerida de substituir o módulo atual pela nova versão removevendo a extensão. Se o problema for resolvido posteriormente volta-se para a anterior versão se for conveniente. DARIO SEVERI (discussão) 21h56min de 6 de junho de 2023 (UTC)[responder]

Só anunciando que vou implementar isso em breve. Testei um gráfico com linha e deu certo, então teremos todos os gráficos. Obrigado pela participação
@DARIO SEVERI! Edu!disc 11h42min de 13 de junho de 2023 (UTC)[responder]
Uma nota: Foi aplicada a mudança hoje. O principal erro observado foi na criação da legenda. O módulo deve fazer isso, como está tarde foi verificar isso com calma amanhã, nos testes estava funcionando bem. Edu!disc 02h46min de 16 de junho de 2023 (UTC)[responder]