MassMessage technical debt cleanup/refactoring
Open, Needs TriagePublic

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.
D3r1ck01 created this task.Oct 17 2017, 8:03 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 17 2017, 8:03 PM
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.

D3r1ck01 updated the task description. (Show Details)Jan 5 2018, 8:43 AM
D3r1ck01 updated the task description. (Show Details)
Noella94 claimed this task.Jan 5 2018, 9:58 AM

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

D3r1ck01 updated the task description. (Show Details)Jan 9 2018, 9:19 PM

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

D3r1ck01 updated the task description. (Show Details)Fri, Feb 2, 1:26 PM
Noella94 updated the task description. (Show Details)Sat, Feb 3, 11:14 AM

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

Noella94 updated the task description. (Show Details)Tue, Feb 13, 4:45 PM

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