Wikipedia:WikiVerifier Lite

De la Wikipedia, enciclopedia liberă
În prezent, această pagină este inactivă și este păstrată doar ca referință istorică.

NOTĂ IMPORTANTĂ: WikiVerifier Lite nu mai este disponibil -- vă rugăm vedeți WikiVerifier Beta.


WikiVerifier Lite a fost prima versiune a WikiVerifier, un script JavaScript care înlesnește munca de întreținere a Wikipedia. WikiVerifier este scris de Gutza D D+ sub licență GPL. A doua versiune a codului va fi WikiVerifier Beta, pentru ca în final să se ajungă la versiunea de producție, WikiVerifier.

WikiVerifier Lite este o versiune prototip, care prezintă următoarele caracteristici:

  • NOU! (9 iunie 2007 18:02 (EEST)) -- Acum se evidențiază numai legăturile către paginile de contribuții ale utilizatorilor neautentificați care conțin în textul legăturii o adresă IP (anterior se evidențiau și legăturile administrative, ca de exemplu "Contribuții utilizator" atunci când se vizita pagina de discuții a unui utilizator neautentificat);
  • NOU! (8 iunie 2007 22:02) -- Toate legăturile către paginile de contribuții ale utilizatorilor neautentificați sunt evidențiate prin afișarea lor pe fundal roșu;
  • Odată instalată, prezintă câte un simbol alături de legăturile către paginile de diferențe dintre două versiuni ale articolelor;
  • Scopul acestor simboluri este să indice care modificări au fost deja verificate de către alt utilizator, pentru a evita verificări duplicate;
  • Simbolul respectiv este un pătrățel de culoare roșie dacă legătura respectivă nu a mai fost vizitată, sau verde dacă a fost;
  • Pentru ca o pagină de diferențe să fie considerată vizitată, ea trebuie să fi fost văzută de către un alt utilizator care are WikiVerifier Lite instalat;
  • La vizitarea unei pagini de diferențe este afișat un simbol înaintea titlului paginii;
  • Simbolul este un pătrat de culoare roșie dacă aceasta este prima vizitare a paginii de diferențe, verde dacă nu este prima vizitare a paginii respective, sau gri dacă WikiVerifier este incapabil să determine versiunile comparate (vezi punctul nr 4 din secțiunea Limitări cunoscute mai jos);
  • Pentru spațiile de nume care încep cu "Discuție" nu se fac niciun fel de verificări sau validări, iar în dreptul modificărilor articolelor din aceste spații de nume nu apar deloc simboluri.

Pentru a începe să utilizați WikiVerifier Lite, copiați linia următoare de cod pe o linie nouă în monobook.js:

document.write("<script type=\"text/javascript\" src=\"/w/index.php?title=Utilizator:Gutza/verifier_lite.js&action=raw\"></script>");

Nu uitați să goliți cache-ul browser-ului, conform cu indicațiile din pagina monobook.js! Dacă totul funcționează corect ar trebui să începeți să vedeți pătrățele colorate pe pagina de schimbări recente. Dacă nu obțineți niciun rezultat, încercați să ștergeți temporar toate celelalte linii din monobook.js, lăsând-o numai pe cea de mai sus. Dacă nici așa nu merge, raportați problema în pagina de discuții a acestui articol.

Limitări cunoscute[modificare sursă]

Dat fiind că acesta este un prototip, o versiune-pilot, există multe limităti cunoscute în această versiune:

  1. Nu există niciun fel de funționalitate de siguranță -- orice utilizator, chiar și unul neautentificat, poate folosi codul și valida modificări;
  2. Dacă se fac modificări multiple unui articol și este verificată fiecare în parte, diferența dintre prima și ultima versiune nu este marcată ca fiind văzută în pagina de schimbări recente; invers, dacă se verifică diferența dintre prima și ultima, diferențele intermediare nu sunt marcate ca fiind văzute;
  3. Aceeași limitare se aplică și funcționalității de selectare a versiunilor de comparat în istorie, dacă se alege vizualizarea diferențelor dintre două versiuni care nu sunt succesive versus diferențele dintre versiuni succesive;
  4. Dacă în orice pagină de diferențe se apasă pe legătura "Diferența anterioară" sau "Diferența următoare", WikiVerifier nu poate afla care sunt cele două versiuni ale paginii între care se face comparația și indică aceasta prin afișarea unui pătrat gri în titlul articolului -- aceste verificări nu sunt validate de către WikiVerifier și vor apărea în continuare ca nevizitate. Motivul pentru această limitare este de ordin tehnic și ține în principal de codul MediaWiki și modul atipic în care tratează aceste diferențe.
  5. În versiunea Lite nu se ține cont de persoana care a făcut o modificare -- în mod normal ar trebui ca utilizatorii de încredere să nu aibă nevoie de verificări de rutină, însă în această versiune toate modificările sunt tratate la fel.
  6. Pentru paginile nou-create (cele care apar cu "N" pe fond roșu în pagina de schimbări recente) nu apare niciun simbol, indiferent dacă au fost verificate sau nu.
  7. Performanță: dacă se afișează un număr mare de legături ce duc la pagini cu diferențe (de exemplu dacă se alege un număr mare de modificări pe pagina de schimbări recente), atunci e foarte probabil că va exista o întârziere din momentul în care devine vizibilă pagina de la Wikipedia și până se afișează toate pătrățelele, iar în acest interval calculatorul poate să răspundă mai încet la comenzi. Dacă problema este acută, aceasta este legată în primul rând de performanța computer-ului Dvs. și este de neocolit -- este chiar probabil ca în versiuni viitoare ale WikiVerifier problema să se agraveze marginal. Dacă sistemul răspunde bine la comenzi dar durează până când sunt afișate pătrățelele atunci problema este cauzată în principal de performanțele server-ului care trimite imaginile cu pătrățelele, și este probabil că se va ameliora marginal în versiuni viitoare ale WikiVerifier.
