Jump to content

Extensão:WikiApreço

From mediawiki.org
This page is a translated version of the page Extension:WikiLove and the translation is 91% complete.
Outdated translations are marked like this.


Manual de extensões do MediaWiki
WikiLove
Estado da versão: estável
Implementação Interface de usuário
Descrição Facilita a adição de feedback positivo às páginas de discussão de usuários.
Autor(es) Ryan Kaldari, Jan Paul Posma, Brandon Harris (estilo)
Última versão 1.3.1
Política de
compatibilidade
Lançamentos de snapshot junto com o MediaWiki. A master não é retrocompatível.
MediaWiki 1.27+
Modifica o banco
de dados
Sim

  • $wgWikiLoveGlobal
  • $wgWikiLoveTabIcon
  • $wgWikiLoveLogging
Licença Licença MIT
Download
Para traduzir a extensão WikiLove, verifique sua disponibilidade no translatewiki.net
Problemas Tarefas em aberto · Relatar um bug

O WikiApreço' é uma extensão projetada para promover a disseminação do WikiApreço dentro da Wikipédia e possivelmente em outras wikis. Especificamente, ela torna a adição de prêmios, presentes e convites às páginas de discussão de usuários tão simples quanto clicar em alguns botões.

Instalação

  • Baixe e mova a pasta extraída WikiLove ao seu diretório extensions/.
    Desenvolvedores e colaboradores de código, por outro lado, deverão instalar a extensão a partir do Git, usando:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove
    
  • Adicione o seguinte código ao final do seu arquivo LocalSettings.php :
    wfLoadExtension( 'WikiLove' );
    
  • Execute o script de atualização que criará automaticamente as tabelas necessárias a essa extensão no banco de dados.
  • Yes Concluído – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.

Se você deseja usar os prêmios embutidos, é necessário habilitar o InstantCommons. Para fazer isso, adicione o seguinte a LocalSettings.php:

$wgUseInstantCommons = true;

A extensão agora deve estar ativa. Vá para a aba de edição em suas preferências para ativar a interface.

Você também pode usar estas opções de configuração em seu LocalSettings.php:

  • $wgWikiLoveGlobal - habilita a extensão para todos os usuários, removendo a preferência do usuário (padrão: false)
    • Nota: você também pode habilitar a configuração por padrão, mas ainda dar aos usuários a opção de desativá-la (opt-out) usando:
$wgDefaultUserOptions['wikilove-enabled'] = 1;
  • $wgWikiLoveTabIcon - usa um ícone para skins que os suportam (ou seja, Vector) (padrão: true)
  • $wgWikiLoveLogging - habilita o registro de envio de WikiApreço (padrão: false); isso cria automaticamente uma tabela de banco de dados wikilove_log que você pode usar para consultas estatísticas


Uso

Para habilitar sua conta para usar o WikiApreço, vá para a aba de edição em suas preferências e ative o WikiApreço em "Recursos de Laboratório" (ou, em algumas versões, em "Opções Gerais"). In September 2022 this displays as "Enable showing appreciation for other users with the WikiLove tab".

Para usar o WikiApreço, vá para a página de discussão de um usuário (não a sua própria) e clique no ícone de coração. Siga as instruções a partir daí.

Configuração pessoal

Para aprender como personalizar o WikiApreço para um editor individual (em vez de um wiki inteiro), consulte a documentação do usuário.

Você pode personalizar as opções para seu próprio wiki editando a página MediaWiki:WikiLove.js. Aqui, você pode alterar a configuração da mesma forma que é feito com as opções embutidas: $defaultOptions. Segue alguns exemplos de configurações personalizadas do WikiApreço: In here, you can change the configuration the same way as is done with the built-in options: defaultOptions.js. Here are some examples of custom WikiLove configurations:

As opções no topo de defaultOptions.js são algumas configurações padrão para sua conveniência. Se você omitir certas propriedades de tipos ou subtipos, esses padrões serão usados (defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage). Em seguida, há a lista de tipos. Cada tipo pode ter as propriedades name (obrigatória) e icon (opcional). Mais ainda, um tipo pode ter uma lista de subtipos, ou não, caso em que as propriedades adicionais serão atribuídas ao próprio tipo.

