MediaWiki Discussão:Gadget-wikibugs.js/Core.js

Último comentário: 5 de junho de 2021 de Usien6 no tópico Sugestão do Jackgba

Problemas editar

Conforme o console de erros no firefox, tem um erro de sintaxe na variavel paginasExcluidas ( sobrou uma vírgula depois do último elemento da array). Devia ficar assim:

paginasExcluidas = new Array(
   "Wikipedia:Página_principal", "Wikipedia:Informe_um_erro"
);

Além disso, no Common.js o script foi colocado dentro de um if que o carregará só no dominio 6 (ficheiros). Isso foi intencional? Helder 19h41min de 9 de fevereiro de 2011 (UTC)Responder

  Feito, mas continuou o problema.   E não, não foi intencional, é que eu pensei que poderia adicionar em qualquer lugar da página. Tem mais sugestões? Christian msg 19h43min de 9 de fevereiro de 2011 (UTC)Responder

Se esta edicão foi feita pelo script a partir da janela que ele exibe, então será preciso colocar de volta o link para as condições de uso e a política de privacidade. Helder 19h54min de 9 de fevereiro de 2011 (UTC)Responder

  Feito, mas nada ainda... Christian msg 20h02min de 9 de fevereiro de 2011 (UTC)Responder
Funcionou depois de limpar o cache. Helder 20h13min de 9 de fevereiro de 2011 (UTC)Responder
Exato! Obrigado a você e ao Opraco. Christian msg 20h15min de 9 de fevereiro de 2011 (UTC)Responder

Ajustes e melhorias editar

Já que o script oculta o link em alguns doménios,

if (wgNamespaceNumber==-1 || wgNamespaceNumber==6 || wgNamespaceNumber==7 || wgNamespaceNumber==8) {
   importStylesheet('MediaWiki:Wikibugs.css')
}

coloque um código análogo no Common.js (no lugar da linha atual):

if (wgNamespaceNumber!==-1 && wgNamespaceNumber!==6 && wgNamespaceNumber!==7 && wgNamespaceNumber!==8) {
   importScript( 'MediaWiki:Wikibugs.js' );
}

para que ele não seja baixado pelos usuários sem necessidade. Helder 20h22min de 9 de fevereiro de 2011 (UTC)Responder

O TheDJ também fez umas melhorias já que estavam (estão?) considerando ativá-lo na en.wp também. Ver en:Wikipedia_talk:Kvetch#WikiBugs. Helder 20h38min de 9 de fevereiro de 2011 (UTC)Responder
  Feito. Pelo que entendi, com estes ajustes os IPs não precisarão mais limpar o cache para verem a modificação?
Ops... Desfaça isso. O código deve ir no common.js, não ali ;-) Helder 20h54min de 9 de fevereiro de 2011 (UTC)Responder
E quanto a edição do TheDJ, não consegui perceber direito as modificações comparadas a versão atual. Christian msg 20h43min de 9 de fevereiro de 2011 (UTC)Responder
A principal mudança foi se livrar do MediaWiki:Wikibugs.css (que só contém uma linha de css, então não valia a pena ser importado sendo que isso podia ir direto para o script). A outra coisa é o uso da função addHandler no lugar de onclick, possivelmente para melhorar a compatibilidade com outros navegadores...
Quanto aos IPs, na verdade, precisarão atualizar sim, e isso é normal.
Por isso talvez seja melhor remover o link da sidebar e fazer com que seja o próprio script quem o adicione. Assim simplesmente não aparecerá para quem ainda estiver com a cópia antiga no cache. Algo como isso:
$( '#p-navigation ul' ).append('<li id="n-bug_in_article"><a href="/​wiki/​Wikip%C3%A9dia:​Informe_um_erro">Informar um erro</a></li>')
A desvantagem é que com isso surge um problema de acessibilidade: o link também não apareceria para quem não tem Javascript habilitado, enquanto que usando a sidebar eles podem pelo menos acessar o link direto para a página (provavelmente por isso não fizeram nos outros projetos). Helder 20h52min de 9 de fevereiro de 2011 (UTC)Responder
Edição desfeita. Bom, quanto a isso, eu prefiro do jeito que está mesmo. Pelo que o Opraco me disse, demora até um mês para atualizar automaticamente para quem não limpou o cache. E mesmo que o problema continue, na página Wikipedia:Informe um erro há um jeito mais chato e demorado para informar um erro, mas é uma segunda opção. Aliás, tentei entrar com o IE e o Chrome (uso Firefox normalmente) sem atualizar, e, curiosamente, a ligação só apareceu (corretamente) na página principal. Christian msg 20h59min de 9 de fevereiro de 2011 (UTC)Responder
Só faltou adicionar a edição ao common.js o conteúdo da edição que desfez.
Quanto a aparecer no IE/Chrome: aparecer aparece sempre (já que a Mediawiki:Sidebar já foi purgada), o que pode demorar por causa da cache do leitor é o funcionamento do link (até ser limpo, é como se estivesse sem javascript habilitado: o link aponta para a página em vez de abrir uma janelinha). Helder 21h07min de 9 de fevereiro de 2011 (UTC)Responder
Em relação à acessibilidade, não creio que isso seja um problema. Até porquê, quem é que usa um navegador com o javascript desativado? No minímo, só usuários experientes que estão querendo testar algo. !Silent (Contact) 21h09min de 9 de fevereiro de 2011 (UTC)Responder
A ideia é "não dependa de JS", já que há situações em que JavaScript nem sequer está disponível para o leitor, e outros em que há bons motivos para ter desabilitado. Ver por exemplo este tópico. Helder 21h17min de 9 de fevereiro de 2011 (UTC)Responder
Outra sugestão
O !Silent me disse que a visualização de tal link estava difícil. O que acham de colocá-la no topo, como uma das abas ou então junto a "Origem: Wikipédia, a enciclopédia livre"? Christian msg 21h01min de 9 de fevereiro de 2011 (UTC)Responder
Colocar como uma aba não me parece boa ideia pois ocuparia muito espaço (além de depender de javascript até para aparecer, como na sugestão acima com $( '#p-navigation ul' ).append...). Helder 21h07min de 9 de fevereiro de 2011 (UTC)Responder

