Wikipedia:WikiVerifier Beta

Logo WikiVerifier Beta

WikiVerifier Beta este a doua 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. Prima versiune a codului a fost WikiVerifier Lite, iar în final se va ajunge la versiunea de producție, WikiVerifier.

WikiVerifier Beta este în faza de utilizare curentă. Pentru noutăți vedeți Wikipedia:WikiVerifier Beta/Noutăți.

WikiVerifier Beta este o versiune intermediară, care prezintă următoarele caracteristici:

  • 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 utilizator autorizat
    • care are WikiVerifier Beta instalat,
    • este autentificat la momentul în care vede diferența și
    • nu alege să-și invalideze vizita;
  • La vizitarea unei pagini de diferențe este afișat un simbol înaintea titlului paginii; pentru detalii vezi legenda;
  • 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.


Utilizare

modificare

Pentru a putea utiliza WikiVerifier Beta trebuie să urmați trei pași, în această ordine:

  1. Deveniți autorizat(ă);
  2. Instalați codul;
  3. autentificați.

Acești pași sunt detaliați în secțiunile care urmează.

Autorizare

modificare

Înainte de a începe să folosiți WikiVerifier Beta, trebuie să fiți autorizat(ă) de către unul din birocrații WikiVerifier. Acest proces se desfășoară la Wikipedia:WikiVerifier Beta/Cereri.

Note importante:

  • Pentru a putea primi parola de autorizare pentru WikiVerifier este necesar să aveți o adresă validă de e-mail asociată contului de pe Wikipedia.
  • Nu are rost să urmați pașii următori până nu obțineți autorizarea de utilizare a WikiVerifier.

Instalare

modificare

Odată autorizat, instalați-vă WikiVerifier Beta copiind 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_beta.js&action=raw\"></script>");

Dacă aveți deja WikiVerifier Lite instalat, înlocuiți linia asociată versiunii Lite din monobook.js cu linia de mai sus.

Indiferent dacă instalați versiunea Beta de la zero sau faceți upgrade de la Lite, 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 simboluri cu lacăte 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.

Notă pentru utilizatorii de Internet Explorer: înainte de a continua, trebuie să treceți prin pașii următori:

  1. Din menu, apăsați pe Tools -> Internet Options -> Privacy
  2. Apăsați pe butonul "Sites" din secțiunea "Settings"
  3. Scrieți "stancescu.ro" in caseta "Address of Web Site"
  4. Apăsați "Allow" în dreapa
  5. Apăsați "OK" jos
  6. Ieșiți din dialogul rămas apăsând "OK"
  7. Închideți sesiunea Wikipedia și autentificați-vă din nou pentru ca modificarea să-și facă efectul.

Autentificare

modificare

După ce ați urmat cei doi pași de mai sus, veți vedea pe orice pagină Wikipedia o legătură cu titlul "wikiverifier" în colțul din dreapta-sus, înainte de "închide sesiunea". Pentru a vă autentifica, apăsați pe legătura "wikiverifier" și introduceți-vă numele de utilizator de la Wikipedia și parola care v-a fost trimisă la momentul autorizării. Odată ce intrați în sistem, vi se cere să vă schimbați parola inițială -- urmați și acest pas acum din motive de securitate (din punct de vedere al funcționalității sistemului acest pas nu este neapărat necesar, însă parola inițială v-a fost trimisă printr-un mesaj e-mail nesecurizat).

Invalidare

modificare

În versiunea Beta, este posibil să invalidați o diferență pe care ați văzut-o.

În mod implicit, prin vizualizarea diferenței dintre două versiuni ale unui articol se consideră că ați validat acea diferență. Totuși uneori se întâmplă să vedeți diferențele dintre două versiuni și totuși, din cauză că nu sunteți familiarizat(ă) cu subiectul, să nu vă puteți da seama dacă modificarea respectivă este validă. În acest caz, apăsați pe simbolul WikiVerifier (cel afișat înaintea titlului articolului), iar validarea implicită va fi anulată. Simbolul se va transforma în funcție de starea de validare a diferenței și în funcție de numărul de utilizatori WikiVerifier care au validat deja diferența respectivă -- pentru detalii, vedeți legenda.

Notă: este foarte important să invalidați diferențele pe care nu sunteți în măsură să le validați explicit, indiferent dacă acestea au fost sau nu validate de către alt utilizator în prealabil!

Non-repudiere

modificare

În versiunea Beta, validările sunt verificabile.

Dacă doriți să aflați cine anume a validat o modificare, apăsați pe simbolul aferent acelei modificări în orice pagină de istoric sau schimbări recente.

Legendă

modificare

Legenda simbolurilor este disponibilă utilizatorilor scriptului la legătura "Legend" din pagina WikiVerifier.

Limitări cunoscute

modificare

Dat fiind că aceasta este o versiune intermediară există unele limitări cunoscute:

  1. 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;
  2. 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;
  3. 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.
    NOU (14 iunie 2007 00:35 (EEST)) -- dacă diferența respectivă a mai fost "văzută" de WikiVerifier în pagina de istorie sau în pagina de schimbări recente, aceasta este acum recunoscută și validată corect. Acest model funcționează în marea majoritate a verificărilor curente, însă există în continuare situații în care WikiVerifier nu poate recunoaște diferența și afișează pătratul gri.
  4. 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.
  5. 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.
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