N.B.: la anumite ore (și în special între 00:00 și 00:30 ora României) serverul care trimite imaginile cu simboluri este "ocupat" cu activități administrative automate. În plus, este posibil ca în orele de lucru din zilele lucrătoare server-ul respectiv să fie exploatat intensiv pentru alte scopuri. Ca atare, în anumite intervale orare pătrățelele apar în mod inevitabil cu întârzieri semnificative, independent de performanțele sistemului Dvs.

Detalii tehnice[modificare sursă]

Versiunea Lite este formată din trei componente executabile și un fișier de date:

Script JavaScript (client-side)
Script-ul Utilizator:Gutza/verifier_lite.js se execută la vizitarea fiecărei pagini, datorită faptului că este inclus în monobook.js (notă: este o întâmplare fericită faptul că vasta majoritate a utilizatorilor folosește skin-ul MonoBook -- altfel indicațiile de instalare ar fi semnificativ mai complicate). Acest script identifică două situații distincte: ori (1) ne uităm la o pagină cu diferențele dintre două versiuni ale unei pagini, ori (2) ne aflăm pe pagina de schimbări recente, pagini urmărite sau pagina de istorie a unui articol. În cazul (1), script-ul client-side introduce o singură imagine în pagină, în cadrul primului tag HTML <h4> înâlnit, iar prin asta apelează script-ul server-side de validare. În cazul (2), script-ul client-side introduce câte o imagine înaintea fiecărei legături din pagină ce satisface simultan următoarele condiții: conține cuvântul "diff"; nu conține "diff=0"; nu conține "title=Discuție" -- și în acest fel apelează script-ul server-side de verificare.
Script PHP de validare (server-side)
Acest script se află pe un server independent de Wikipedia; script-ul primește via HTTP GET de la script-ul JavaScript parametrii asociați diferenței pe care o vizitează utilizatorul în cazul (1) de mai sus și scrie acești parametri în fișierul de date de pe server; ca și răspuns, script-ul de validare trimite înapoi chiar simbolul care trebuie afișat (pătratul verde, roșu sau gri);
Script PHP de verificare (server-side)
Acest script se află pe același server ca și script-ul de validare; și acest script primește tot via HTTP GET de la script-ul JavaScript parametrii asociați diferenței pentru care se dorește starea de validare curentă și le caută în fișierul de date. Ca și răspuns, și acest script trimite tot simbolul asociat stării curente a articolului: un pătrățel verde dacă a găsit datele în fișierul de date parametrii primiți de la scriptul JavaScript, sau roșu dacă nu le-a găsit.
Fișier de date (server-side)
Acest fișier se află pe același server ca și cele două script-uri PHP de mai sus; este un fișier plain-text în care se scrie pentru fiecare validare câte o linie nouă ce conține chiar partea de GET din URL-urile paginilor de diferențe. În cazul verificărilor se folosește pur și simplu "grep -m 1" pentru a verifica dacă diferența respectivă a fost deja validată sau nu.