Helder, para colocar o conteúdono MediaWiki:Common.js que antes removi substituo o já existente (importscript...) ou adiciono em seguida? Christian msg 22h01min de 9 de fevereiro de 2011 (UTC)Responder

Encontrei um problema: em páginas com dois pontos (como aqui) no título só aparece o conteúdo que vem depois do ":" Solução? Christian msg 22h04min de 9 de fevereiro de 2011 (UTC)Responder
É pra substituir mesmo. Não percebi o erro na página que falou. Onde aparece o título pela metade? Helder 23h20min de 9 de fevereiro de 2011 (UTC)Responder
Clicando em "Informar um erro" na janela que abre. Vai aparecer um título onde está " Vice City". Christian msg 23h25min de 9 de fevereiro de 2011 (UTC)Responder
Humm... estranho. Aqui apareceu o título correto. Pode fazer um pequeno teste? Abra a página novamente e cole
javascript:alert(wgPageName)
na barra de endereços do navegado para ver se aparece o nome completo do artigo. Se estiver cortado, é possível que algum outro gadget esteja interferindo e trocando o valor dessa variável global indevidamente. Um outro teste que pode fazer é desabilitar todos os gadgets para ver se o problema continua.
PS: Não há nada que se possa fazer quanto ao tempo que leva para o cache dos usuários ser atualizado. Helder 23h38min de 9 de fevereiro de 2011 (UTC)Responder
Ok. Colocar aonde mesmo o javascript:alert(wgPageName) ? Christian msg 23h42min de 9 de fevereiro de 2011 (UTC)Responder
Ali no campo do navegador onde tem http://... (o endereço do site). Helder 23h46min de 9 de fevereiro de 2011 (UTC)Responder
"_Vice_City". E sem os gadgets: normal. Agora irei recolocar gadget por gadget para descobrir qual causou o problema. Christian msg 23h51min de 9 de fevereiro de 2011 (UTC)Responder
Ótimo! (apesar dsso ser chato de se fazer...) Assim poderemos avisar os criadores do script que estiver fazendo isso. Felizmente com o resource loader (MW 1.17) esse tipo de bug por causa de conflitos entre scripts que usam as variáveis globais começará a ser menos comum. Helder 23h57min de 9 de fevereiro de 2011 (UTC)Responder
O problema está no último gadget: Userrights: adiciona uma aba para gerir os privilégios. Vou desativar, pois nem sei onde aparece. Christian msg 00h04min de 10 de fevereiro de 2011 (UTC)Responder
Fiz o pedido para implementarem uma correção. Helder 00h34min de 10 de fevereiro de 2011 (UTC)Responder

Excluir a PP porquê? editar

[1] Não vejo motivos válidos para que a PP não possua a link pra informar um erro, pois ela pode muito bem conter um erro sim. !Silent (Contact) 18h38min de 11 de fevereiro de 2011 (UTC)Responder

  Feito ([2]) pelo Christian. – Opraco (discussão) 12h46min de 7 de março de 2011 (UTC)Responder

Atualização editar

