Extension:MassMessage/Page input list improvements/Progress reports

Current project status

 * Integrating ContentHandler code with MassMessage
 * To be worked on in ContentHandler code:
 * Handling of external target pages
 * Caching
 * Tests

Week of May 19

 * May 20-May 22: Studied ContentHandler and JSON storage by reading documentation and studying Extension:EventLogging.
 * May 23: Looked into how ContentHandler interacts with the revision table.

Week of May 26

 * May 26-May 28: Worked on creating a simple extension using ContentHandler.
 * May 30: Started work on ContentHandler backend for MassMessage.
 * May 31: Continued work on the above; simple patch to reorganise directory structure.
 * June 1: Worked on the special page for managing a list; currently supports creating pages with a dummy content model and editing those pages (GitHub repository).

Week of June 2

 * June 2: Added some i18n strings, started work on processing user input for the special page.
 * June 3-June 4: Finished basic raw watchlist editor-like list editor. User input is parsed and stored as JSON, with invalid titles and duplicates removed.
 * June 6: Added validation for list contents.
 * June 8: Implemented basic display of list contents.

Week of June 9

 * June 9: Submitted.
 * June 11-June 12: Added a wikitext description field and rewrote the code for displaying input lists; refactored some logic.
 * June 13: Added handling for empty lists; escaped i18n messages.
 * June 14: Overrode "Edit" link for delivery lists; added logic for updating links table.
 * June 15: Documented current code; standardised terminology with MassMessage.

Community bonding report
During the community bonding period, I familiarised myself with MassMessage's code by working on a few simple patches and kept in touch with my mentors on IRC. I also set up a development environment on a VPS. As I was previously a student in Facebook Open Academy, I was already largely familiar with the development and code review tools and had no significant issues using them.


 * Communication plans: I will continue to communicate with my mentors using IRC, and I plan to publish brief progress updates every 2-3 days. I will respond to feedback on the project talk page and on IRC (in ).
 * Minimum viable product: See the Deliverables section of the project page.