Extension:WikiLove/nl
WikiLove Release status: stabiel |
|
---|---|
Implementatie | Gebruikersinterface |
Beschrijving | Maakt het eenvoudig om positieve feedback te geven op gebruikersoverlegpagina's. |
Auteur(s) | Ryan Kaldari, Jan Paul Posma, Brandon Harris (ontwerp) |
Laatste versie | 1.3.1 |
Compatibiliteit beleid | Snapshots releases samen met MediaWiki. Master is niet achterwaarts compatibel. |
MediaWiki | 1.27+ |
Database wijzigingen | Ja |
Tabellen | wikilove_log |
Licentie | MIT Licentie |
Download | |
|
|
Downloads kwartaal | 18 (Ranked 121st) |
Vertaal de WikiLove extensie indien beschikbaar op translatewiki.net | |
Problemen | Open taken · Rapporteer een bug |
WikiLove (WikiWaardering) is een extensie die ontworpen is om het verspreiden van WikiLove te promoten binnen Wikipedia en mogelijk ook andere wiki's. Het maakt het mogelijk om met een paar eenvoudige klikken op wat knoppen awards, giften en uitnodigingen te doen op gebruikersoverlegpagina's.
Installatie
- Download en plaats de bestanden in de map
WikiLove
in de mapextensions/
.
Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove - Voeg de volgende code onderaan het bestand LocalSettings.php toe:
wfLoadExtension( 'WikiLove' );
- Voer het update script uit, dat automatisch de vereiste database-tabellen creëert die nodig zijn voor de extensie.
- Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.
Als u de ingebouwde awards wilt gebruiken, dan moet u InstantCommons hebben ingeschakeld. Dan kan door aan het bestand LocalSettings.php
toe te voegen:
$wgUseInstantCommons = true;
De extensie zou nu actief moeten zijn. Ga naar de tab Bewerken in uw voorkeuren om de interface aan te zetten
U kunt deze opties voor configuratie ook gebruiken in uw LocalSettings.php
:
$wgWikiLoveGlobal
- de extensie voor alle gebruikers inschakelen, overschrijft de gebruikersvoorkeur (Standaardwaarde: false)- NB: u kunt de instelling ook standaard inschakelen en het aan de gebruiker overlaten om het uit te zetten (opt-out), dat doet u met:
$wgDefaultUserOptions['wikilove-enabled'] = 1;
$wgWikiLoveTabIcon
- een icoon gebruiken voor skins die dat ondersteunen (bijv. Vector) (standaardwaarde: true)$wgWikiLoveLogging
- logging inschakelen van gebruik WikiLove (standaardwaarde: false); dit maakt automatisch een database tabelwikilove_log
aan, deze kunt u gebruiken voor statistieken
Gebruik
Om in uw account in te stellen om WikiLove (WikiWaardering) te gebruiken gaat u naar de tab Bewerken in uw voorkeuren en schakelt WikiLove in onder "Labs features" (of in sommige versies onder "Algemene opties"). In September 2022 this displays as "Enable showing appreciation for other users with the WikiLove tab".
Om het te gebruiken, ga naar een gebruikersoverlegpagina (niet van uzelf) en klik op het hartje. Volg dan de aanwijzingen.
Verdere configuratie
Om te zien hoe u WikiLove voor uzelf kunt aanpassen (dus niet voor de hele wiki): gebruikersdocumentatie.
U kunt de optie aanpassen op uw eigen wiki door het wijzigen van de pagina MediaWiki:WikiLove.js. Dit gaat hetzelfde als de interne opties: defaultOptions.js. Wat voorbeelden van een configuratie:
- Wikipedia
- Wikimedia Commons
De opties bovenaan de defaultOptions.js zijn wat standaardinstellingen.
Als u bepaalde eigenschappen van (sub)types weglaat dan worden deze gebruikt (defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage
).
Dan volgt de lijst met types.
Elk type kan name
(verplichte) en icon
(optionele) eigenschappen hebben.
Een type kan een aantal subtypes hebben, als er geen subtypes zijn dan krijgt het type de mogelijke aanvullende eigenschappen.
Als er subtypes zijn, dan staan ze in een objectlijst subtypes
.
Het type kan optioneel de eigenschap select
hebben, dat is dan het label boven de dropdown.
Elk subtype kan de volgende eigenschappen hebben:
option
- naam in de dropdowndescr
- Beschrijving van het subtypeheader
- Kopregel van het toegevoegde bericht, het deel dat staat tussen== ... ==
title
- Titel van de berichtenboxtext
- Tekst van de berichtenbox (details staan hieronder)image
- Afbeelding van de berichtenboxgallery
- Galerie voor het selecteren van een afbeeldingfields
- Lijst met velden die de gebruiker kan aanpassen, ze kunnen deze waarden bevatten:header, title, image, message
imageSize
- Afbeeldingsgrootte (bijv.100px
)backgroundColor
- Achtergrondkleur (iedere CSS geldige kleur, bijv.#fdffe7
ofyellow
)borderColor
- Kleur rand (gelijk)
Als er geen subtypes gebruikt worden, deze opties (behalve de eerste twee) worden dan aan het type toegekend.
In de text
en email
velden (en ook in de defaultText
, eerder genoemd), kunt u een aantal placeholders gebruiken, die variabelen worden dan automatisch in de tekst vervangen:
- $1 - Bericht
- $2 - Titel
- $3 - Naam afbeelding
- $4 - Grootte afbeelding
- $5 - Achtergrondkleur
- $6 - Rand kleur
- $7 - Gebruikersnaam ontvanger
Om het selecteren van afbeeldingen door de gever eenvoudiger te maken, kunt u een galerie aanmaken met al gedefinieerde afbeeldingen. Maal een property (eigenschap) gallery
aam met de volgende eigenschappen:
imageList
- Een lijst (array) met namen van afbeeldingenwidth
- Maximale wijdte van de afbeeldingen in de galerie (in pixels); bij 3 afbeelding wordt145
aanbevolenheight
- maximale hoogte van de afbeeldingen in de galerienumber
- Aantal willekeurig te tonen afbeeldingen (optioneel); standaard worden alle hier beschikbare afbeeldingen getoond
U kunt afbeeldingen van Wikimedia Commons gebruiken, dat wordt gedaan voor de standaard awards. U dient hiervoor dus wel InstantCommons in te schakelen.
//<nowiki>
en eindigt met //</nowiki>
zodat alle Wikitext code (o.a. ondertekeningen, {{subst:foo}}
) niet opeens JavaScript bevat.
WikiLove type verwijderen
Als u een standaardtype van WikiLove wilt verwijderen, dan kunt u ze verwijderen in het $.wikiLoveOptions object. Wat voorbeelden voor gebruik op uw MediaWiki:WikiLove.js pagina van uw wiki:
// Verwijder de 'Random Acts of Kindness Barnstar' uit de lijst met sterren
delete $.wikiLoveOptions.types.barnstar.subtypes.kindness;
// Verwijder de 'cheeseburger' uit de bijbehorende lijst
delete $.wikiLoveOptions.types.food.subtypes.cheeseburger;
// De hele 'kittens' interface verwijderen
delete $.wikiLoveOptions.types.kitten;
WikiLove type toevoegen
Nu een voorbeeld met het toevoegen van een type 'Puppy':
$.wikiLoveOptions.types.puppy = {
name: 'Puppy', // typenaam (komt in het menu met de types)
fields: [ 'header', 'message' ], // invoervelden
header: 'You get a puppy!', // optionele kopregel van bericht op overlegpagina
text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1 is de aangepaste tekst
icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // komt in het menu met de types
};
Een voorbeeld met een nieuw type met een galerie met afbeeldingen:
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // typenaam (komt in het menu met de types)
fields: [ 'header', 'message' ], // invoervelden
header: 'A hedgehog for you!', // optionele kopregel van bericht op overlegpagina
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is de bestandsnaam met de afbeelding, $1 is het bericht
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximale wijdte van de afbeeldingen in de galerie
height: 150, // maximale hoogte van de afbeeldingen in de galerie
number: 3 // optioneel het aantal willekeurig te tonen afbeeldingen
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // komt in het menu met de types
Nu een nieuw subtype 'falafel' van het bestaande type 'food':
$.wikiLoveOptions.types.food.subtypes.falafel = {
fields: [ 'header', 'message' ], // invoervelden
option: 'Falafel', // de tekst van de optie in de selectielijst
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!', // optionele kopregel van bericht op overlegpagina
image: 'Falafel award.png', // afbeelding voor het item
imageSize: '120px' // de grootte waarop de afbeelding wordt getoond (optioneel)
};
Problemen
Als de te bewerken overlegpagina een woord bevat dat op de Special:SpamRegex staat, dan er geen ster of een andere award worden toegevoegd. Een pagina met een geblokkeerd woord kan niet bewerkt worden, het woord moet eerst verwijderd worden van de pagina (of uit die lijst). Het woord zal pas toegevoegd zijn aan de lijst nadat het op deze pagina is gezet.
API documentatie
Wikiwaardering gebruikt een eigen API om een bericht op een gebruikersoverlegpagina te plaatsen. Deze API is eigenlijk een wrapper (schil) die bestaande API's gebruikt. Als de pagina een Wikitext pagina is, dan wordt de API edit gebruikt. Als het een 'flow' pagina is, dan wordt de API flow gebruikt. Als het een LiquidThreads pagina is, dan wordt de API threadaction gebruikt.
Gebruik de parameter action=wikilove
om de API aan te roepen.
Parameters:
title
- Naam van de gebruiker of de titel van de gebruikersoverlegpagina die de ontvanger van de waardering is (verplicht)
text
- Ruwe wikitext in de toe te voegen sectie (verplicht)
message
- De tekst die gebruiker heeft ingevoerd, dit is voor de logging bedoeld (exclusief de afbeelding en zonder HTML-opmaak)
token
- U kunt een Edit token krijgen met prop=info (verplicht)
subject
- Kop van de nieuwe sectie met het onderwerp (verplicht)
type
- Het type (voor de statistieken); dit komt overeen met het geselecteerde type met eventueel dus het subtype als dat er is (bijv: "barnstar-normal" of "kitten") (optioneel)
email
- Inhoud van het optionele e-mailbericht dat naar de gebruiker is verzonden
Voorbeeld:
api.php?action=wikilove&title=User:Dummy&text=Love&subject=Hi&token=%2B\
Ontwerp versie 1.0
Dit document beschrijft het ontwerp en het gedrag van het WikiLove systeem voor een positieve feedback. Dit is een manier om het werken in Wikipedia of een ander WikiMedia wiki te promoten. Er worden awards toegevoegd aan gebruikersoverlegpagina's.
Motivering
Een gemeenschap als Wikipedia heeft meerdere mechanismes voor het herkennen van het onplezierig werken of het geven van afbraak feedback naar gebruikers. Bepaalde gadgets, zoals Twinkle, zijn gemaakt voor het waarschuwen, blokkeren en terugdraaien
Omdat iedereen een positieve versterking wil, vooral richting nieuwe gebruikers, is er een systeem gemaakt dat bedoeld is voor het geven van positieve feedback, niet alleen voor nieuwkomers maar ook bij opgevallen prestaties.
Gebruik van de stijl whimsical
Het systeem heeft opzettelijk een nogal "speelse en vrolijke" stijl, dat sluit goed aan op de verwachtingen van gebruikers bij een moderne website. Ook het principe van waarderingen is dat al met (sterren, taarten, ...).
Of wij de stijl gaan aanpassen hangt af van de feedback van gebruikers.
Naamgeving
Enkele sjabloontypes zoals die voor het verwelkomen zijn natuurlijk niet echt beloningen maar wel een belangrijke vorm van aandacht.
In dit document worden award en sjabloon wat door elkaar gebruikt. Het systeem is gericht op de gebruiker en niet zo zeer voor techneuten, er wordt spreektaal gebruikt.
Proces
Dialogen
De dialoog in deze extensie is modal. Bij aanroep, waarvandaan dan ook, wordt het getoond over de pagina heen. U kunt het met een klik wegklikken.
Het WikiLove systeem vereist JavaScript.
De gebruiker krijgt eerst een beperkt aantal eenvoudige instructies en een lijst met de beschikbare award categorieën.
Na selectie van die categorie/type, kan de gebruiker wat details toevoegen waaronder een korte boodschap.
Er zijn ook types waarbij er geen details nodig zijn (bijv., "cookie"), dan wordt er direct een voorbeeld getoond om de gever te laten zien hoe de ontvanger het ziet, dit is het voorvertonen.
Na het invullen van de details komt er ook zo'n voorvertoning.
Na het voorvertonen kan met een knop de award worden verzonden, dit houdt dan in dat er met een AJAX-aanroep van de server-API een tekst wordt toegevoegd aan een gebruikersoverlegpagina.
E-mailnotificatie
Omdat zeker nieuwe gebruikers misschien niet eens weten dat ze een eigen overlegpagina hebben, zal het vrij regelmatig voorkomen dat ze dit bericht niet eens opmerken.
Vandaar dat er ook een e-mail naar de ontvanger wordt verzonden (als dat bekend is) over het toekennen van de award. In die e-mail staat dan ook een uitleg hoe ze de eigen overlegpagina kunnen zien.
Website configuratie
In de eerste versies van dit project kan de wijze van implementatie anders zijn dan in een volgende versie, kijk dus altijd naar de definitie in het bestand LocalSettings.php
van de site.
Dit is natuurlijk een aanbeveling die gegeven moet worden bij alle software.
Data opslag
Om later statistieken te kunnen maken worden er wat gegevens vastgelegd bij elke toekenning van een award. Wat wordt vastgelegd is:
- de Gever
- de Ontvanger
- het Sjabloon: blijkbaar de award
- het Tijdstempel: datum en tijd
- de Tekst: de optionele tekst
Special:WikiLoveStatistics
In de toekomst is er mogelijk een pagina Special:WikiLoveStatistics, iets waarmee te zien valt hoe vaak er een award wordt toegekend en door/aan wie, en welke awards dan wel.
Dan kunnen we mogelijk bedenken hoe we dit systeem kunnen inschatten om de sfeer en wijze van omgang wat beter kunnen duiden.
Toekomstplannen
Fase twee van dit project zou het kunnen zijn dat een "Send WikiLove" link automatisch wordt toegevoegd aan de ondertekeningen op de overlegpagina's. Hierdoor zou WikiLove gemakkelijk kunnen worden verzonden, direct vanaf andere overlegpagina's.
Zie ook
- WikiLove/nl - Origineel ontwerp
- Extension:Thanks/nl - Een lichtere vorm van bedanken voor het bewerken: Echo
- GiveCredit - MeatBall Wiki
Deze uitbreiding wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de uitbreiding stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze uitbreiding in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de uitbreidingen die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de Special:Version pagina van de wiki. |
Deze uitbreiding is beschikbaar op de volgende wiki-families en/of onderdeel van de volgende pakketten: Dit is geen gezaghebbende lijst. Sommige wikifarms/hosts en/of pakketten kunnen deze extensie bevatten, zelfs als ze hier niet worden vermeld. Controleer het altijd bij uw wiki farms/hosts of bundel. |
- Stable extensions/nl
- User interface extensions/nl
- MIT licensed extensions/nl
- Extensions in Wikimedia version control/nl
- BeforePageDisplay extensions/nl
- ChangeTagsListActive extensions/nl
- GetPreferences extensions/nl
- ListDefinedTags extensions/nl
- LoadExtensionSchemaUpdates extensions/nl
- SkinTemplateNavigation::Universal extensions/nl
- UserMergeAccountFields extensions/nl
- All extensions/nl
- Extensions used on Wikimedia/nl
- Extensions included in Miraheze/nl
- Extensions included in WikiForge/nl
- API extensions/nl