Favor atualizar o script a partir da página de testes. PS: o diff só ficou grande porque dois blocos de código foram trocados de lugar (para não usar variáveis e funções antes de estarem definidas). O resto consiste de pequenos ajustes, em sua maioria apontados pelo JSHint (mw.config.get para acessar variáveis globais (wg...); mw.util.wikiGetlink para obter links; { chaves em torno dos blocos de código }; ponto e vírgula em cada comando; agrupamento de var's; redução das variáveis globais e das conversões implícitas de tipos). Helder 02h21min de 7 de março de 2011 (UTC)Responder

  Feito ([3]). – Opraco (discussão) 12h47min de 7 de março de 2011 (UTC)Responder

Desde o MW 1.18 não é preciso usar a API para obter um token de edição, pois basta usar mw.user.tokens.get( "editToken" ). Poderiam então fazer essas alterações no script? Assim a (não tão) nova funcionalidade do MediaWiki passará a ser utilizada em vez de uma chamada extra à API. Helder 10h39min de 28 de janeiro de 2012 (UTC)Responder

  Feito aqui. Daimore msg 12h50min de 28 de janeiro de 2012 (UTC)Responder

Aprimorar os avisos editar

Seria bom fazer estas mudanças no código, para que os avisos do script fiquem um pouco mais descritivos/explicativos (atualmente a mesma mensagem seria exibida em várias situações diferentes). Isso talvez ajude em casos como este e este. Helder 12h03min de 11 de fevereiro de 2012 (UTC)Responder

  Concordo !Silent (discussão) 13h52min de 11 de fevereiro de 2012 (UTC)Responder

Acrescentar aviso sobre falta de informação editar

Como sugerido em informe um erro, sugiro que seja substituído a mensagem "Se puder corrigir o problema, não o informe aqui." para "Falta de informação não é considerado erro. Se puder corrigir o problema, não o informe aqui.", se possível.

Talvez isso ajude a diminuir um pouco estes tipos de mensagens que podem ser cansativas para quem ajuda naquela página. No caso, a mensagem estaria no dicionário wikibugs-bad-reports-text em mw.messages.set . Agradeço desde já pela atenção. --Luk3🔔📖 15h55min de 29 de dezembro de 2016 (UTC)Responder

Feito. !Silent (discussão) 16h02min de 29 de dezembro de 2016 (UTC)Responder

Sugestão do Jackgba editar

O texto seguinte foi movido de: Wikipédia:Café dos programadores § Wikipédia:Informe um erro (Edição 49321161)

Tenho uma pequena dúvida, gostaria de saber como se faz para modificar aquela "janela" que aparece quando clica para notificar um erro (acredito que seja um javascript). Estava trabalhando em uma coisa simples, que ao responder os erros informados, já tivesse a predefinição {{resp}} pronta para finalizar, semelhante ao Wikipédia:Pedidos/Restauro. Não achei o código daquele popup para poder realizar essas modificações, alguém poderia me informar como modificar a "janela"? Obrigado. JackgbaDiga! 02h34min de 5 de julho de 2017 (UTC)Responder

@Jackgba: O programa ao qual se refere está armazenado em MediaWiki:Gadget-wikibugs.js/Core.js. Att --Usien6 14h02min de 17 de julho de 2017 (UTC)Responder

────Caro @He7d3r: Segue um patch que implementa a sugestão do @Jackgba:

78a79,84
> 
> 	/* PTWIKI: Mensagens adicionais: */
> 	'ptwiki-wikibugs-add-section-template': '<!-- {{resp|feito/não há erro/inadequado|texto= -->\n' +
> 		'$1\n' +
> 		'<!-- : {{Feito/Não há erro/Fne/Inadequado}} {{Ping|$2}} {{dif|000000}} --~~~~ }} -->\n'
> 
134a141,170
> 
> 	// PTWIKI: Tenta retornar, sincronamente, o nome do utilizador do script,
> 	// usando três métodos.
> 	getUsername: function(mw, ajaxOptions) {
> 
> 		result = mw.user.getName();
> 
> 		if ( ! result ) {
> 
> 			ajaxOptions = ajaxOptions || {};
> 			ajaxOptions.type = 'GET';
> 			ajaxOptions.async = false;
> 			parameters = {
> 				meta: 'userinfo'
> 			}
> 			data = this.ajax( parameters, ajaxOptions );
> 			result = data.query.userinfo.name;
> 
> 		}
> 
> 		if ( $.type( "test" ) !== "string" ) {
> 
> 			result = ''
> 
> 		}
> 
> 		return result;
> 
> 	}
> 
419a456,458
> 
> 		// PTWIKI: Transformar o conteúdo da seção a ser adicionada
> 		content = mw.msg('ptwiki-wikibugs-add-section-template', content, api.getUsername(mw))

Favor verificar a possibilidade de aplicá-lo ao gadget. O código ainda não foi testado. Att --Usien6 15h39min de 18 de julho de 2017 (UTC)Responder

@Usien6: Muito obrigado! Ainda não sabia como fazer isso. Jackgba   19h05min de 18 de julho de 2017 (UTC)Responder

────Caro @He7d3r: Poderia providenciar a aplicação desse patch ?? Att --Usien6 13h10min de 23 de maio de 2018 (UTC)Responder


Caros @!Silent, Albertoleoncio, He7d3r, Usien6 e Jackgba: será que ainda é possível implementar uma alteração deste género? Facilitaria imenso a resposta aos pedidos no Informe um erro. Att. -- Dioluisf (discussão) 22h12min de 31 de agosto de 2020 (UTC)Responder

Caro @Dioluisf: Eu não tenho autorização para aplicar essa mudança. Teria que ser um administrador... Att --Usien6 23h14min de 5 de junho de 2021 (UTC)Responder
Regressar à página "Gadget-wikibugs.js/Core.js".