User:Kunalgrover05/Progress Report

From mediawiki.org

Community bonding period[edit]

Tasks done[edit]

  • Set up development environment for Mediawiki using LAMP server
  • Explored various features in Core and Translate extension
  • Gone through documentation for Translate extension
  • Setup a Debug environment using PHPStorm and XDebug for understanding the existing code and also explored various debugging modes supported by Mediawiki
  • Understanding the usage of Hooks
  • Went through the PageLanguage extension's code for some idea regarding the Language selector

Communication Plan[edit]

Currently, I have been updating my mentors about the current tasks primarily using emails and sometimes using IRC or GTalk. Looking forward to increase the communication frequency and give more regular updates regarding the same. Planning to make a git repository to commit all codes before actually committing it for review using Gerrit. Also, will put regular Wikitech mailing list emails at places where I need suggestions/comments.

Goals for the first half[edit]

  • Should be ready with the Page Language selection for core.
  • Solved bugs for page SpecialAggregateGroups and Optional page Language translation
  • Language bar design

Project report[edit]

Week 1 report (19 May- 25 May)[edit]

  • Discarded the idea of page_props- Aim is to build a system which is a fundamental property of the page similar to ID.
  • Understood the working of databases in core.
  • Set up a new field in the database in the pages table. Working only with MySQL currently.
  • Made a function to update the value of the page language for all the existing Wiki pages(which is currently set as the default wiki language) in the table.
  • Created a special page to change language for a page- initial idea for implementation.
  • Submitted the first patch for implementation of PageLanguageSelector
  • Added code for getting the page language using API

Week 2 report (26 May - 2 June)[edit]

  • Understood code for Special:AggregateGroups
  • Wrote API patch to change group name and description for Special:AggregateGroups
  • Made front end changes for using API for Special:AggregateGroups.
  • Fixed page language selector patch bugs for Mediawiki NS.
  • SPQRobin is working on making the language part in core less complicated, making the PageLanguage and PageViewLanguage in a single array.
  • Added logging to page language selector

Week 3 report (3 June - 9 June)[edit]

  • Rewrote Special:PageLanguage using FormSpecialPage class
  • Added support for all type of databases for page language selector.
  • Identified 4 blockers in Special:AggregateGroups- Fixed all.
  • Wrote a patch to fix API issues with the database dependent on SPQRobin's patch.
  • Finished i18n tasks for PageLanguage selector and Aggregate groups.
  • Page language selector patch 1 ready for merge.
  • Special:AggregateGroups - fixed all blockers, ready for merge.
  • Took a 3 day off- on a trip :)

Week 4 report (10 June - 16 June)[edit]

  • Started working on Optional page language selector
  • Submitted first patch- simply removes the title section for translation.
  • Need to discuss UI changes if required.
  • Finalized with changes in page language selector/ Added release notes.
  • Added patch for different DB support.
  • Working on designing UI of Translate extension with pages.

Week 5 report (17 June - 23 June)[edit]

  • Some minor changes in Optional page title selector patch
  • Some great success- got 3 patches merged, fixed 2 bugs :)
  • Finished patch for Special:AggregateGroups read-only- Merged.
  • Small changes in a patch for optional page title translation suggested by Nikerabbit.
  • Working on performance improvements in Special:AggregateGroups as suggested by Nikerabbit
  • Caching in optional page title translation- patch merged

Week 6 report (24 June - 30 June)[edit]

  • Making the page translation feature optional so that it doesn't break existing wikis.
  • Made logging for page translation optional as well.
  • Page language selector is ready, waiting for final performance review.
  • First patch for performance improvements in Special:AggregateGroups. Waiting for review.
  • Page language selector got merged :)
  • Working on improvements and testing page language selector.
  • Made API module for setting page language.

Week 7 report (1 July - 7 July )[edit]

  • Made Special:PageLanguage dependent on API
  • Built PageLanguage class as common backend for Special:PageLanguage and API
  • Improvements in Special:PageLanguage- Permissions and using a status object to return output from class
  • Started working on bug 39415.
  • Was away for 3 days.

Week 8 report (8 July - 14 July )[edit]

Week 9 report (15 July - 21 July )[edit]

  • Special:PageLanguage patch to use ULS
  • Special:PageLanguage patch to show log on page
  • Some changes in the patch for bug 39415
  • Trying to make language bar design

Week 10 report (22 July - 28 July)[edit]

  • Finished patch for moving translation units such that it doesn't call itself again and again in case of moving a translation page.
  • Finished language bar UI design
  • First language bar implementation

Week 11 report (29 July - 4 August)[edit]

  • MW style code implementation for language bar.
  • Writing unit tests for moving pages
  • Hook to implement ULS in place of language selectors
  • Tested ULS on Special:PageLanguage
  • PageLanguageChange hook for Translate extension to move source translation page to correct language

Week 12 report (5 August - 11 August )[edit]

  • WIKIMANIA starts!!!
  • Changes in patch for Move source translation page and update pages on move units.
  • Added core hook to Special:PageLanguage
  • Patch for update translation pages on delete units.
  • Working on unit tests for moving pages.
  • Finally, the aggregate groups patch got merged :) Fixed some browser dependent issues.
  • Move translation page patch merged
  • Small patch for mw.api changes merged
  • New designs for language bar by Pau Giner implemented
  • Patch for ULS hook in Special:PageLanguage

Week 13 report (12 August - 18 August )[edit]

  • Fixed ULS patch. Can be used to replace language selectors. Ready for merge
  • Tested aggregate groups performance with and without patch. Result here
  • Finished language bar code as per Pau's designs. All bugs fixed. View designs here
    • Created JS fallback.
    • Tested language bar for RTL
    • Added system messages everywhere
    • Checked design for smaller translate bar(ie when languages are only 1 or 2)
    • Fixed tooltips for all links

All tasks[edit]

In progress In progress Working on Bug 35489
The page language of translatable pages should not be fixed
Page Language- Discussion Page


Yes Done Working on
Changes in Special:Aggregate Groups
AggregateGroups- Discussion Page
Yes Done Fixed Bug 36298
Yes Done Added read only version to Special:AggregateGroups
Yes Done Working on performance improvements in Special:AggregateGroups
Yes Done Fixed Bug 34098
Optionally translatable page title when using the Translate extension
Patch 1
Patch 2


In progress In progress Started work on Bug 51533
Redesign of interface on translatable pages and language bar
Started with the design part
Discussion page
Design mockup


In progress In progress Working on Bug 39415
Yes Done Working on Bug 37297
Translated page is not updated when moving or deleting translation units
Page for this bug
https://gerrit.wikimedia.org/r/#/c/145057/