User:Hardik95/GSoC 2014 Progress Report

Community Bonding Period

 * 1) Learnt how parsiod actually work and what are the stages involved in the whole parsing pipeline.
 * 2) Studied logger code and familiarized myself with its structure.
 * 3) Experimented with the logger and how to emit events using logger.
 * 4) Tried to find some places where I can place log events.

Week 1: Official Coding Period starts
Week 2: 26th May to 2nd June
 * 1) College Exams
 * 1)  Created a new logger backend
 * 2) Added log events for few broken wiki text to the code
 * 3) Submitted a patch for the same https://gerrit.wikimedia.org/r/#/c/135620/
 * 4) Tested the log output and code by parsing few pages

Week 3: 3rd June to 9th June

 * 1) Submitted a patch for buffering log event - https://gerrit.wikimedia.org/r/#/c/138104/
 * 2) Researched on which database to choose for the backend (Selected MongoDB)
 * 3) Created an JSON API to publish and fetch log events.
 * 4) linked the new API with the linter backend and made the the linter publish log events as JSON.
 * 5) Code both API and UI is hosted here - https://github.com/hardikj/lintbridge
 * 6) Created a UI to navigate the collected data  - http://parsoid.wmflabs.org:3000/_html/issues
 * 7) Collected the data on 50 pages using a python script.

Week 4: 9th June to 16th June

 * 1) Implemented a new --lint option ( Patch)
 * 2) Moved registerLoggingBackends function from ParsoidConfig to mediawiki.Utils (Patch)
 * 3) Fixed some minor fixups in linter (Patch)
 * 4) Setup new instance on wikimedia labs and learn about services like systemd, upstart
 * 5) Gave a new home to lint bridge : http://lintbridge.wmflabs.org
 * 6) Added some new features to lintbridge
 * 7) Made UI responsive using bootstrap
 * 8) Added Handlebars as a template engine
 * 9) Applied styling on all /_html/ routes
 * 10) All commits can be found at github

Week 5: 17th June to 23th June

 * 1) fixed a bug in --lint flag for parse.js (Patch)
 * 2) fixed few bugs in lintbridge
 * 3) Tested lintbridge on 1000 pages using a python script
 * 4) Added more features to lintbridge
 * 5) Added direct link to wiki edit page
 * 6) Added pagination on each routes
 * 7) added pages for exception handling

Week 6: 23th June to 30th june

 * 1) Added new features to lintbridge :
 * 2) Added next and prev button
 * 3) Added a Stats page
 * 4) some more minor bug fixes

Week 7: 30th June to 6th july

 * 1) Worked on two patches
 * 2) https://gerrit.wikimedia.org/r/#/c/142744/
 * 3) https://gerrit.wikimedia.org/r/#/c/142723/
 * 4) Researched a bit for what test suite to use for linter tests
 * 5) Decided to go with Mocha and Chai
 * 6) Learned mocha and Javascript Promises
 * 7) Added a  basic test suite with mocha
 * 8) https://gerrit.wikimedia.org/r/#/c/143483/

Week 8: 6th july to 13th july

 * 1) Two new Patches
 * 2) https://gerrit.wikimedia.org/r/#/c/143911/
 * 3) https://gerrit.wikimedia.org/r/#/c/144068/
 * 4) Discussed next steps for the projects
 * 5) Posted to checkwiki and village pump about lintbridge