Extension:MassMessage/Page input list improvements/Progress reports

From mediawiki.org

Community bonding period[edit]

Week of May 19[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

Week of July 14[edit]

  • July 14: Finished JavaScript UI for removing items.
  • 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[edit]

  • July 21-July 22: Addressed issues with UI for adding items raised in code review; fixed handling of '@' in titles in JavaScript UI (Gerrit change 148342); changed the API to allow partially invalid requests (Gerrit change 148416).
  • 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[edit]

  • 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[edit]

  • 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[edit]

(The official coding period ended on August 18.)