User:Hardik95/GSoC 2014 Progress Report
Community Bonding PeriodEdit
- Learnt how parsiod actually work and what are the stages involved in the whole parsing pipeline.
- Studied logger code and familiarized myself with its structure.
- Experimented with the logger and how to emit events using logger.
- Tried to find some places where I can place log events.
Week 1: Official Coding Period startsEdit
- College Exams
Week 2: 26th May to 2nd June
- Created a new logger backend
- Added log events for few broken wiki text to the code
- Submitted a patch for the same https://gerrit.wikimedia.org/r/#/c/135620/
- Tested the log output and code by parsing few pages
Week 3: 3rd June to 9th JuneEdit
- Submitted a patch for buffering log event - https://gerrit.wikimedia.org/r/#/c/138104/
- Researched on which database to choose for the backend (Selected MongoDB)
- Created an JSON API to publish and fetch log events.
- linked the new API with the linter backend and made the the linter publish log events as JSON.
- Code both API and UI is hosted here - https://github.com/hardikj/lintbridge
- Created a UI to navigate the collected data - http://parsoid.wmflabs.org:3000/_html/issues
- Collected the data on 50 pages using a python script.
Week 4: 9th June to 16th JuneEdit
- Implemented a new --lint option ( Patch)
- Moved registerLoggingBackends function from ParsoidConfig to mediawiki.Utils (Patch)
- Fixed some minor fixups in linter (Patch)
- Setup new instance on wikimedia labs and learn about services like systemd, upstart
- Gave a new home to lint bridge : http://lintbridge.wmflabs.org
- Added some new features to lintbridge
- Made UI responsive using bootstrap
- Added Handlebars as a template engine
- Applied styling on all /_html/ routes
- All commits can be found at github
Week 5: 17th June to 23th JuneEdit
- fixed a bug in --lint flag for parse.js (Patch)
- fixed few bugs in lintbridge
- Tested lintbridge on 1000 pages using a python script
- Added more features to lintbridge
- Added direct link to wiki edit page
- Added pagination on each routes
- added pages for exception handling
Week 6: 23th June to 30th juneEdit
- Added new features to lintbridge :
- Added next and prev button
- Added a Stats page
- some more minor bug fixes
Week 7: 30th June to 6th julyEdit
- Worked on two patches
- Researched a bit for what test suite to use for linter tests
- Decided to go with Mocha and Chai
- Added a basic test suite with mocha