Page MenuHomePhabricator

Allow each log action to set whether to send email notification and with which subject/body
Open, LowPublic

Description

+++ This bug was initially created as a clone of Bug #42457 +++

This, together with a bunch of changes in the extensions, would be – I guess – the most complete fix for bug 14901.

(Quoting from bug 14901 comment #63)

"We could add handling for protect/unprotect/right, but this would not solve
the fundamental of this issue. Any new log action about an article attempts to
send an email, it would be really hard to catch all log-actions since any
extensions could add a new log-action and it's not appropriate to handle them
inside the notification code.

Instead, I think we should alter the log to include a send_email param in
log_param which checks whether to send emails and leave the email subject/body
definition to extensions or the code that creates the log. This would require
some time and go far beyond 20% time.

I'd call this an enhancement, while bug T44457 is the remaining bug to be fixed (probably less painful than this request).

This might even be /too/ complete a solution and overlap with Echo work on core: cc'ing Andrew to be safe.

Details

Reference
bz42458

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 12:59 AM
bzimport added a project: MediaWiki-Email.
bzimport set Reference to bz42458.
bzimport added a subscriber: Unknown Object (MLST).

It is not possible to suppress log notifications emails or alter their content with current hooks in core.

Change 132600 had a related patch set uploaded by Nemo bis:
Extend AbortEmailNotification hook to access log type etc.

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

Change 132600 merged by jenkins-bot:
Extend AbortEmailNotification hook to access log type etc.

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

Approved by IAlex. :) Hopefully that's enough for the "whether to send an email" side, but changing content is tricky: how can we do that, by making enotif_body more modular perhaps? (As was done in part for bug 14901.)