Page MenuHomePhabricator

GSoC Proposal[2017]: Improvements to ProofreadPage Extension and Wikisource
Closed, ResolvedPublic


Student Profile

Name: Amrit Sreekumar
IRC: amrits
Github: GitHub-Amrit
Gerrit: Gerrit-Amrit
Time zone: UTC +5:30(IST- India)
Location: Kerala, India
Typical working hours: Weekdays 5PM-11PM, Weekends : 10AM-10PM

Improvements to ProofreadPage Extension and Wikisource


This project aims in the improvement and enhancement of the ProofreadPage Extension and Wikisource, through important bug fixes that are left as backlog and implementation of significant features that would make it more user-friendly. This will be done, so that the extension and Wikisource become easier to use and so that they are raised to the contemporary Mediawiki standards.

Mentor: Yann Forget

Deliverables and Core Objectives

1.Enhancement of ProofReadPage extension and Wikisource

  • Creation of an auto-validation for specific user-groups: At present, there is no option for specific user groups who are related to or have good knowledge about the transcriptions to validate it when they are uploaded to proofread. Here the implementation of the auto-validation feature will solve the problem.
  • Load a higher resolution scan image when zooming in: In the Page: pages editing interface, when the user is zooming in, loading a higher resolution image would make the texts of scans far clearer and hence easier to read. This will be done as a part of enhancement ProofReadPage extension.

2. Updating and upgrading to OOJS

  • Converting the zoom feature to OOjs: The zoom feature in ProofReadPage is currently using a jQuery UI widget, this will be migrated to OOjs so as to improve the code quality and reduce the bloat by choosing specific libraries.
  • Converting Index: Pages editing form to OOjs: This conversion will increase the code quality and match the current standards of MediaWiki.

3. Addition of features to Wikisource that would make it more user-friendly

  • Implementing page transclusion into the VisualEditor: One of the most difficult task in Wikisource is Transclusion, especially for non-computer savvy people. Hence this process will be integrated as a feature to the VisualEditor with a better UI.
  • Creating DjVu files with IA-Upload: The implementation of this feature that would allow the direct production of DjVu files through an IA-Upload. Hence making it easier and more reliable.


Deliverable-1: Enhancement of ProofReadPage extension and Wikisource

  • To give the admin a privilege to involve specific user-groups who could validate the transcriptions, that have been uploaded to proof-read. This specific feature will be implemented in such a way that the admin could bring in any number of users to validate his own work. The present implementation does not allow this feature, and the users who may not be related to this need to pulled for validating the same.
  • Then the code in Page: pages editing interface will be changed in a way so as to accommodate a higher resolution image that could be scanned in so that the user could see it much clearer when zoomed in. At present this feature is not implemented and hence some text may appear hard to read when scanned in.

Deliverable-2: Updating and upgrading to OOjs

  • The Index: Pages editing form will be coded into OOjs UI, according to the Mediawiki code quality standards. This will involve an overall change from the currently implemented code to OOjs UI.
  • The ProofreadPage zoom feature will be migrated from the existing jQuery UI widget to OOjs.

Deliverable-3: Addition of features to Wikisource that would make it more user-friendly

  • Create a User Interface in VisualEditor and add the feature for transclusion into it, so that users can directly transclude documents with a click of a button, making it easier and much more reliable than previously how it was. This will be a jump from the existing process of transclusion, that is tedious for a certain non-computer savvy section of users.
  • To replace the 2-step procedure for importing DjVu files used in Wikisource to commons, and make it possible for IA-Upload to directly produce DjVu files. This would make it easier and more reliable as it will not involve the 2-step process going through Internet Archive and then uploading the file that is currently implemented.


Tasks to be completed Timeline
Community bonding period:Understand the code and learn to work with the ProofReadPage extension and Wikisource. Learn to work with OOjs for the implementation of features and conversion of Index: Pages editing form.May 5th to May 29th, 2017
Complete the first task listed in Deliverable-1: to create the auto privilege feature for different users to validate transcriptions.May 31st to June 14th, 2017
Updating the code in Page: pages editing interface, so as to accommodate a higher resolution image (Task-2 in Deliverable-1)June 15th to June 25th, 2017
Phase-1 evaluationJune 26th 2017
Migrating the zoom feature mentioned in Deliverable-2 to OOjs.June 27th to July 10th 2017
Converting Index: Pages editing form to OOjs, testing and documentation of the code.July 11th 2017 to July 27th, 2017
Phase-2 evaluationJuly 28th, 2017
Create the design for the feature the VisualEditor UI, mentioned in Deliverable-3 and add it to the same.July 29th to August 7th, 2017
Integrate the feature for transclusion to the VisualEditor after developing it. Test and document the feature.August 8th to August 15th, 2017
Implementation of feature that allows to Create DjVu files with Internet Archive UploadAugust 16th to August 23rd, 2017
Final tests, bug fixes and documentations.August 24th to August 28th, 2017
Final submission August 29th, 2017

About me

I am Computer Science undergrad from Amrita School of Engineering, India in which I am a part of an intra-college FOSS initiative called FOSS@Amrita. I have been working and contributing to MediaWiki for the past couple of months, starting off with fixing bugs in different areas that include different extensions and skins for that matter, which could be found at Gerrit-Amrit. It all started with a hackathon conducted by The Wikimedia Foundation at our college from which I first dealt with the code-base of MediaWiki. This has provided me the platform to develop my coding skills, which helped me develop some small but useful things and help out others who are enthusiastic about programming.

My aim is to keep contributing to OSS, become a better coder and dedicate my time to help others coming up in the field, just like how I was helped and mentored by many as a newbie.

Skills Possessed

Web Development: PHP, HTML, JavaScript, MySQL
Operating Systems : Linux, Windows
Version Control System: Git, Gerrit
Frameworks: Bootstrap

Event Timeline

Just a reminder that today is the last day to submit the final version on

As mentors will soon be reviewing applications, if your proposal is complete, move it to the submitted column. Thanks!