Versiunea Beta este formată din patru componente executabile, o bază de date și un număr de fișier executabile pentru afișarea interfeței:

Script JavaScript (client-side)
Script-ul Utilizator:Gutza/verifier_beta.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 baza de date de pe server; ca și răspuns, script-ul de validare trimite înapoi chiar simbolul care trebuie afișat;
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 baza 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.
Script PHP de invalidare (server-side)
Aflat pe același server ca și celelalte script-uri server-side, acesta conține logica de invalidare a vizionării unei pagini de diferențe. Script-ul este activat apăsând pe simbolul din pagina de diferențe, prin faptul că simbolul respectiv este cerut din nou server-ului de la alt URL decât cel inițial. În funcție de validarea de către alți utilizatori, acest script servește un simbol sau altul; tot el înregistrează invalidarea acestei diferențe din punctul de vedere al utilizatorului curent în baza de date.
Bază de date (server-side)
Baza de date interogată pentru verificări și modificată la validări și respectiv invalidări.

Sugestii

modificare

Aceasta este lista de sugestii primite de la utilizatorii WikiVerifier (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. 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.
  2. 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. Asta se poate formaliza folosind convenții relativ la simbolul afișat în pagina de diferențe. Ce ziceți? (Gutza)
  3. 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 finală (pe lângă mărimea pătrățelelor, vezi sugestia nr. 1 mai sus).
  4. Ar fi interesant ca scriptul care generează imaginile să fie inlocuit cu unul care generează întregul tag img. În felul acesta s-ar putea introduce un atribut title care să explice și ce înseamnă poza, ca să nu mai trebuiască să stai cu legenda în față. Știu că nu prea există o metodă "curată" pentru a face așa ceva, dar... (Strainu)
    S-ar putea face cu AJAX, dar e complicat și nu cred că merită -- după două-trei zile oricum înveți iconițele fără probleme. (Gutza)
  5. Nu înțeleg de ce după 14 iunie nu se tratează corect toate diferențele "anterioare", chiar și cele pe care nu le-a mai văzut. Din ce am văzut în cod, ai și diff și oldid pentru fiecare pagină (diff e de fapt newid, îl poți obține din linkul pentru diferența următoare), ce-ți mai trebuie ca să determini dacă modificarea a fost văzută sau nu? (Strainu)
    Nu înțeleg referirea la 14 iunie. Depinde la ce pagini te referi -- în unele s-ar putea într-adevăr determina oldid și newid (mă refer la paginile în care afișezi diferența), însă în altele chiar nu se poate (de pildă în paginile de contribuții ale unui utilizator). Dacă te refereai în mod specific la paginile de diff-uri, da, am realizat și eu că se poate extrage newid și oldid din link-urile din partea de sus a paginii, însă nu am găsit un mod "curat" de a face asta și n-am mai avut timp de trial and error. Însă JavaScript-ul este vizibil, simte-te liber să-l editezi -- dacă trimiți id-urile corecte, codul de pe server va returna iconița corectă. (Gutza)
  6. Dacă este posibil, pune serverul să facă operațiunile administrative între 3 și 4, în perioada aceea este solicitarea cea mai scăzută pe Wikipedia în mod normal. Nu degeaba atunci se schimbă ora. (Strainu)
    E bună ideea, însă nu știu pe dinafară dacă nu există repercusiuni și realmente nu am timp să experimentez în perioada asta. (Gutza)
  7. O opțiune pentru marcarea vandalilor sau a utilizatorilor ale căror modificări necesită atenție, iar atunci când apeși pe „Modificare neverificată” să te ducă mai întâi la aceste editări. (Firilacroco)

În această secțiune este prezentat planul de evoluție al WikiVerifier.

Modificare Descrierea modifcării Status Target release
Autentificare Utilizatorii WikiVerifier trebuie la rândul lor să fie verificați și să se autentifice pentru a utiliza sistemul. Done Beta
Administrarea utilizatorilor Trebuie să avem mai mulți "birocrați" și pentru WikiVerifier, deci trebuie să existe o interfață și pentru administrarea utilizatorilor (nu prevăzusem asta inițial, însă a devenit evident că e necesară) Done Beta
Fișier de date -> bază de date Datele trebuie ținute intern într-o bază de date, nu într-un fișier. Asta va duce la îmbunătățirea performanței și la creșterea flexibilității codului. Done Beta
Invalidarea diferenței Vezi sugestia nr. 5 din secțiunea Sugestii a versiunii Lite Done Beta
Non-repudiere Vezi sugestia nr. 6 din secțiunea Sugestii a versiunii Lite Done Beta
Sistem de preferințe Implementarea sistemului de preferințe pentru alegerea mărimii și culorii pătrățelelor Planned Final
Agregarea diferențelor Vezi limitarea nr. 2 și 3 din secțiunea Limitări cunoscute a versiunii Lite Planned Final
Validarea articolelor noi Vezi limitarea nr. 6 din secțiunea Limitări cunoscute a versiunii Lite Planned Final
To be continued...