MediaWiki Discussão:Gadget-diffTools.js/Arquivo/1

Último comentário: 12 de dezembro de 2012 de Helder.wiki no tópico AJAX patrol

Sugestão: avisos sobre a verificabilidade

editar

Olá pessoal! Quero sugeri a inclusão de botões com avisos indicando colocar fontes. Łυαη fala! 17h07min de 23 de maio de 2010 (UTC)

Acho que para colocar a Predefinição:Cite fonte na lista de avisos, basta trocar
				'sum': 'Aviso sobre datas'
por
				'sum': 'Aviso sobre datas'
			},
			'fontes': {
				'desc': 'Envia um aviso ao usuário recomendando a inclusão de fontes',
				'subst': 'cite fonte|' + mw.config.get('wgPageName').replace(/_/g, ' ') + '|~~' + '~~',
				'sum': 'Aviso sobre datas'
Helder 18h03min de 5 de dezembro de 2011 (UTC)

Sumário

editar

O sumário básico está muito extenso. Ele deixa muito pouco espaço para o complemento. Exemplo (eu escrevi 'removendo imagem externa', mas não coube). Há como reduzi-lo?” TeleS (D @ R C G) 01h45min de 1 de novembro de 2010 (UTC)

Há alguns dias fiz um pedido em WP:PA/PP para algum admin fazer uma modificação solicitada por min para resolver esse problema, porém ainda acho que ficaria meio extenso.

Acho que deveria ficar: Revertidas para Usuário X usando Reversões e Avisos. Silent (Contact) 11h28min de 1 de novembro de 2010 (UTC)

Talvez ainda mais simplificado: Revertidas para Usuário X com RA
TeLeS (D @ R C G) 23h18min de 1 de novembro de 2010 (UTC)
Troquei 'Special:Contributions/' por 'User:' e 'Wikipedia:Software/Scripts/Reversão e avisos' por 'WP:RA'. Ruy Pugliesi 01h10min de 2 de novembro de 2010 (UTC)

Pergunta

editar

Se trocar:

{
    document.getElementById('wpTextbox1').value = '{{sub'+'st:Aviso}} ~~'+'~~';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=4/))

por: Acrescentando um [[$1]] na predef.

{
    document.getElementById('wpTextbox1').value = '{{sub'+'st:Aviso|[[$1]]}} ~~'+'~~';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=4/))

Faz com que ao mandar o aviso, apareça o nome da página vandalizada? Silent (Contact) 14h15min de 27 de dezembro de 2010 (UTC)

Na versão atual do script, acredito que basta trocar
'subst': 'Aviso'
por isso:
'subst': 'Aviso|1='  + mw.config.get('wgPageName').replace(/_/g, ' ') + '|2=' + location.href.replace( /^https?:/g, '' )
Isso incluirá também o parâmetro 2, com o endereço da página que estiver sendo exibida ao clicar no botão. Helder 18h03min de 5 de dezembro de 2011 (UTC)

Patrulhamento automático das edições revertidas

editar

Seria bom se ele marcasse cada edição revertida como "patrulhada", no caso do editor ter a permissão "patrol". Helder 17h22min de 24 de novembro de 2011 (UTC)

  Concordo, as vezes isso atrapalha o patrulhamento. Kascyo falaê! 17h28min de 24 de novembro de 2011 (UTC)

Poderiam atualizar o gadget para esta versão? Ele passará a usar chamadas à API do MediaWiki ao editar (em vez de exigir o recarregamento da página e depender de links com parâmetros "difftool=...", que poderiam ser usados por um editor mal intencionado para criar links que fariam determinada edição ser revertida por quem clicasse neles). Além disso, com parte do código da meta:User:Krinkle/Scripts/AjaxPatrolLinks.js, o script marcará como patrulhada a edição que estiver à direita em um diff que for usado para reverter uma edição. A lista de links fornecidos pelo gadget passou a ser uma lista de verdade (isto é, elementos <UL><LI> em HTML), formatada com este CSS, que deve ser copiado para a página MediaWiki:Gadget-rev e avisos.css. A definição do gadget precisa ser atualizada para incluir o novo CSS:

* rev-e-avisos[ResourceLoader|dependencies=mediawiki.util]|rev_e_avisos.js|rev e avisos.css

Helder 20h45min de 3 de dezembro de 2011 (UTC)

atualizaram o script. Helder 18h03min de 5 de dezembro de 2011 (UTC)

Nem sempre reverte a edição, e às vezes reverte a edição errada

editar

Por algum motivo o script não reverteu esta edição:

