Page MenuHomePhabricator

Midterm evaluation for "Implement Flow support in Pywikibot"
Closed, ResolvedPublic


Midterm evaluations for GSoC are coming up. All students and mentors must submit their evaluation on Melange after 26th June and before 3rd July 2015. Please note that only mentor needs to evaluate each student, not both.

If you have any concerns regarding your project/student which you do not wish to discuss on Phabricator, feel free to reach out to me or Quim directly.

Please complete the following in order to evaluate your student:

  • Mid-term goals as outlined in the project timeline are complete
  • MVP is completed and hosted on Labs/elsewhere
  • Weekly reports are up-to-date and complete
  • The student is in regular touch with mentors

Additional comments:

Evaluation: Pass

Event Timeline

Niharika assigned this task to jayvdb.
Niharika raised the priority of this task from to Medium.
Niharika updated the task description. (Show Details)
jayvdb set Security to None.
jayvdb added a project: Pywikibot-Flow.
jayvdb moved this task from Backlog to GSoC on the Pywikibot-Flow board.

@jayvdb, waiting for your edit to resolve this task.

Regarding "MVP is completed and hosted on Labs/elsewhere", the mentors agree that the code hosted on Gerrit is sufficient for this mid-term evaluation. It isnt quite a completed MVP as agreed upon, but it is good working code that achieves a large part of the final objective, and it has been held back while other work is ongoing, and more tests need to be written before it can be +2'd.

GSoC's mid-term evaluation deadline was last Friday. I hope that one was completed on time. :)

A more detailed mid-term report written by the mentors:

As Alex applied quite late in the process, and was accepted largely on the basis of prior work in other Wikimedia projects, he had only a first attempt at a micro task for this project, which grew in complexity due to some unforeseen backwards compatibility issues.

The first task of familiarisation consisted primarily of constructing a class diagram for the eventual solution, which required gaining an understanding of both Flow and Pywikibot. This was undertaken enthusiastically and with attention to detail.

Once the class diagram was accepted, requiring consensus with each of the mentors, one from Pywikibot and one from Flow, several revisions were made to the defined MVP to reduce the chance of Alex walking into minefields and not being supported by either of the development communities he needs to interface with. The class diagram has also been refined over time to be specific with respect to what is being currently worked on.

Alex rewrote his initial microtask to work around the backwards compatibility issue, has implemented the underlying plumbing for using Flow in Pywikibot with unit tests providing good coverage, and the first of two components has been merged. In the process, he also developed a small new component, and that has also been merged.

At the midway point, the code written is capable of loading Flow objects in Pywikibot. Only one patch is held up in review phase while the Pywikibot developers make some decisions regarding inherited methods which are not easily adapted to these new Flow subclasses. Alex is showing good aptitude with change control tools and code review processes, including jabbing code reviews to extract actionable guidance on the next step to push his patches forward.

At the last meeting the mentors and Alex agreed he would switch to working on some PHP Flow tasks to gain some exposure to the server side of this project, both the technology and the development community and their standards. This will help the project advance, as some changes to Flow proper need to be made to meet Pywikibot’s needs. He’s written a small patch to begin familiarizing himself with the MW API system, which has been merged.

As a consequence, Alex does not have a MVP completed, as the Pywikibot code does not yet write new posts, however he is ahead of expectations with many unit tests already in place, and progress has been smooth with delays caused by reviewers rather than Alex.