User:Mariapacana/OPW Progress Report

Week 1: December 10 to December 16

 * 1) Familiarized myself with developer tools like Bugzilla, Mediawiki Gadgets, Gerrit, etc.
 * 2) Submitted patch to streamline the setting of debugging flags.
 * 3) Researched different ways of dynamically debugging Node applications (e.g., node-debugger, node-inspector).
 * 4) Began working on disabling generic tracing (e.g., --trace without any tracing flags).

Week 2: December 17 to December 23

 * 1) Continued to work on disabling generic tracing.
 * 2) Learned about how the parser pipeline works and how different transformations relate to one another.

Week 3: December 24 to December 30

 * 1) Cleaned up some indentation errors and typos (patch 1, patch 2).
 * 2) Disabled generic tracing (e.g., --trace without any tracing flags; patch).
 * 3) Began working to create a generic error logging function in Util.js. (in-progress patch)

Week 4: December 31 to January 6

 * 1) Transferred logger function from Util module to its own class, on mentor's suggestion (patchset 4).
 * 2) Added wrapper functions such as trace and debug
 * 3) Visited User:Ssastry in Minnesota! Learned how...
 * 4) * Synchronous & synchronous token transform managers transform Wikitext to HTML
 * 5) * Parsoid evolved and how it relates to the original PHP parser
 * 6) * Parsoid tests work; how/why some tests are blacklisted

Week 5: January 7 to January 13
The many-logger approach was considered overly complex; abandoned in favor of a single log function that dispatches to different backends. We put the log function in the env object, which is widely available throughout Parsoid codebase and has access to tracing / debugging flags.
 * 1) Moved logging function from own class into parser environment object ("env"), after getting feedback from the team (patchset 9).
 * 1) Removed wrapper functions (e.g., trace, debug) from logging, consolidating everything into a single all-purpose function.
 * 2) Met with User:5xbe

Week 6: January 14 to January 20

 * 1) Rewrote logger function (patchset 12)
 * 2) Began rewriting error messages to use logging function.