Se o tipo tiver subtipos, eles são listados em uma lista de objetos subtypes. Opcionalmente, o tipo também pode ter a propriedade select, que especifica o rótulo acima do menu suspenso. Cada subtipo pode ter as seguintes propriedades:

  • option – nome no menu suspenso
  • descr – Descrição do subtipo
  • header – Cabeçalho da mensagem que está sendo adicionada, ou seja, a parte que estará entre == ... ==
  • title – Título da caixa de mensagem
  • text – Texto da caixa de mensagem (veja abaixo para detalhes)
  • image – Imagem da caixa de mensagem
  • gallery – Galeria para selecionar uma imagem (veja abaixo para detalhes)
  • fields – Matriz de campos que o usuário pode editar; pode conter estes valores: header, title, image, message
  • imageSize – Tamanho da imagem (por exemplo, 100px)
  • backgroundColor – Cor de fundo (qualquer cor válida em CSS, por exemplo, #fdffe7 ou yellow)
  • borderColor – Cor da borda (mesmo)

Quando não estiver usando subtipos, essas opções (exceto as duas primeiras) devem ser adicionadas ao próprio tipo.

Nos campos text e email (bem como em defaultText, mencionado anteriormente), você pode usar alguns códigos que serão substituídos automaticamente:

  • text - Mensagem do usuário
  • email - Título
  • defaultText - Nome da imagem
  • $4 - Tamanho da imagem
  • $5 - Coloração do fundo
  • $6 - Coloração da borda
  • $7 - Nome de usuário do destinatário
  • $1 – User message
  • $2 – Title
  • $3 – Image name
  • $4 – Image size
  • $5 – Background color
  • $6 – Border color
  • $7 – Username of the recipient

Para facilitar a seleção de imagens pelo usuário, você pode criar uma galeria com imagens predefinidas. Para isso, crie uma propriedade gallery, que tem as seguintes propriedades:

  • imageList – Uma array de nomes de imagens
  • width – Largura máxima das imagens na galeria (em pixels); para 3 imagens, 145 é recomendado
  • height – Altura máxima das imagens na galeria (em pixels)
  • number – Número de imagens aleatórias a serem exibidas (opcional); se omitido, todas as imagens são exibidas

Você pode usar imagens do Wikimedia Commons, como fazem os prêmios padrão. Como mencionado antes, você deve habilitar o InstantCommons para isso.

Certifique-se de iniciar sua página MediaWiki:WikiLove.js com //<nowiki> e terminá-la com //</nowiki> para que qualquer código Wikitext (como assinaturas ou {{subst:foo}}) não seja expandido dentro do JavaScript.

Removendo Tipos de WikiApreço

Se você deseja apenas remover alguns dos tipos padrão do WikiApreço, pode excluí-los do objeto $.wikiLoveOptions. Aqui estão alguns exemplos que você pode usar na página MediaWiki:WikiLove.js do seu wiki:

// Exclui o Barnstar de Atos Aleatórios de Bondade da lista de barnstars
delete $.wikiLoveOptions.types.barnstar.subtypes.kindness;
// Exclui o cheeseburger da lista de alimentos e bebidas
delete $.wikiLoveOptions.types.food.subtypes.cheeseburger;
// Exclui a interface de gatinhos inteiramente
delete $.wikiLoveOptions.types.kitten;

Adicionando Novos Tipos

Aqui está um exemplo de adição de um novo puppy type:

$.wikiLoveOptions.types.puppy = {
	name: 'Puppy', // nome do tipo (aparece no menu de tipos)
	fields: [ 'header', 'message' ], // campos a serem solicitados no formulário
	header: 'You get a puppy!', // cabeçalho que aparece no topo da postagem na página de discussão (opcional)
	text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1 é a mensagem personalizada
	icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // aparece no menu de tipos
};

Aqui está um exemplo de adição de um novo tipo de ouriço com uma galeria de imagens para escolher:

$.wikiLoveOptions.types.hedgehog = {
	name: 'Hedgehogs', // nome do tipo (aparece no menu de tipos)
	fields: [ 'header', 'message' ], // campos a serem solicitados no formulário
	header: 'A hedgehog for you!', // cabeçalho que aparece no topo da postagem na página de discussão (opcional)
	text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 é o nome do arquivo de imagem, $1 é a mensagem
	gallery: {
		imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
		width: 145, // largura máxima das imagens na galeria
		height: 150, // altura máxima das imagens na galeria
		number: 3 // número de imagens aleatórias a serem exibidas (opcional)
	},
	icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // aparece no menu de tipos

Aqui está um exemplo de adição de um novo subtipo de falafel sob o tipo de comida existente:

$.wikiLoveOptions.types.food.subtypes.falafel = {
    fields: [ 'header', 'message' ], // campos a serem solicitados no formulário
    option: 'Falafel', // opção listada na lista de seleção
    descr: 'Falafel is a popular Middle Eastern street food made from ground chickpeas or fava beans and topped with salads, vegetables, and sauces. It is typically served in a pocket of pita bread.',
    header: 'Some falafel for you!', // cabeçalho que aparece no topo da postagem na página de discussão (opcional)
    image: 'Falafel award.png', // imagem para o item
    imageSize: '120px' // tamanho para exibir a imagem (opcional)
};


Falhas e bugs

Se a página de discussão que você está tentando editar contiver uma palavra que foi posteriormente adicionada ao Special:SpamRegex, as tentativas de usar a interface para adicionar um barnstar ou outro prêmio falharão. Isso ocorre porque a página não pode ser editada, pois contém uma palavra proibida. Remover a palavra da página ou do filtro resolverá o problema.

Documentação da API

O WikiApreço usa uma API especial de wikilove para postar mensagens nas páginas de discussão dos usuários. A API é basicamente apenas uma camada fina em torno de algumas APIs existentes. Se a página de discussão do usuário for uma página Wikitext, ela usa a API edit . Se for uma página Flow, ela usa a API flow . E se for uma página LiquidThreads, ela usa a API threadaction .

Para chamar a API, use o parâmetro action=wikilove.

Parâmetros:

title
Título do usuário ou página de discussão do usuário para enviar o WikiApreço (obrigatório)
text
Wikitext bruto para adicionar na nova seção (obrigatório)
message
Mensagem real que o usuário inseriu, para fins de registro (não inclui a imagem e a formatação HTML)
token
Token de edição. Você pode obter um através de prop=info (obrigatório)
subject
Cabeçalho do assunto da nova seção da página (obrigatório)
type
Tipo de WikiApreço (para estatísticas); isso corresponde a um tipo selecionado no menu à esquerda, e opcionalmente um subtipo depois disso (por exemplo, "barnstar-normal" ou "kitten") (opcional)
email
Conteúdo da mensagem de e-mail opcional para enviar ao usuário

Exemplo:

 api.php?action=wikilove&title=User:Dummy&text=Love&subject=Hi&token=%2B\

Design for version 1.0

The WikiLove dialog upon first load
O diálogo do WikiApreço ao carregar pela primeira vez
O diálogo do WikiApreço ao selecionar uma categoria de prêmio
O diálogo do WikiApreço no modo de visualização
O estado de foco para o painel de seleção de prêmios

Este documento descreve o design e o comportamento do sistema de feedback positivo do WikiApreço para a Wikipédia. Esta ferramenta é projetada para promover a disseminação do WikiApreço dentro da Wikipédia. Especificamente, ela torna a adição de prêmios e presentes às páginas de discussão dos usuários tão simples quanto clicar em alguns botões.

Fundamentação

A Wikipédia, como comunidade, tem vários mecanismos para indicar desagrado ou fornecer feedback negativo aos seus usuários. Certos gadgets, como o Twinkle, são fortemente projetados para avisos, bloqueios e reversões.

Como a Wikipédia precisa de reforço positivo, especialmente para novos usuários, é desejado um sistema projetado especificamente e apenas para feedback positivo.

Uso de estilo caprichoso

O sistema tem um forte estilo de "capricho" em seu design. Isso é intencional e visa alinhar-se mais às expectativas dos usuários de sites modernos. Além disso, todo o princípio de "prêmios" é, em si, caprichoso (por exemplo, cookies e gatinhos).

Este estilo pode ser abandonado com base no feedback dos usuários.

Nomenclaturas

Alguns tipos de modelos, como modelos de boas-vindas, não são tecnicamente "prêmios".

Este documento usa o termo prêmio de forma intercambiável com modelo. Como o sistema é focado no usuário, e não destinado diretamente a usuários avançados, a nomenclatura voltada para o usuário foi usada.

Processo

O diálogo do WikiApreço é modal. Iniciá-lo (de qualquer lugar) fará com que ele apareça sobre o texto da página. Ele pode ser dispensado com um simples clique.

O sistema WikiApreço requer JavaScript.

O usuário será inicialmente apresentado a um conjunto curto de instruções fáceis de entender e uma lista de categorias de prêmios disponíveis.

Ao selecionar um tipo de prêmio, o usuário é apresentado a uma seção na qual pode adicionar detalhes ao prêmio (como uma mensagem curta).

Veja que algumas categorias de prêmios (por exemplo, "cookie") não terão uma etapa secundária de criação de prêmio e irão diretamente para "Visualizar".

O usuário então clica no botão "visualizar", que carregará uma prévia do prêmio para que eles possam ver como ele ficará na página de discussão do usuário.

Uma vez que o usuário estiver satisfeito, ele pode clicar no botão "Enviar WikiApreço". Neste momento, chamadas AJAX para a API do servidor serão disparadas, adicionando o modelo à página de discussão do usuário.

Notificação por email

Como a maioria dos novos usuários provavelmente não sabe que possui páginas de discussão, eles podem não estar cientes de que receberam o WikiApreço em questão.

Assim, o servidor enviará um e-mail ao destinatário (se ele forneceu um endereço de e-mail) informando-o sobre o WikiApreço, bem como instruções curtas sobre como acessar sua página de discussão.

Configuração do site

Inicialmente, os prêmios que podem ser dados serão definidos no próprio gadget. Se este sistema for elevado a uma extensão, os nomes dos prêmios e os modelos devem ser definidos no LocalSettings.php do site.

Alternativamente, tais informações podem ser armazenadas no banco de dados. Um console de administração seria necessário para adicionar ou subtrair prêmios e categorias de prêmios disponíveis.

Armazenamento de dados

Para fins de coleta de estatísticas, cada vez que um prêmio é dado, os dados são rastreados e armazenados no banco de dados. Uma tabela simples, escrita por meio da API, é tudo o que é necessário:

  • do User - O nome de usuário da pessoa que está dando o prêmio
  • pro User - O nome de usuário da pessoa que recebe o prêmio
  • Modelo - o nome do modelo premiado
  • Timestamp - quando o prêmio foi dado;
  • Texto do Prêmio - Opcional; este seria o texto do prêmio

Special:WikiLoveStatistics

No futuro, deve ser possível criar uma página, Special:WikiLoveStatistics, que poderia ser usada para ver com que frequência o sistema é usado, além de fornecer insights sobre quem dá mais amor, quais prêmios são mais populares e quem recebe mais prêmios.

Isso ajudará a fornecer uma visão geral global da saúde da comunidade. Quanto mais prêmios dados, mais saudável é a comunidade.

Desejos futuros

A fase dois deste projeto poderia resultar em links "Enviar WikiApreço" sendo adicionados dinamicamente às assinaturas nas páginas de discussão. Isso permitiria que o WikiApreço fosse enviado de maneira muito mais fácil, diretamente de outras páginas de discussão.

Ver também