happy5214 created this task.
happy5214 added projects: Thanks, Pywikibot-core, Pywikibot-Thanks, Google-Summer-of-Code (2017).
Herald added a subscriber: Mattflaschen-WMF.
Herald added a project: Collaboration-Team-Triage.

TASK DESCRIPTION

My name is Alexander Jones, and I want to implement support in Pywikibot for the Thanks extension.

Personal info and past contributions

See T93991 for information which has not changed since my last proposal.

I am currently a fourth-year junior at the Univeristy of Texas at San Antonio (UTSA). My major is computer science, and I still have a perfect 4.0 GPA. I have earned an associate degree, also in computer science, from Northwest Vista College. Since my last participation in GSoC, I have started writing a series of competition-related packages for Python.

I was previously accepted to GSoC in 2015, where I implemented basic Flow support in Pywikibot. I have occasionally continued work on that since then, though it's been hard to get eyes on the code with Flow no longer under active development.

Why I want to work on this

I am already familiar with the Pywikibot code from my 2015 GSoC project, so I feel I would already have a leg up on this idea. I can't say I have the same passion for Thanks as I did for Flow, but it is an extension that I personally use, and I recognize the important role it plays in editor retention. Looking at the extension code, it seems much easier to work with than Flow.

Issues

Currently, bots using Pywikibot cannot send thanks to editors for edits or Flow comments. Pywikibot also has no support for doing things with thanked revisions, such as generating statistics about who has sent thanks.

Goals

My goal is to enable Pywikibot developers to work with the Thanks extension, allowing them to build bots to thank users for edits/comments and generate statistics based on the Thanks log.

During this project, I hope to:

  1. Establish working relationships with the Pywikibot and Thanks teams.
  2. Refresh my knowledge of prerequisites, including the MW API, Travis-CI and the testing framework, and the codebase and convention of Pywikibot; and learn the Thanks code and its conventions.
  3. Create an initial implementation of Thanks support in Pywikibot.
  4. Test frequently, including in live testing environments.
  5. Finish a stable implementation of Thanks support in Pywikibot.
  6. Do useful things with the new Thanks support, including generating lists of thanks and statistics pages for frequent thankers.

Time

My spring semester ends around May 9, with a possible summer class between May 30 and August 12. The fall semester starts on August 22. I will probably spend the first week or two delving into the Thanks code and refreshing my Pywikibot knowledge. By the midterm evaluation, I plan to have the code for sending thanks for normal edits and Flow commits completed, as well as at least one server-side fix done. By the final evaluation, I project that I will have points 3-5 of T129049 completed.

Detailed timeline

Before May 30Communication with Flow and Pywikibot teams; research into architectures; learning any requisite technologies; finalizing plan
May 30 - June 11Adding code for thanking normal revisions
June 12 - June 18Adding code for thanking Flow posts
June 19 - June 25Buffer/server-side work
June 26 - July 2Midterm
July 3 - July 9Writing new unit tests/documentation
July 10 - July 23Metadata-related code
July 24 - July 30Midterm
July 31 - August 6Statistics table script
August 7 - August 13Unit tests and documentation for new code
August 14 - August 20Buffer/optional server-side work
After August 22Final evaluations/start of semester

Other

  • I am only eligible for GSoC.
  • I am currently registered for 3 courses this summer, since registration at my university is extremely competitive. I certainly would take no more than 1 class if accepted to GSoC.

Microtasks

I made several commits to Pywikibot during my previous project, so I don't think a microtask for that is necessary. The only remaining Thanks microtask is assigned to the developer who attempted this project last year, so a new one might be needed.

I hope you will accept my second proposal. Thank you.


TASK DETAIL
https://phabricator.wikimedia.org/T161426

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: happy5214
Cc: pywikibot-bugs-list, jayvdb, darthbhyrava, Aklapper, Legoktm, Billghost, srishakatux, Mattflaschen-WMF, happy5214, Magul, Tbscho, MayS, Mdupont, JJMC89, Avicennasis, Sn1per, Mvolz, Dalba, fbstj, Catrope, Masti, Alchimista, Rxy
_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to