Page MenuHomePhabricator

MassMessage technical debt cleanup/refactoring
Open, MediumPublic

Description

Mass message extension allows a user to send a message to a list of pages or multiple users at the same time via special page Special:MassMessage. Over the years (4+), technical debt or code debt has accumulated which needs reworking / refactoring as most large wikis are using this extension already like; Commons, MediaWiki, Meta-Wiki, Wikipedia, Wikidata etc. The various areas that needs rework to make the extension match recent MediaWiki standards are;

  • Putting the extension into the MediaWiki PHP name space (MediaWiki\MassMessage).
  • Break down the giant MassMessage class into smaller ones that have less responsibility.
  • Should have "targets" use value Objects instead of using arrays.
  • Convert MassMessageTargets::getTargets() into an abstract (for example; SpamlistLookup or something), and enable other classes to extend it.
  • Add phan tests for MassMessage T186314
  • Allow the use of Wikidata item as spam lists, (see here: T171617).
  • Should be able to warn when <ref> tag is present but no <references> tag is present, (see here: T156167).

There are probably more bugs to be address but the above is good enough for the scope of Outreachy.

Project mentors: Legoktm, Alangi Derick

Micro Tasks

  • Fix invalid argument supplied to foreach: T162734.
  • Add missing filter name messages: T169824.

Event Timeline

Legoktm renamed this task from MassMessage-extension-MediaWiki technical debt cleanup/refactoring to MassMessage technical debt cleanup/refactoring.Oct 17 2017, 10:06 PM

Hello is this too late to start for outreachy. I just got to know about outreachy yesterday and I read that we can contribute even after we have submitter the application. So I would like to know if it is too late to start working on wikimedia.

Hello @Pridhvikrishna, most likely yes. We are hours away to the deadline today. But if you are interested, feel free to prepare and submit a proposal and make sure you check for eligibility on the outreachy website.

Also, the proposal should be a sub-task on this ticket. Feel free to ask any questions on this ticket or contact mentors (me or @Legoktm) via IRC. Thanks and looking forward to your next plan of action.

xSavitar updated the task description. (Show Details)

Change 402143 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP] Breaking down the MassMessage class into three classes

https://gerrit.wikimedia.org/r/402143

Change 402143 merged by jenkins-bot:
[mediawiki/extensions/MassMessage@master] Split DatabaseLookup and UrlHelper out of MassMessage

https://gerrit.wikimedia.org/r/402143

Change 405222 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Replacing target Arrays with Objects.

https://gerrit.wikimedia.org/r/405222

Change 405222 abandoned by Noella94:
[WIP]Replacing target Arrays with Objects.

Reason:
This patch has a lot of misunderstood work. working on a new one

https://gerrit.wikimedia.org/r/405222

Change 405410 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Replacing target Arrays with Objects.

https://gerrit.wikimedia.org/r/405410

Change 406171 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Added abstract class SpamlistLookup

https://gerrit.wikimedia.org/r/406171

Change 406171 merged by jenkins-bot:
[mediawiki/extensions/MassMessage@master] Added abstract class SpamlistLookup

https://gerrit.wikimedia.org/r/406171

Change 408335 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Adding Phan to MassMessage extension

https://gerrit.wikimedia.org/r/408335

Change 408335 abandoned by Noella94:
[WIP]Adding Phan to MassMessage extension

Reason:
This patch contains all files permission changes. will submit a new patch with the mistake fixed

https://gerrit.wikimedia.org/r/408335

Change 408440 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Adding Phan to MassMessage extension

https://gerrit.wikimedia.org/r/408440

Change 410975 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Replacing target Arrays with Objects.

https://gerrit.wikimedia.org/r/410975

Change 405410 abandoned by Noella94:
[WIP]Replacing target Arrays with Objects.

Reason:
working on a different Topic

https://gerrit.wikimedia.org/r/405410

Change 410975 abandoned by Noella94:
[WIP] Replacing target Arrays with Objects.

Reason:
will send a new one

https://gerrit.wikimedia.org/r/410975

Change 414112 had a related patch set uploaded (by Noella94; owner: Noella94):
[mediawiki/extensions/MassMessage@master] [WIP]Replacing target Arrays with Objects.

https://gerrit.wikimedia.org/r/414112

xSavitar triaged this task as Medium priority.Apr 18 2018, 11:25 AM

Removing task assignee due to inactivity, as this open task has been assigned to the same person for more than two years (see the emails sent to the task assignee on Oct27 and Nov23). Please assign this task to yourself again if you still realistically [plan to] work on this task - it would be welcome.
(See https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup for tips how to best manage your individual work in Phabricator.)