Extension:MassMessage/Design

Stuff.

http://legoktm.instance-proxy.wmflabs.org/wiki/Special:MassMessage

Todo

 * Add an .alias.php file.
 * Create i18n messages for "messenger" group - 75292
 * Actually implement GMD
 * Need way to extract links - use interwiki links? - 74941
 * Need way to send the message - is API the best way?
 * No, we can use the job queue. Use  and it will get executed remotely. Legoktm (talk) 05:04, 23 July 2013 (UTC)
 * Need a way to create an account on each target site, can this be done via update.php? - 74938
 * Now we don't, we can just create it on demand. Legoktm (talk) 05:04, 23 July 2013 (UTC)

Features missing from GMD

 * Ability to restart a job that failed for whatever reason

Nice things

 * Ability for user to provide a page that is translated, and automatically send the message in the wiki's default language.
 * Some wikis (enwikinews) will try to block the bot since it doesn't respect . Maybe a $wgRespectNoBots...? - 74939
 * No #no
 * Yeah, abandoned.

MZ notes

 * Bugs
 * catch invalid page list input - ✅ in 75064
 * e.g., "Main Page >"
 * this is still broken (Fatal error: Call to a member function isRedirect on a non-object in /srv/mediawiki/extensions/MassMessage/MassMessage.body.php on line 23) - re-fixed in 75294 ✅
 * entering "fjdskfsdfs" results in a duplicate error message ("The specified page-list page does not exist. \n The specified page-list page does not exist.") - fixed in 75294 ✅
 * localized messages need work
 * post-form submission shouldn't say message was sent; should say message is queued - 75293
 * page-list is a hyphen abomination
 * Any suggestions?
 * form is ugly
 * put labels on their own line above inputs - 75300 ✅
 * don't use an HTML table - 75300 ✅
 * form needs introductory message - 75446
 * in this message, note that all fields are required
 * use &section=new
 * This involves using EditPage (see how the API does it ), and it looks much more complicated than the way it currently gets done. Might be worth faking the edit summary. Legoktm (talk) 08:28, 22 July 2013 (UTC)
 * Fake edit summary in 75276
 * catch blank body or subject - 75285
 * status indicator post-form submission
 * how do I know when a delivery has started/stopped/etc.?
 * This is hard because it seems like there's no way to easily check if all the jobs are done via the redis queue.
 * input page list should support redirects - 75073 ✅
 * possible to spam the same talk page twice with a single delivery (ouch) - 75068 ✅
 * possible to deliver to user talk pages of non-existent users - 75072 ✅
 * add a confirmation screen after form submission
 * show preview of subject line and message
 * show spam list targets
 * perhaps truncate list to ten entries or whatever
 * flag/warn about unclosed tags, unclosed HTML comment, etc.
 * should be a large, scary warning


 * Enhancements
 * title suggestions for page input list (similar to search field, yay autocomplete)
 * don't require a separate screen to check whether invalid page list was entered
 * auto-fill form based on URL parameters? - 75255 ✅