rosedu / challenge

ROSEdu Challenge
http://challenge.rosedu.org
MIT License
3 stars 12 forks source link

Wikimedia Challenge #84

Open maria opened 7 years ago

maria commented 7 years ago

Need

Add support to host Wikimedia Challenge on the platform.

Deliverables

maria commented 7 years ago

@strainu Cum putem accesa api-ul din gerrit-ul Wikimedia?

By default Gerrit uses HTTP digest authentication with the HTTP password from the user’s account settings page. HTTP basic authentication is used if auth.gitBasicAuth is set to true in the Gerrit configuration. - can we get a token?

strainu commented 7 years ago

Am trimis un email ce detaliază ideile mele și câteva întrebări: https://lists.wikimedia.org/pipermail/wikitech-l/2016-October/086826.html

Sper ca pe baza lui să primim peste weekend sugestii mai bune.

strainu commented 7 years ago

DISCLAIMER: n-am lucrat nicodată cu node.js, tot ce zic mai jos se bazează pe experiența mea în citit cod, deci s-ar putea să fie plin de prostii. Use with caution!

  1. Procesul de autentificare în Gerrit a descris în acest mail: https://lists.wikimedia.org/pipermail/wikitech-l/2016-October/086834.html
  2. Pentru a putea accesa la rândul nostru autentificarea trebuie să cerem un consumator la https://wikitech.wikimedia.org/wiki/Special:OAuthConsumerRegistration/propose (necesită autentificare). Sunt câteva câmpuri pe care nu știu să le completez:

    • OAuth "callback" URL
    • Types of grants being requested , cu opțiunile de mai jos. Cred că a doua opțiune e cea mai bună, dar s-ar putea să nu avem acces din motive de privacy; am trimis un email să confirm
      • Authentication only, no API access.
      • Authentication only with access to real name and email address via Special:OAuth/identify, no API access.
      • Request authorization for specific permissions.
    • Usage restrictions (JSON) - aici pare că se introduc adresele IP de unde poate fi folosită aplicația
    • Public RSA key

    @maria, te poți ocupa tu de a cere aceste drepturi luni? Am logat #86 pentru asta dar nu pot să-l asignez.

  3. Pentru autentificare putem folosi https://github.com/wikimedia/passport-mediawiki - înțeleg că passport folosiți și voi
  4. Mai departe lucrurile devin un pic fuzzy. Nu mi-e clar dacă în acest moment putem avea autentificare diferită per challenge. Dacă nu, cum ne asigurăm că utilizatorii se autentifică cu wikitech, nu github?
  5. Odată ce avem userul, trebuie scris codul pentru retrieving reviews de pe gerrit.
    • Identificarea se va face probabil după username
    • din câte văd nu este nevoie de autentificare pe gerrit - majoritatea reviewurilor sunt publice și pot fi obținute anonim.
    • Ce nu mi-e clar aici e când se actualizează/încarcă un review. Îl menționează userul? Cum? E luat automat? Ce se întâmplă dacă e luat la un moment dat, apoi starea lui se schimbă?
strainu commented 7 years ago

Accesul la query-uri poate fi făcut anonim: https://gerrit.wikimedia.org/r/accounts/Gerrit+Patch+Uploader https://gerrit.wikimedia.org/r/changes/?q=owner:%22Gerrit+Patch+Uploader%22

Cu astea 2 avem toate informațiile necesare punctării în varianta actuală (trebuie ignorate cele abandoned). Dacă mai vrem informații suplimentare, mai avem unul de făcut: https://gerrit.wikimedia.org/r/changes/mediawiki%2Fcore~master~Iac8d4e6adc4dc93a3da645485f18770fcd2b3872/detail

maria commented 7 years ago

@mariuscoto poti sa ne ajuti cu https://github.com/rosedu/challenge/issues/84#issuecomment-255467272 2?