Jump to content

Extensie:WikiLove

From mediawiki.org
This page is a translated version of the page Extension:WikiLove and the translation is 79% complete.
Outdated translations are marked like this.
Extensiile pentru MediaWiki
WikiLove
Statutul de lansare: stabilă
Implementare User interface
Descriere E ușor să adăugați feedback pozitiv la paginile de discuții ale utilizatorilor
Autor(i) Ryan Kaldari, Jan Paul Posma, Brandon Harris (design)
Versiune recentă 1.3.1
Politica de compatibilitate Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.27+
Schimbările bazei de date Da
Tabele wikilove_log
Licență MIT License
Descărcare

  • $wgWikiLoveGlobal
  • $wgWikiLoveTabIcon
  • $wgWikiLoveLogging
Quarterly downloads 25 (Ranked 111st)
Traduceți extensia WikiLove dacă este disponibilă la translatewiki.net
Probleme cauzate Sarcini deschise · Raportați probleme

WikiLove este o extensie proiectată pentru a promova raspândireaWikiLove în cadrul Wikipedia și posibil în alte wikiuri. Anume, face ca adăugarea de premii, cadouri și invitațiile în paginile de comunicare ale utilizatorului la fel de simplu ca și clicul a câtorva butoane.

Instalare

  • Download and move the extracted WikiLove folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove
  • Adăugați următorul cod în partea de jos a setărilor locale ($LocalSettings):
    wfLoadExtension( 'WikiLove' );
    
  • Rulați scriptul de actualizare care va crea automat tabelele bazelor de date necesare pentru această extensie.
  • Yes Realizat – Navigați la Special:Version pe wiki-ul dvs. pentru a verifica dacă extensia a fost instalată cu succes.

Dacă doriți să utilizați premiile încorporate, trebuie să aveți activat InstantCommons. Pentru aceasta, adăugați acest lucru la LocalSettings.php:

$wgUseInstantCommons = true;

Extensia ar trebui să fie acum activă. Accesați fila de editare din preferințele dvs. pentru a activa interfața.

De asemenea, puteți utiliza aceste opțiuni de configurare în LocalSettings.php:

  • $wgWikiLoveGlobal - activați extensia pentru toți utilizatorii, eliminând preferințele utilizatorului (implicit: fals)
    • Notă: puteți de asemenea să activați setarea în mod prestabilit, dar totuși să oferiți utilizatorilor opțiunea de al dezactiva ("opt-out") utilizând:
$wgDefaultUserOptions['wikilove-enabled'] = 1;
  • $wgWikiLoveTabIcon - utilizați o pictogramă pentru interfaţa care le susţine (adică Vector) (implicit: adevărat)
  • $wgWikiLoveLogging - activați logarea dării pe WikiLove (implicit: false); acest lucru creează automat un tabel de baze de date wikilove_log pe care îl puteți folosi pentru interogări statistice


Utilizare

Pentru a permite contului dvs. să utilizeze WikiLove, accesați fila de editare din preferințele dvs. și activați WikiLove sub "Funcțiile Labs" (sau, în unele versiuni, sub "Opțiuni generale"). In September 2022 this displays as "Enable showing appreciation for other users with the WikiLove tab".

Pentru a utiliza WikiLove, accesați pagina de discuții a utilizatorului și dați clic pe pictograma inimii. Urmați instrucțiunile de acolo.

Configurație personalizată

Pentru a afla cum să personalizați WikiLove pentru un editor individual (mai degrabă decât un întreg wiki), vedeți documentația utilizatorului.

Puteți personaliza opțiunile pentru propriul dvs. wiki editând pagina MediaWiki:WikiLove.js. Aici puteți schimba configurația la fel ca în cazul opțiunilor încorporate: defaultOptions.js. Iată câteva exemple de configurații personalizate WikiLove:

Opțiunile din partea de sus a defaultOptions.js sunt câteva setări implicite pentru confortul dvs. Dacă omiteți anumite proprietăți din tipuri sau subtipuri, aceste valori implicite vor fi utilizate (defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage). Apoi este lista de tipuri. Fiecare tip poate avea proprietățile name (obligatoriu) și icon (opțional). În plus, un tip poate avea o listă de subtipuri sau nu, caz în care proprietățile suplimentare vor fi atribuite tipului propriu-zis.

Dacă tipul are subtipuri, acestea sunt listate într-o listă de obiecte subtypes. Opțional, tipul poate avea și proprietatea select, care specifică eticheta de deasupra meniului derulant. Fiecare subtip poate avea următoarele proprietăți:

  • option - nume în meniul derulant
  • descr - Descrierea subtipului
  • header - Antetul mesajului care se adaugă, adică partea care va fi între
  • title - Titlul casetei de mesaj
  • text - Textul casetei de mesaj (vedeți mai jos pentru detalii)
  • image - Imaginea casetei de mesaj
  • gallery - Galerie pentru selectarea unei imagini (vedeți mai jos pentru detalii)
  • fields - Matricea de câmpuri pe care utilizatorul le poate edita; pot conține următoarele valori: header, title, image, message
  • imageSize - Dimensiunea imaginii (de exemplu, 100px)
  • backgroundColor - Culoarea de fundal (orice culoare validă CSS, de exemplu #fdffe7 or yellow)
  • borderColor - Culoarea marginii(la fel)

Atunci când nu se utilizează subtipuri, aceste opțiuni (cu excepția primelor două) trebuie adăugate la tipul însuși.

În câmpurile text și email (precum și în defaultText), puteți utiliza câteva coduri care vor fi înlocuite automat:* $1 - Mesaj de utilizator

  • $2 - Titlu
  • $3 - Nume imagine
  • $4 - Mărime imagine
  • $5 - Culoare fundal
  • $6 - Culoare margine
  • $7 - Numele de utilizator al destinatarului

Pentru a ușura selectarea imaginilor de către utilizator, puteți crea o galerie cu imagini predefinite. Pentru aceasta, creați o proprietate gallery, care are următoarele proprietăți:

  • imageList - O serie de nume de imagini
  • width - Lățimea maximă a imaginilor din galerie (în pixeli); pentru 3 imagini 145 este recomandat
  • height - Înălțimea maximă a imaginilor din galerie (în pixeli)
  • number - Numărul de imagini aleatorii afișate (opțional); dacă este omis, toate imaginile sunt afișate

Aveți posibilitatea să utilizați imagini de pe Wikimedia Commons, așa cum fac premiile implicite. Așa cum am menționat mai înainte, trebuie să activați InstantCommons pentru asta.

Be sure to start your MediaWiki:WikiLove.js page with //<nowiki> and end it with //</nowiki> so that any Wikitext code (such as signatures or {{subst:foo}}) doesn't get expanded within the JavaScript.

Removing WikiLove types

Dacă doriți doar să eliminați unele dintre elementele WikiLove implicite, le puteți șterge din obiectul $.wikiLoveOptions. Iată câteva exemple pe care le-ați putea folosi în pagina wiki MediaWiki:WikiLove.js :

// Ştergerea Acte de Bunătate Aleatorii Barnstar din lista de barnstars
delete $.wikiLoveOptions.types.barnstar.subtypes.kindness;
// Ștergeți cheeseburger-ul din lista de alimente și băuturi
delete $.wikiLoveOptions.types.food.subtypes.cheeseburger;
// Ștergeți interfața pisoiilor în întregime
delete $.wikiLoveOptions.types.kitten;

Adding new WikiLove types

Here's an example of adding a new puppy type:

$.wikiLoveOptions.types.puppy = {
	name: 'Puppy', // name of the type (appears in the types menu)
	fields: [ 'header', 'message' ], // fields to ask for in form
	header: 'You get a puppy!', // header that appears at the top of the talk page post (optional)
	text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1 is the custom message
	icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // appears in the types menu
};

Here's an example of adding a new hedgehog type with a gallery of images to choose from:

$.wikiLoveOptions.types.hedgehog = {
	name: 'Hedgehogs', // name of the type (appears in the types menu)
	fields: [ 'header', 'message' ], // fields to ask for in form
	header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
	text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
	gallery: {
		imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
		width: 145, // maximum width of the images in the gallery
		height: 150, // maximum height of the images in the gallery
		number: 3 // number of random images to show (optional)
	},
	icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu

Here's an example of adding a new falafel subtype under the existing food type:

$.wikiLoveOptions.types.food.subtypes.falafel = {
    fields: [ 'header', 'message' ], // fields to ask for in form
    option: 'Falafel', // option listed in the select list
    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!', // header that appears at the top of the talk page post (optional)
    image: 'Falafel award.png', // image for the item
    imageSize: '120px' // size to display image (optional)
};

Scăpări şi probleme

Dacă pagina de discuții pe care încercați să o editați conține un cuvânt care a fost ulterior adăugat la Special:SpamRegex, încercarea de a utiliza interfața pentru a adăuga un barnstar sau alt premiu va eșua. Aceasta deoarece pagina nu poate fi editată, deoarece conține un cuvânt interzis. Eliminarea cuvântului din pagină sau din filtru va remedia problema.

Documentare API

WikiLove folosește un API special wikilove pentru a posta mesaje către paginile de discuții ale utilizatorilor. API-ul este în esență doar un ambalaj subțire în jurul unor API existente. Dacă pagina de discuții a utilizatorului este o pagină Wikitext, acesta folosește API-ul de edit . Dacă este o pagină Flow, utilizează API flow . Și dacă este o pagină LiquidThreads, folosește API-ul threadaction .

Pentru a apela API, utilizați parametrul action=wikilove.

Parametri:

title
Titlul paginii de discuție a utilizatorului sau a utilizatorului pentru a trimite WikiLove la (obligatoriu)
text
Raw wikitext pentru a adăuga în noua secțiune (necesar)
message
Mesajul actual introdus de utilizator în scopul înregistrării (nu include imaginea și formatarea HTML)
token
Editați token. Puteți obține unul dintre acestea prin prop=info (necesar)
subject
Antetul subiectului din noua secțiune a paginii (necesar)
type
Tip de WikiLove (pentru statistici); acest lucru corespunde cu un tip selectat în meniul din stânga și, opțional, cu un subtip după acesta (de exemplu, "barnstar-normal" sau "pisoi") (opțional)
email
Conținutul mesajului opțional de e-mail pe care îl trimiteți utilizatorului

Exemplu:

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

Design pentru versiunea 1.0

Dialogul WikiLove la prima încărcare
Dialogul WikiLove la selectarea unei categorii de premii
Dialogul WikiLove la completarea detaliilor pentru un premiu
Dialogul WikiLove în modul previzualizare
Starea de hover pentru panoul de selectare a premiilor

Acest document descrie designul și comportamentul sistemului "WikiLove" de feedback pozitiv pentru Wikipedia. Acest instrument este conceput pentru a promova răspândirea WikiLove în Wikipedia. Mai exact, face adăugarea de premii și de cadouri paginilor de discuții ale utilizatorilor la fel de simplu ca și clicurile pe câteva butoane.

Argumentare

Wikipedia, ca o comunitate, are mai multe mecanisme de indicare a nemulțumirii sau de furnizare de feedback "negativ" utilizatorilor săi. Anumite gadget-uri, cum ar fi Twinkle, sunt puternic proiectate pentru avertizare, blocare și revenire.

Din moment ce Wikipedia are nevoie de armare pozitivă, în special pentru noii utilizatori, este dorit un sistem conceput în mod specific și numai spre feedback pozitiv.

Utilizarea stilului de poveste

Sistemul are un stil greu de "capriciu" pentru designul său. Acest lucru este intenționat și este destinat să se alinieze mai aproape de așteptările utilizatorilor site-urilor moderne. Mai mult, întregul principiu al "premiilor" este în sine însuflețit (de exemplu, cookie-uri și pisoi).

Acest stil poate fi abandonat pe baza feedback-ului utilizatorului.

Notă privind Nomenclatura

Unele tipuri de șabloane, cum ar fi șabloane de "Bine ați venit", tehnic nu sunt "premi".

Acest document foloșește termenul de "premiu" interschimbabil cu "format". Cum sistemul este focusat pe utilizator și nu este destinat direct utilizatorilor cu experiență, a fost folosit de catre utilizator orientat spre nomenclatura.

Proces

Comportamentul dialogului

Dialogul WikiLove este modal. Inițierea acestuia (de oriunde) îi va determina să apară peste textul paginii. Acesta poate fi respins cu un simplu click.

Sistemul WikiLove necesită JavaScript.

Utilizatorul va primi inițial un set scurt de instrucțiuni ușor de înțeles și o listă cu "categorii de atribuire" disponibile.

După selectarea unui tip de atribuire, utilizatorul are o secțiune în care poate adăuga detalii despre premiu (cum ar fi un mesaj scurt).

Rețineți că anumite categorii de premii (de exemplu, "cookie") nu vor avea un pas secundar de creare a premiului și vor merge direct la "Previzualizare".

Utilizatorul dă apoi click pe butonul "previzualizare", care va încărca o previzualizare a premiului, astfel încât să poată vedea cum va arăta în pagina de discuții a utilizatorului.

Odată ce utilizatorul este mulțumit, aceștia pot face click pe butonul "Trimiteți WikiLove". În acest moment, apelurile AJAX către serverul API vor fi concediate, adăugând formatul în pagina de discuții a utilizatorului.

Notificare email

Deoarece pentru majoritatea utilizatorilor noi este puțin probabil să știe că chiar au pagini de discuții, este posibil să nu știe că au primit WikiLove-ul în cauză.

În consecință, serverul va trimite prin e-mail destinatarului (dacă și-a furnizat o adresă de e-mail) informându-l despre WikiLove, precum și instrucțiuni scurte despre cum să acceseze pagina de discuții.

Configurare site

Inițial, premiile care pot fi acordate trebuie să fie definite în gadget-ul propriu-zis. Dacă acest sistem este ridicat la o extensie, atunci numele premiilor și formatelor ar trebui să fie definite în LocalSettings.php.

Alternativ, astfel de informații pot fi stocate în baza de date. O consolă de administrare ar fi necesară pentru a adăuga sau a scădea premiile și categoriile de premii disponibile.

Stocare date

Pentru colectarea de statistici se propune, de fiecare dată ca un premiu sa fie acordat, ca datele sa fie urmărite şi stocate în baza de date. Un simplu tabel, scris prin API, este tot ce trebuie cerut:

  • "De la Utilizator” - Numele de utilizator al persoanei căreia îi este oferit premiul
  • ”Către Utilizator” - Numele de utilizator al persoanei care primeşte premiul
  • ”Format” - Numele formatului care a fost premiat
  • ”Timestamp” - atunci cand premiul a fost acordat
  • ”Text Premiu” - Opţional; acesta va fi textul premiului

Special:Statistica WikiLove

În viitor, ar trebui să fie posibilă crearea unei pagini, Special: WikiLoveStatistics, care ar putea fi utilizată pentru a vedea cât de des este folosit sistemul, precum și pentru a oferi o perspectivă asupra cui dă cea mai mare dragoste,care premii sunt cele mai populare și care primește cele mai multe premii.

Acest lucru va contribui la furnizarea unei imagini globale asupra sănătății comunității. Cu cât sunt acordate mai multe premii, cu atât este mai sănătoasă comunitatea.

Gândirea viitoare

Etapa a doua a acestui proiect ar putea duce la adăugarea dinamică a legăturilor "Trimiteți WikiLove" la semnăturile din paginile de discuții. Acest lucru ar permite ca WikiLove să fie trimise într-un mod mult mai ușor, direct de la alte pagini de discuții.

Vezi și