Community bonding period
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 (Gerrit change 136527).
- 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 Gerrit change 138309.
- 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.
Week of June 16
- June 16-June 17: Split out list creation into a separate special page and rewrote some of the code related to list creation and editing; updated i18n messages; combined new backend code with the main extension.
- June 18: Added message documentation; fixed issues raised in code review; Gerrit change 140106 merged.
- June 19-June 20: Added links for external targets; changed code to create content objects through ContentHandler; improved validation; added ability for MassMessage to deliver to lists using the new format (Gerrit change 140691).
- June 22: Improved validation and error handling; minor tweaks (Gerrit change 141283).
Week of June 23
- June 23: Simplified MassMessage::normalizeTargets(); addressed issues brought up in code review of previous patch.
- June 24: Worked on improving error handling in Special:EditMassMessageList (code abandoned).
- June 25: Changed error handling in Special:EditMassMessage (Gerrit change 141911), rerouted list creation and editing through API (Gerrit change 142023).
- June 26: Changed list content display to use the Html class for HTML generation (Gerrit change 142202).
- June 27: Added ability to import targets from an existing list or category and refactored code for getting targets (Gerrit change 142488); made site handling more consistent in list storage (Gerrit change 142498).
- June 29: Submitted Gerrit change 142859, worked on code refactoring.
Week of June 30
- June 30: Worked on code refactoring, submitted as Gerrit change 142986; submitted Gerrit change 143047.
- July 1: Discussed and planned user interface for basic list editing and related API with mentors.
- July 2-July 3: Submitted Gerrit change 143578; worked on API.
- July 5-July 6: Worked on API and reducing code duplication (it turns out that the API would do a lot of what Special:EditMassMessageList already does); submitted Gerrit change 144365.
Week of July 7
- July 7-9: Split some common tasks into utility functions (Gerrit change 144919) functions and finished API (Gerrit change 144920).
Week of July 14
- July 15-16: Worked on a UI for adding items in list view (WIP at Gerrit change 146705).
- July 17-18: Finished the above.
Week of July 21
- July 23: Implemented redlinks for nonexistent pages in the page-adding UI and added LinkBatch to API and list display (Gerrit change 148702).
- July 24: Made the error message when adding an invalid page more descriptive (Gerrit change 148950).
- July 25: Added helper text for when all pages in a list section have been removed (Gerrit change 149273); attempted to implement a more readable diff.
- July 26: Added normalization of JSON data on save (Gerrit change 149499); implemented editing of old revisions (Gerrit change 149525).
- July 27: Resolved issues with editing of old revisions raised in code review.
Week of July 28
- July 28: Finished the above; started work on autocomplete for site entry.
- July 30-July 31: Finished title and site autocomplete (Gerrit change 150509); continued work on making diffs more readable.
- August 1-August 2: Finished work on diffs (Gerrit change 150809); improved handling of pre-existing lists with invalid sites and UI for wikis not part of a wikifarm (Gerrit change 151053).
- August 3: Improved the error message shown for invalid targets on Special:EditMassMessageList (Gerrit change 151380) and edit summaries (Gerrit change 151390).
Week of August 4
- August 4-August 8: Discussed numerous changes to make with User:MZMcBride and worked on implementing them (see Bugzilla comment); implemented warning for blank edit summaries.
Week of August 11
- Worked on unit tests (Gerrit change 154009).
(The official coding period ended on August 18.)