Grants:Project/Rapid/Enhance the ProveIt gadget, part 2/Report

From Meta, a Wikimedia project coordination wiki
Report accepted
This report for a Rapid Grant approved in FY 2019-20 has been reviewed and accepted by the Wikimedia Foundation.
  • To read the approved grant submission describing the plan for this project, please visit Grants:Project/Rapid/Enhance the ProveIt gadget, part 2.
  • You may still comment on this report on its discussion page, or visit the discussion page to read the discussion about this report.
  • You are welcome to Email rapidgrants at wikimedia dot org at any time if you have questions or concerns about this report.


Did you meet your goals? Are you happy with how the project went?

I met most of the proposed goals, and also a few others that weren't in the original proposal (see the last section). Overall, I'm very happy with the results!


Please report on your original project targets.

Target outcome Achieved outcome Explanation
Make the gadget work with the new wikitext editor Done This was the main goal of the project. I spent the first month working on this, since it required deep architectural changes.
Make the gadget work with the visual editor Not done Half-way through, I realized this task didn't make much sense, since the visual editor, unlike the new wikitext editor, already has a friendly visual interface to add and edit references. Adding support for the visual editor would bring too little benefit in comparison to the new room for bugs and maintenance requirements.
Make the gadget work when viewing pages, not just when editing Not done The main reason for not doing this was that I realized it would require requests to Wikimedia Commons for each and every page view by the gadget users, and considering that they are usually heavy Wikipedia users, it would mean countless extra and generally useless requests to Wikimedia Commons (which would be a load to the server and an annoyance to the users) for very little benefit.
Make the gadget work for Bibliography sections, not just references Done This required a second round of deep arquitectural changes.
Develop a bot or some other automated solution for keeping the translations updated Done After considering several options and consulting more experienced Wikimedia developers via IRC, I found a way to get the localized messages directly from the Gerrit repo, which ensures they are available to users as soon as they are merged to the repo. Useful details and links on the learning pattern.
Spread the gadget to as many new Wikipedias as possible Done The latest version of the gadget is now enabled on 40 wikis. Furthermore, enabling the gadget on new wikis is now easier than ever, as explained here.
Fix as many bug reports as possible Done Many bugs were fixed. Some were reported by users, others were found by me while developing. Some of the details are available from the Phabricator project, others from the talk page in the English Wikipedia and others from the Gerrit history.
Implement as many feature requests as possible Done Many feature requests were implemented. Some were requested by users, others were my ideas (see the last section). Some of the details are available from the Phabricator project, others from the talk page in the English Wikipedia and others from the Gerrit history.


Projects do not always go according to plan. Sharing what you learned can help you and others plan similar projects in the future. Help the movement learn from your experience by answering the following questions:

  • What worked well?
  • What did not work so well?
  • What would you do differently next time?

I should have meditated deeper about the need to integrate with the visual editor, since I wasted a lot of development time until I realized it was mostly useless.

Also see the learning pattern for the lessons learned from this grant and my previous grant.


Grant funds spent[edit]

Please describe how much grant money you spent for approved expenses, and tell us what you spent it on.

All the money was for paying my time as a developer, like so:

Tasks Time spent Funds spent
Make the gadget work with the new wikitext editor July 14 - August 14 (1 month) USD 660
Develop an automated solution for keeping the translations updated, fix bug reports and implement requested features August 14 - September 14 (1 month) USD 660
Make the gadget work for Bibliography sections, spread the gadget to new wikis and implement various new features September 14 - October 15 (1 month) USD 680
Totals July 14 - October 15 (3 months) USD 2000

Remaining funds[edit]

Do you have any remaining grant funds?

There're no remaining grant funds.

Anything else[edit]

Anything else you want to share about your project?

Besides the proposed project goals, the salient new features (in no particular order) are:

  • Interface is now smarter and cleaner
  • Basic support for RTL languages
  • Much better handling of citation templates with no template data
  • Detection of citation template aliases
  • Fields of "page" type now autocomplete as the user types
  • Button to "Normalize all references"
  • Support for "group" attribute of reference tags
  • Automatic generation of reference names when needed
  • Minimize requests to Wikimedia servers by only loading the gadget when the user clicks on the gadget icon
  • Initialization script much simpler and easier for wiki admins
  • Code much more readable, modular and commented
  • Gerrit repo now has lint and CI enabled, so Jenkins-bot automatically verifies the syntax and publishes the code as soon as some user code-reviews it
  • Updated and improved the central gadget documentation on Commons, including the freaking awesome tracking table!