https://pt.wikipedia.org/w/index.php?title=Projec%C3%A7%C3%A3o%20ortogonal&diff=prev&oldid=27617239&rcid=28849185

ao usar a opção "+comentário", no Google Chrome 15.0.874.121, com o tema vector.

Já vi isso acontecer outras vezes. Helder 11h43min de 29 de novembro de 2011 (UTC)

Isso já aconteceu comigo também várias vezes (não apenas com a opção "+comentário") e eu uso Firefox.” Teles (D @ R C S) 11h48min de 29 de novembro de 2011 (UTC)
Além disso, às vezes o gadget parece reverter a edição errada (ver edição a ser revertida e a reversão incorreta). Helder 17h02min de 1 de dezembro de 2011 (UTC)
Acho que se trocarmos
'oldid': mw.util.getParamValue('oldid')
por
'oldid': mw.util.getParamValue( 'oldid', $('#mw-diff-otitle1').find('a').first().attr('href') )
o script identificará o número correto da revisão para a qual a reversão deve ser feita, pois em links como o que citei acima (em que há um "diff=prev"), o "oldid" corresponde à versão da direita (não à da esquerda). Helder 16h22min de 2 de dezembro de 2011 (UTC)
Isso foi resolvido na versão mais recente do script. Helder 18h03min de 5 de dezembro de 2011 (UTC)

Comentário trocado por 'null'

editar

Por algum motivo, nesta página, ao cancelar a janela que aparece ao clicar em "+comentário" esta reversão não foi cancelada, e foi incluído "null" no sumário de edição. Estava usando o Google Chrome 15.0.874.121, e o tema vector. Helder 12h49min de 29 de novembro de 2011 (UTC)

E neste caso, foi colocada uma string vazia entre parêntesis. Helder 12h08min de 2 de dezembro de 2011 (UTC)
Acho que é só colocar uma condição no fim da página verificando se a opção selecionada foi '+comentário' e se o getSummary está retornando nada.
Tipo:
if ( this.getSummary == '' && options[ 'desc' ] == '+comentário' ) return;
else $( this.run );

!Silent (discussão) 13h35min de 29 de novembro de 2011 (UTC)

Eu acho que o que precisa ser alterado é essa parte do script (que é onde o texto do prompt é usado):
		'url': function () {
			window.location = revUrl + '&' + $.param( {
				'user1': user1,
				'user2': user2,
				'difftool': '1',
				'message': that.getSummary()
			} );
		}
Mas pra resolver o segundo problema (a exibição de "()" quando não há uma mensagem extra) parece que seria preciso mudar mais partes do código. Talvez tanto null quanto a string vazia devessem significar "cancelar". Não testei, mas algo assim talvez funcione:
                'url': function () {
                        var text = that.getSummary();
                        if (!text){
                                return;
                        }
                        window.location = revUrl + '&' + $.param( {
                                'user1': user1,
                                'user2': user2,
                                'difftool': '1',
                                'message': text
                        } );
                }
Helder 12h08min de 2 de dezembro de 2011 (UTC)
De fato, desta forma resolve e já fiz o pedido em WP:PA/PP. A propósito, acho que deveria trocar o autor para o seu nome, já que foi você quem fez o script todo sem reaproveitar nada (Ou quase nada) do antigo. !Silent (discussão) 13h36min de 2 de dezembro de 2011 (UTC)

Marcar as reversões como edições menores

editar

Alguém mais acha que seria boa ideia se a as reversões fossem marcadas como menores pelo script?

Caso concordem, basta incluir a linha destacada abaixo:

