Extension:Email notification

Email notification on changes of watch-listed pages and/or user_talk pages

 * This is main page of the E-Mail Notification patch (enotif) which discloses a reasonable scheme allowing for page change notifications via e-mail.
 * I am currently (14.10.2004) testing enotif v1.2 patch/release against/for the [[image:new.png]] MediaWiki release version 1.3.6 -- checking not yet finished --


 * Currently available are the patches for:
 * MediaWiki release version 1.3.5
 * MediaWiki 1.3.5 incl. enotif v1.2 incl. diff file is available as one tgz file: http://www.tgries.de/mw/enotif/mw1.3.5_incl_enotif1.2.tgz
 * MediaWiki developer's version from the CVS (HEAD 1.4):
 * use the enotif v1.1 diff/patch to patch your own checkout from CVS. The diff patch is uploaded to http://bugzilla.wikipedia.org/show_bug.cgi?id=454.


 * Maintainer of this feature are Tom Gries and Markus Arndt, Germany. August-October 2004.

How it works
The watching user X gets a short E-Mail if he/she has stored an email address in the preferences


 * when someone else changes a page listed in user X's watch list (watch-listed page)
 * when someone else changes the user_talk page of user x

Users with or without an email address in preferences can enjoy a side-effect of enotif:


 * together with enotif the marker  updated (since my last visit) is introduced indicating new contents on watch-listed pages since one's last visit. The marker can be seen on the watchlist page and on the recent-changes page close to the bold-titled page names of pages being watched. Be reminded: own changes do never trigger notification mails or markers, so you are only informed about changes of somebody else.

What you can expect - feature overview

 * The first version of E-Notif is mainly suited for small scale MediaWiki implementations, as personalised e-mails are sent out (name, pages changes expressed in local time) for every recipient. The program flow will be changed in a next version, so that bulk notification mails could be sent, depending on parameters.


 * The notification on user_talk page (UTP) changes could be enabled for all and even the largest WikiPedia, because the number of such UTP changes is surprisingly low according to Brion Vibber. About only 800 alien UTP changes (changes by others than yourself) are committed per day in August 2004, which would result in only the same (relatively low) number of enotifs sent to the UTP owners. Isn't that worth a trial phase ?


 * All features are configurable in program module DefaultSettings.php respectively LocalSettings.php so that you as a WikiAdmin can separately enable or disable the sending of notifications for
 * general pages (all name spaces) and/or
 * user_talk pages.


 * The notification message text is a page in the MediaWiki:namespace and you can use named variables such as $PAGEEDITORUSERNAME and $PAGEEDITTIMESTAMPUTC (see real example below).


 * Your own changes never trigger a notification mail sent to yourself.


 * Minor edits will or will not trigger notification e-mails sent out depending on just another admin setting.


 * All UTP changes trigger a notification to be sent, no matter whether the UTP editor declared the change as minor edit or not.


 * Global program flags in DefaultSettings.php set the defaults. As a sysop, you can fine-tune the email notification program according to your needs by using other settings in your LocalSettings.php (which then overwrite the defaults).


 * Only one mail is sent on the first page change. Further mails are suppressed until you re-visit the changed page or until you reset all notification flags by clicking once onto a new button in your watchlist page.


 * On the watchlist page, a new marker  updated (since my last visit) indicates such pages for which a notification mail was sent, meaning that the page has new contents since your last visit.


 * The marker is also shown on your recent changes page for these pages you are watching (already marked bold) and which do have new contents since your last visit.


 * If you wish so, you can provisionally add not-yet existing page names to your watch list and you will receive an email notification as someone creates a page with that name. Again: you will see the marker flown there until you really visit the (in this case: new) pages with new contents.


 * Sexy for debuggers: two different single beeps on the server signal the sending of notification mails for pages and user_talk pages (default: disabled, see Email notification list of changes).

Named variables for sysop use in email subject and body template
Sysops can use the following named variables to compose the email notification message:

The variables ending with "_QP" are needed for composing correct mail headers for watching usernames and pagetitles with non-ASCII characters, if you want to have these texts there and not only in the mail body. Do not use _QP variables in the email body.

$WATCHINGUSERNAME $WATCHINGUSERNAME_QP (QP = "quoted-printable", only for use in mail headers) $WATCHINGUSEREMAILADDR $PAGETITLE $PAGETITLE_QP (QP = "quoted-printable", only for use in mail headers) $PAGEEDITORNAMEANDEMAILADDR $PAGEEDITORNAMEANDEMAILADDR_QP (QP = "quoted-printable", only for use in mail headers) $PAGEEDITOR $PAGEEDITOR_QP (QP = "quoted-printable", only for use in mail headers) $PAGEEDITDATE (expresses the page edit date/time in the watching user's local time) $PAGEEDITDATEUTC $PAGEMINOREDIT $PAGESUMMARY $WIKIADMINEMAILADDR

Program constants defined in DefaultSettings.php

 * 1) Patch for email notification on page changes T.Gries/M.Arndt 11.09.2004
 * 2) These are the defaults settings

$wgEmailNotificationLevel                     = 3;     # 0: disabled # 1: for user_talk pages only # This appears to be a possible start value even for large scale wikipedias, as even the English Wikipedia has only about 800 alien user-talk changes per day, according to Brion. # 2: for watch-listed pages only # 3: for all pages (watch-listed and user-talk pages) # suggested for small scale wikis $wgEmailNotificationForMinorEdits             = false; # false: "minor edits" on pages do not trigger notification mails. # Attention: every change on a user_talk page triggers a notification mail (if the user is not yet notified)

'''Attention, these features are disabled by default. However, be careful with the parameters for the two system calls.''' $wgEmailNotificationSystembeepForWatchlistPages = ''; # empty string = disabled = default $wgEmailNotificationSystembeepForUserTalkPages = ''; # empty string = disabled = default Again the security advice: be careful with these two system call parameters.
 * 1) The following strings are passed as parameters to two system calls.
 * 2) On our server, they call the beep 1.2.2 program with different frequencies f [Hz] and length l [msec]
 * 3) Beep 1.2.2 can be found on http://freshmeat.net/projects/beep/
 * 1) $wgEmailNotificationSystembeepForWatchlistPages = '/usr/bin/beep -f 4000 -l 20 &'; # a system call with exactly this string as parameter is executed when such a mail is sent
 * 2) $wgEmailNotificationSystembeepForUserTalkPages  = '/usr/bin/beep -f 2000 -l 20 &'; # ditto., but for UserTalk page changes

Notification mail text template (delivered within the patch, module Languages.php)
email notification messagetext

Note that using PAGEEDITORNAMEANDEMAILADDR_QP reveals user's email addresses to each other, which MediaWiki does not normally do even in "Mail this user".