Page MenuHomePhabricator

E-mail notification for page changes or new pages, where title or body or category matches a regular expression
Closed, DeclinedPublic

Description

As an extension to the concept of
http://bugzilla.wikipedia.org/show_bug.cgi?id=454 , I develop an additional
setting where users (or only powerusers having certain user_rights such as
admins) can set a regular expression (RE) in their user options, and

when the Regular Expression matches a string in the

a) page title and/or
b) the page text

on a change or new creation of page, then also an e-mail notification is sent to
that user.


Version: unspecified
Severity: enhancement
URL: http://meta.wikipedia.org/Enotif

Details

Reference
bz1116
ReferenceSource BranchDest BranchAuthorTitle
repos/data-engineering/airflow-dags!226disable-skein-log-collectionmainmilimetricDisable skein log collection by default
Customize query in GitLab

Revisions and Commits

Related Objects

StatusSubtypeAssignedTask
InvalidAklapper
InvalidNone
ResolvedNone
InvalidWikinaut
DeclinedNone
ResolvedWikinaut
ResolvedNone
ResolvedNone
DeclinedNone
ResolvedNone
ResolvedNone
ResolvedWikinaut
DeclinedNone
DeclinedNone
ResolvedNone
DeclinedNone
DeclinedAklapper
ResolvedNone
ResolvedNone
ResolvedNone
Resolvedhashar
Resolvedhashar
Resolvedhashar
ResolvedNone
ResolvedNone
Resolvedhashar
Resolvedhashar
Resolvedhashar
Resolvedhashar
ResolvedNone
ResolvedNone
Resolvedhashar
ResolvedNone
DeclinedWikinaut
ResolvedWikinaut
ResolvedWikinaut

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 21 2014, 8:07 PM
bzimport set Reference to bz1116.
bzimport added a subscriber: Unknown Object (MLST).

This is not yet implemented in the current ENotif+EAuthent 2.00. I'll working on
that soon.

Reconsidering my proposal, I think, this potentially adds a lot of processing
load to Parser.php as every newly saved page must be parsed against (one or
many) regular expressions of all watching users for that page.

It will be possible to implement this theoretically nice proposal, but I think,
only for power users. The Regular Expressions must also be checked to avoid
severe Denial-of-service attacks. Do we have some experts listening here who
could support me in implementing a >>>robust<<< solution from the beginning ?

I could think of an algorithm which performs this "Regular-Expression
scan-and-notify" at low usage times of the wikis and with a low task priority,
i.e. at a later time than the change - but do we really have such *low* request
times, Brion ?

I amended the title to better to reflect the new goals.

The ENotif http://bugzilla.wikipedia.org/show_bug.cgi?id=454 version 3.x already
notifies on new pages. However, this bugzilla enhancement aims to a further
improvement

  • to notify on page changes or creations

where

  • page title or
  • body or
  • [[category:tag(s)]]

matches a regular expression, which the watching user is allowed to store in the
user preferences. It is proposed to allow this feature only for superusers
(bureaucrats, developers, sysops), similar to the existing "notify me when a new
page is created", see http://bugzilla.wikipedia.org/show_bug.cgi?id=454 (ENotif)

Implementation remark:
Since ENotif v3.x already offers a reliable framework for notifications for new
pages, this enhancement will become relatively easy to implemented now.

Proposed are two REGEXES for each user
(or only for super-users, see below, why)
in the user preferences:

  • a first REGEX_MUSTMATCH: the new page must match this
  • a second REGEX_MUSTNOTMATCH: the new page must not match this regex

This would allow notifying when a newpage with a certain category is created.

A notification is only sent to such users under the condition that

  • wiki has emailing and ENotifying enabled AND
  • user is allowed to receive ENotifs AND
  • user is allowed to receive ENotifs also for new pages AND
  • REGEX_1 matches AND
  • REGEX_2 does not match

I would now like to ask you all, whether

  • you support me in writing this patch (which looks to be an easy one) (pls. be reminded, that I already have newpage-notification ready, so there's

no need for you to program this newly)

  • security aspect: do you think, that such two REGEXes can be allowed to be stored (after

escaping) for each of the entitled user in the db ?

  • performance aspect: if too many users are entitled, too many regex need to be evaluated. But this is the reason, why I restricted the newpage-notif to super-users

(bureaucrats, developers, sysops) at the beginning.

From my point, this is a reasonable approach, and, given that I publish
newpage-enotif, would you like to see this implemented in MediaWiki ? I'm asking
this in order not to invest into something, what nobody wants to see in the CVS
and ask for your numerous answers.
T.

This bugzilla covers also:

  • sending ENotifs on page _changes_ (i.e. not only for new page creations)

when these rules match or do not match.

Moving to extension requests. No way this would ever go in core -- it couldn't be done efficiently.

I'm considering this as WORKSFORME -- AbuseFilter does this sort of filtering searches. I'm not sure how notifications are always handled but there are various options and it gets used very much.

Diffusion added a commit: Unknown Object (Diffusion Commit).Mar 4 2015, 8:15 AM
Diffusion added a commit: Unknown Object (Diffusion Commit).Mar 4 2015, 8:21 AM