Extension:MassMessage/Design

Design notes.


 * http://legoktm.instance-proxy.wmflabs.org/wiki/Special:MassMessage
 * https://gerrit.wikimedia.org/r/#/q/project:mediawiki/extensions/MassMessage,n,z

Bugs

 * Add an .alias.php file.
 * Create i18n messages for "messenger" group - 75292
 * 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. --Lego
 * 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. --Lego
 * Ability to restart a job that failed for whatever reason
 * 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
 * message preview collides a bit with form
 * intro message collides a bit with form
 * grayed out "send" button is annoying; just don't output it if it can't be used
 * 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. --Lego
 * Fake edit summary in 75276
 * 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. --Lego
 * on confirmation screen, show spam list targets (or summary of targets or truncated list of targets)
 * on confirmation screen, flag/warn about unclosed tags, unclosed HTML comment, etc.
 * should be a large, scary warning

Enhancements

 * Ability for user to provide a page that is translated, and automatically send the message in the wiki's default language.
 * Hrmmmmmm.
 * Some wikis (enwikinews) will try to block the bot since it doesn't respect
 * actual enhancement request here is: provide means of opting out of deliveries
 * (hidden) category is probably sanest implementation
 * 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 (ajax y'all)