var doEditPage = function( token ) {
    var data = {
        format: 'json',
        action: 'edit',
        minor: true,
        title: page,
        /* o resto continua igual ... */

Helder 08h05min de 16 de dezembro de 2011 (UTC)

  Concordo completamente, não sei como ainda não estava. !Silent (discussão) 11h47min de 3 de janeiro de 2012 (UTC)
  Concordo Rjclaudio msg 11h50min de 3 de janeiro de 2012 (UTC)

Acho que seria boa ideia trocar a linha

text = prompt( 'Comentário a acrescentar ao sumário da reversão:', 'vandalismo' );

por

text = prompt( 'Comentário a acrescentar ao sumário da reversão:', 'inadequado' );

pois assim caso alguém pressione ENTER acidentalmente em uma edição inapropriada mas que não seja exatamente um vandalismo, não estará acusando indevidamente o editor de vandalizar o projeto (dizer que é "inadequado" é válido na maioria dos casos em que se reverte uma edição). Helder 11h31min de 3 de janeiro de 2012 (UTC)

  Concordo !Silent (discussão) 11h47min de 3 de janeiro de 2012 (UTC)
  Concordo Rjclaudio msg 11h50min de 3 de janeiro de 2012 (UTC)

Trocar underlines por espaços

editar

Acho que seria bom trocar page por page.replace(/_/g, ' ') nas linhas abaixo?

mw.util.wikiGetlink( page ) + '">' + page + '</a>"...'

e

'Preparando a edição da página "' + page + '"...'

, pois assim os títulos que contém espaços não apareçam com um underline. O que acham? Helder 20h22min de 23 de janeiro de 2012 (UTC)

  Feito entre as alterações do pedido abaixo. Daimore msg 12h46min de 28 de janeiro de 2012 (UTC)

Usar mw.user.tokens.get( 'editToken' )

editar

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? Elas servem para que a (não tão) nova funcionalidade do MediaWiki seja utilizada e também para resolver o pedido anterior e traduzir algumas mensagens de erro. Helder 10h19min de 28 de janeiro de 2012 (UTC)

Mais uma coisa: depois da atualização, é preciso indicar na MediaWiki:gadgets-definition que esse gadget depende do módulo "mediawiki.user":
* rev-e-avisos[ResourceLoader|dependencies=mediawiki.util,mediawiki.user]|rev_e_avisos.js|rev e avisos.css
Helder 10h57min de 28 de janeiro de 2012 (UTC)
  Feito aqui e aqui. Daimore msg 12h46min de 28 de janeiro de 2012 (UTC)

Não vigiar páginas revertidas?

editar

Atualmente, quando se reverte uma edição em um artigo, e em nossas preferências a opção "Adicionar páginas editadas por mim à minha lista de páginas vigiadas" está ativada, o artigo acaba sendo colocado na lista de páginas vigiadas. O que acham de alterar o gadget para que ele não faça isso? Imagino que quem está acompanhando as mudanças recentes e fazendo reversões não quer necessariamente vigiar cada artigo em que reverter uma edição. Se quiser, pode simplesmente clicar na estrela no topo da página para fazer isso. Helder 17h43min de 13 de março de 2012 (UTC)

  Concordo totalmente. Isso nunca deveria ter estado no gadget. !Silent (discussão) 22h00min de 13 de março de 2012 (UTC)
Então... na verdade isso não é algo que esteja no gadget, mas algo que não está: o que acontece é que a ação "edit" da API aceita para o parâmetro "watchlist" um desses valores: watch, unwatch, preferences, nochange. Mas o padrão, caso ele não seja usado em uma chamada, é o valor "preferences" que corresponde a respeitar o que foi definido pelo editor nas preferências. Mas como as reversões são um tipo de edição que se pudesse ninguém fazia, não parece ser de interesse que o "Adicionar páginas editadas por mim à minha lista de páginas vigiadas" devesse valer para esse tipo de "edição". Então o que proponho é incluir o parâmetro, mas com o valor "nochange", para que as edições não alterem a lista de páginas vigiadas ao reverter edições. Em outras palavras, se concordarem, é só trocar
minor: true,
por
minor: true,
watchlist: 'nochange',
Helder 23h19min de 13 de março de 2012 (UTC)
  Feito [1]. Helder 16h06min de 18 de outubro de 2012 (UTC)


Sumários para avisos

editar

Muitos avisos estavam com sumários sem links para o script e outros sem qualquer sumário de edição. Farei um pedido de edição para colocar os sumários (como os que estão aqui). Chico Venancio (discussão) 19h15min de 27 de julho de 2012 (UTC)

Não seria melhor acrescenter isso na linha 394? Colocando data.sum + ', com [[WP:RA|Reversão e avisos]]'. !Silent (discussão) 19h46min de 27 de julho de 2012 (UTC)
Concordo com o !Silent. É melhor evitar repetição desnecessária da mesma informação em todos os avisos. Helder 19h50min de 27 de julho de 2012 (UTC)
Fiquem a vontade, acho melhor também. Chico Venancio (discussão) 20h01min de 27 de julho de 2012 (UTC)
Já fiz o pedido, e ainda fiz uns ajustes a mais. !Silent (discussão) 22h24min de 29 de julho de 2012 (UTC)

Bem, percebi o motivo de não haver sumários antes. Usando section=new a API usa o valor do sumário como sectiontitle se este estiver ausente ou em branco. Como as predefinições inserem uma seção por si ficamos com duas seções (uma em branco).

Como solução eu proponho que passemos a usar o appendtext que fará com que fiquemos com uma seção só (e com o sumário correto).

Chico Venancio (discussão) 20h02min de 6 de agosto de 2012 (UTC)

Lembro que havia um pedido no bugzilla para separarem as duas coisas. Não sei se já foi corrigido (seria esse appendtext que está sugerindo? já testou?). Helder 21h16min de 6 de agosto de 2012 (UTC)
Já testei em uma instalação de wiki local. Chico Venancio (discussão) 21h22min de 6 de agosto de 2012 (UTC)
O que eu tinha visto era o bug 26312. Mas se dá para incluir uma nova seção sem que o sumário coincida com o título da seção, então isso poderia ser implementado na MediaWiki:Gadget-NewVillagePump.js/Core.js também, para economizar uma chamada à API com getCurrentPageText. Helder 16h03min de 7 de agosto de 2012 (UTC)
Sim! Tem o prependtext também que serve para colocar o texto no começo da página (e podem até serem usados em conjunto com um número de seção para adicionar ao começo ou final de uma). Só precisamos buscar o código wiki se formos fazer alguma transformação mais complexa. Chico Venancio (discussão) 22h19min de 7 de agosto de 2012 (UTC)

Avisos ao ver edições antigas (oldid)

editar
A discussão a seguir está marcada como respondida (feito). Se quiser acrescentar mais algum comentário, coloque-o logo abaixo desta caixa.

O que acham da ideia de colocar botões de avisos a usuários quando se reveem edições antigas (com oldid na URL)? Francisco (discussão) 00h22min de 8 de setembro de 2012 (UTC)

Eu não sou contra. E caso ninguém mais seja, é só trocar a linha
if ( mw.config.get( 'wgNamespaceNumber' ) !== -1 && !!mw.util.getParamValue( 'diff' ) ) {
por
if ( mw.config.get( 'wgNamespaceNumber' ) !== -1 && ( mw.util.getParamValue( 'diff' ) || mw.util.getParamValue( 'oldid' ) ) ) {
!Silent (discussão) 00h36min de 8 de setembro de 2012 (UTC)
  Feito. Francisco (discussão) 00h53min de 8 de setembro de 2012 (UTC) Acabei de fazer a alteração, porém, na primeira revisão, ao invés de enviar o aviso ao usuário que fez a edição, o script enviou o aviso ao usuário null (diff). Francisco (discussão) 01h01min de 8 de setembro de 2012 (UTC)
Ah sim, não era só mudar aquela linha não, tem mais uma coisa... !Silent (discussão) 01h12min de 8 de setembro de 2012 (UTC)
Que coisa? Francisco (discussão) 01h16min de 8 de setembro de 2012 (UTC)
Tava dando uma olhada aqui, e acho que é só trocar a linha
user2    = $('#mw-diff-ntitle2').find('a').first().html(),
por
user2    = $( '#mw-diff-ntitle2' ).find( 'a' ).first().html() || $( '#mw-revision-name .mw-userlink' ).html(),
!Silent (discussão) 01h20min de 8 de setembro de 2012 (UTC)
  Feito. Francisco (discussão) 01h32min de 8 de setembro de 2012 (UTC)

O seletor $( '#mw-revision-name .mw-userlink' ) é menos eficiente do que $( '#mw-revision-name' ).find( '.mw-userlink' ). Helder 01h58min de 8 de setembro de 2012 (UTC)

AJAX patrol

editar

Hello, I see that you use AjaxPatrolLinks. I have good news for you: AJAX patrolling is now in core! On Wikimedia projects, it should arrive with MediaWiki 1.21wmf5, between 2012-11-26 and 2012-12-5. You should disable this gadget when the new feature change is enabled, because it will become redundant and to avoid double patrolling. Thanks, Nemo bis (discussão) 08h06min de 21 de novembro de 2012 (UTC)

Tenho a impressão de que a alteração no código já está em funcionamento, pois quando fiz uma reversão apareceu
Uncaught TypeError: Cannot call method 'click' of undefined
no console do Google Chrome. Helder 23h54min de 11 de dezembro de 2012 (UTC)
Isso já está resolvido. Helder 00h22min de 12 de dezembro de 2012 (UTC)

Marcar como sem imagens

editar

Olá pessoal. Acredito que seria bom haver algum botão na manutenção de marcar a página como sem imagens (fica a sugestão para quem programa esses gadgets). Há alguma outra forma prática de fazer isso (sem ter que abrir a edição da página...)?--Prima.philosophiaD.C 19h21min de 27 de novembro de 2012 (UTC)

Regressar à página "Gadget-diffTools.js/Arquivo/1".