Extension:Translate/Mass migration tools/Project updates

Project title: Tools for mass migration of legacy translated wiki content

Pre-Community Bonding Period

 * Read the existing documentation related to Translate extension


 * Prepared pages for translation and imported them manually
 * Went through the coding conventions for the language selected - JavaScript
 * Set up the coding environment - editor, gerrit ssh keys, etc. Ready to submit patches

Goals for first half
As mentioned in the project schedule, the first half of the project aims to accomplish the following goals -
 * Coding of the confirmation and publishing screens related to Step 2 (importing translations), with basic initial import of old text is to be done by May 28
 * Once the initial import is done, enhancement bugs would be filed and fixed in the next few days until June 7
 * Desiging and coding of the algorithm for step 1 (preparing page for translation) would be done by June 23

Communication plan

 * IRC has been used so far for daily communication and mails when the mentors were not available
 * It has been decided to have daily meetings except on Sunday's at #mediawiki-i18n from 13.45 UTC to 14.00 UTC

Lessons learnt

 * Not to get stuck on a particular task and keep things simple for the first version
 * Strict use of Gerrit for code review
 * Second part of the project is more important and shall be done first

April 22 to May 5

 * Documented the requirements for the project
 * Designed an algorithm for aligning the translations
 * Wrote a script to fetch the source translations and align the section headers

May 6 to May 18

 * As per the meetings held, it has been decided that step 2 be done before step 1
 * The second step would be seen as a special page - Special:PageMigration. A skeleton of the same was set up on local wiki
 * Submitted patch sets for the first version of the special page. As of now, it -
 * 1) Fetches and displays the translation units created by Translate for the given page
 * 2) Imports the old translations for given language on paragraph level and displays them
 * 3) Feature can be now conditionally enabled by setting $wgTranslatePageMigration to true
 * Screenshot showing the same

Week 1: May 19 to May 25

 * Added features to edit, delete and swap the imported translations - Patch
 * i18n of messages used so far - Patch

Week 2: May 26 to June 2

 * Added feature for manual splitting of units by giving an option to add an empty unit after the current one - Patch
 * Created an instance on wmflabs and the tool can now be tested here.
 * Restricted access to the Special page to translation admins only on Wikimedia wikis - Patch
 * Fixed the IDs and class names adapting the BEM approach and revamped the interface using the MediaWiki grid layout - Patch

Week 3: June 3 to June 9

 * Wrote QUnit tests for the various API calls involved - Patch
 * Handled possible error cases like non-existence of a page, absence of old translations, etc - Patch
 * Added hover text for image icons to convey their meaning - Patch
 * Fixed the overall code architecture - Patch
 * Wrote a module for simplistic alignment based on h2 headers - Patch