Aceasta este lista de sugestii primite de la utilizatorii versiunii Lite (doar cele care nu au fost implementate și nu au fost menționate explicit ca limitări mai sus). Sugestiile sunt numerotate pentru a se putea face referiri la ele în pagina de discuții a acestui articol -- dacă editați această pagină vă rog nu ștergeți sugestii și nu inserați sugestii noi decât la sfârșitul listei, pentru a nu altera numerotarea.

  1. Pătrățelele unei pagini ar trebui să se înverzească toate și numai la simpla accesare a istoricului paginii (AdiJapan)
    Personal nu cred că este o idee bună din motive de securitate, însă sunt deschis la discuție. Nu uitați că în versiunea Beta veți putea valida modificări multiple comparând versiuni care nu sunt succesive -- în acest fel se pot valida întreaga istorie a unui articol, dacă se dorește asta explicit.
  2. Atunci cînd afișez un dif apare pătrățel roșu la titlul paginii. N-ar trebui să fie verde? Că tocmai mă uit la dif. De fapt nu știu dacă e nevoie de acel pătrățel. (AdiJapan)
    Logica pentru care apare roșu și nu verde este că nu a văzut nimeni acea diferență în afară de utilizatorul curent. Personal, mi se pare rezonabilă logica alegerii culorilor respective -- altfel pătrățelul ar fi invariabil verde, ceea ce ar fi dus la concluzia trasă de AdiJapan ("nu știu dacă e nevoie de el"). Din punct de vedere tehnic este nevoie să afișez ceva acolo -- însă, din punct de vedere tehnic, ar fi putut să fie un element invizibil, așa că aș fi fost deschis la discuții, deși nu văd cu ar putea deranja un pătrățel, oricare-ar fi culoarea lui. Dar după ce am folosit o vreme WikiVerifier am ajuns la concluzia că de fapt e foarte util exact așa cum e: pătrățelele mici nu-și schimbă culoarea dinamic indiferent cât te uiți la pagina de schimbări recente -- dacă verifici multe articole deschizând pagina de diferențe în ferestre noi, ajungi să rămâi cu o versiune destul de veche a paginii de schimbări recente. Ei bine, atunci când altcineva deja a verificat (sau măcar a început să verifice) o dantelărie de modificări la un articol, aș vrea să știu asta în loc să-i duplic munca. Și invers, vreau să știu că dacă îmi apare un pătrat roșu lângă titlul articolului, atunci asta chiar este în mod garantat o modificare "virgină", la care nu s-a mai uitat nimeni, și-mi asum responsabilitatea pentru verificarea ei!
  3. Aș propune totuși o bulină, și mai mică decât actualul pătrățel. Nu de alta dar e destul de supărător la ochi, în forma prezentă. (Alex:D)
    Alex:D are în mod cert dreptate -- pătrățelele sunt mari. Însă intenția mea nu a fost ca ele să nu fie deranjante, ci dimpotrivă, să atragă atenția: "Uită-te la mine! Eu sunt o modificare neverificată!" Deocamdată înclin să le păstrez așa mari cum sunt (deși din punct de vedere tehnic este trivial să le micșorez), însă sunt complet deschis la discuții. În versiunea Beta acest aspect va fi configurabil.
  4. Ai putea ca în loc de cele grafice să pui caracterul bulinei de la listele din Wikipedia (firește, colorat după caz)? (Alex:D)
    Nu, din motive tehnice (de fapt e posibil, dar e nejustificat de dificil). Poza în sine este servită de server-ul meu, nu de server-ul Wikipedia. Tocmai asta e modalitatea prin care server-ul meu "știe" dacă o pagină a fost văzută sau nu, și respectiv decide ce poză anume să arate (verde sau roșie). Ar fi complicat să schimb paradigma asta, ca viteză ar fi același lucru, iar câștigul ar fi după mine minor.
  5. O sugestie pentru mai târziu: aș putea să înroșesc la loc pătrățelul? Ar fi util asta dacă m-am uitat pe o pagină, am văzut că nu e chiar vandalism/teste, dar nu mai am timp să corectez modificarea așa cum ar trebui și vreau să o marchez la loc ca "neverificată" ca să se mai uite și altcineva peste ea. (Răzvan Socol)
    Foarte bună sugestia, și eu am simțit nevoia pentru funcționalitatea asta și în timp sunt convins că și alți utilizatori o vor dori.
  6. Poți să afli cine a înverzit "un pătrățel"? (Răzvan Socol)
    Da, în versiunea Beta și următoarele, dat fiind că va exista un mecanism de autentificare, vom putea ști. Asta aduce non-repudiation și este un element necesar în orice sistem securizat ("who done it?"). Sigur, asta e în detrimentul intimității, însă suntem destul de obișnuiți cu conceptul dat fiind că toate editările din Wikipedia sunt făcute "sub semnătură".
  7. Oare merită să ne gândim la validare multiplă pe termen mediu? De exemplu să nu fie suficientă o singură validare, ci două, înainte ca diferența să apară ca fiind validată? (Gutza)
    Comentariu de la Laurap: Dacă în versiunea Beta putem ști cine a validat diferența și în caz că "nu sînt sigur" putem înroși pătrățelul atunci de ce să mai avem [...] o dublă validare? Înclin să-i dau dreptate și am să las sugestia asta ca prioritate foarte mică și doar dacă decidem că are sens.
  8. Făcând diverse teste cu diverse versiuni ale codului (unele evident non-publice), am realizat că ar putea fi util ca utilizatorii WikiVerifier să poată ști dacă ei înșiși au validat o anumită diferență sau nu. Atât propunerea asta cât și cea anterioară se pot formaliza folosind convenții relativ la simbolul afișat (de exemplu întunecând roșul diferențelor neverificate după prima verificare și respectiv adăugând un colț verde pentru modificările validate de mine). Ce ziceți? (Gutza)
  9. Mă gândeam dacă cele 2 culori verde și roșu nu ar putea fi schimbate, să fie verde și galben sau altceva foarte diferit de verde și care să sară imediat în ochi. (Roamata)
    Bună sugestia, am să fac și culorile configurabile în versiunea Beta (pe lângă mărimea pătrățelelor, vezi sugestia nr 3 mai sus).