Extensão:WikiApreço
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 |
|
|
|
| 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
WikiLoveao seu diretórioextensions/.
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.
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 dadoswikilove_logque 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:
- Wikipedia
- Wikimedia Commons
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 suspensodescr– Descrição do subtipoheader– Cabeçalho da mensagem que está sendo adicionada, ou seja, a parte que estará entre== ... ==title– Título da caixa de mensagemtext– Texto da caixa de mensagem (veja abaixo para detalhes)image– Imagem da caixa de mensagemgallery– 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, messageimageSize– Tamanho da imagem (por exemplo,100px)backgroundColor– Cor de fundo (qualquer cor válida em CSS, por exemplo,#fdffe7ouyellow)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árioemail- TítulodefaultText- 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 imagenswidth– Largura máxima das imagens na galeria (em pixels); para 3 imagens,145é recomendadoheight– 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.
//<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





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
Comportamento do diálogo
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
- WikiApreço - Documento de design original
- Extensão:Thanks - Agradecimento mais leve por edições usando Echo
- GiveCredit - MeatBall Wiki
| Esta extensão está sendo usada(o) por um ou mais projetos da Wikimedia. Isto significa que, provavelmente, a extensão é estável e funciona bem o suficiente para ser utilizada(o) em sites da web de alto tráfego. Procure pelo nome dessa extensão nos arquivos de configuração CommonSettings.php e InitialiseSettings.php da Wikimedia para verificar onde ela foi instalada. Uma lista completa das extensões instaladas numa wiki em particular podem ser visualizadas na página Special:Version da wiki. |
| Esta extensão está incluída nas seguintes fazendas/hospedagens (farms/hosts) e/ou pacotes wiki: |
- Stable extensions/pt-br
- User interface extensions/pt-br
- BeforePageDisplay extensions/pt-br
- ChangeTagsListActive extensions/pt-br
- GetPreferences extensions/pt-br
- ListDefinedTags extensions/pt-br
- LoadExtensionSchemaUpdates extensions/pt-br
- SkinTemplateNavigation::Universal extensions/pt-br
- UserMergeAccountFields extensions/pt-br
- MIT licensed extensions/pt-br
- Extensions in Wikimedia version control/pt-br
- All extensions/pt-br
- Extensions used on Wikimedia/pt-br
- Extensions included in Miraheze/pt-br
- API extensions/pt-br
