Extension:Email notification

Email notification for changed pages (watch listed and user_talk pages)
We have developed a reasonable scheme for page change notifications.

It is listed as Bugzilla feature request #454

Introduction
We are currently finalising the E-Mail Notification patch based on MediaWiki version phase 3 version 1.4. The patch is expected to be ready for publication on Sunday, 26.09.2004.

Maintainer of this feature: --Nyxos 00:28, 21 Sep 2004 (UTC)

What can you expect - an overview about the features

 * The first version of E-Notif will mainly be suited for small scale MediaWiki implementations, as each e-mail is sent out separately. This will be changed in forthcoming versions.
 * All features are admin-configurable in the DefaultSettings.php resp. LocalSettings.php - admins can enable or disable sending notifications for a) general pages of all namesspaces and b) user_talk pages separately.
 * The notification message texts are not hard-coded in the source but pages in the MediaWiki: namespace making use of new variables such as $PAGEEDITORUSERNAME and $PAGEEDITTIMESTAMPUTC.
 * Your own changes do not trigger a notification mail back to you.
 * Minor edits will or will not trigger notification e-mails sent out depending on another admin setting. User_talk page changes always trigger a mail (if not yet sent).
 * Only one mail is sent on the first page change, further mails are suppressed until you re-visit the changed page or reset all "notified" flags by clicking on a new button on the watchlist page.
 * On the watchlist page, a new small icon [[Image:updated.png]] indicates such pages for which a mail was already sent (i.e. the page has new contents since your last visit).

How it works
User X gets a short E-Mail:


 * when a page listed in user X's watch list changes
 * when the user_talk page of User X changes

Additional features:


 * The notification message body and subject texts can easily be adapted to your needs. These are the new entries in the MediaWiki: namespace:

email notification messagetext

Named variables in email message text template
You can use the following new named variables to compose your messages:

$WATCHINGUSERNAME $WATCHINGUSEREMAILADDR $PAGETITLE $PAGEEDITORNAMEANDEMAILADDR $PAGEEDITOR $PAGEEDITDATE $PAGEEDITDATEUTC $PAGEMINOREDIT $PAGESUMMARY $WIKIADMINEMAILADDR


 * Further notification messages are suppressed until UserX visits the changed page/s.
 * Your own changes (to a page in your own watchlist or to your own User_talk page) do not trigger the sending of notification mails to yourself.
 * The notification flags can be reset together for all watchlist pages with a function (button) on UserX Watchlist page
 * Minor edits do usually not trigger the sending of a notification. If you as a Sysop want to send out notification mails for all edits, set $wgEmailNotificationForMinorEdits=true
 * Changes on user_talk pages always trigger a notification to be sent (if not yet done) - no matter, if the page editor marked it 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):

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 # 2: for watch-listed pages only # 3: for all pages (watch-listed and user-talk pages) $wgEmailNotificationForMinorEdits             = false; # false: "minor edits" on pages do not trigger notification mails. # Attention: every change on a user_talk page trigger a notification mail (if the user is not yet notified)

$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 $wgEmailNotificationSystembeepForUserTalkPages = '/usr/bin/beep -f 2000 -l 20 &'; # ditto., but for UserTalk page changes
 * 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/

Tom Gries/Markus Arndt Berlin/Munich

Example of a working notification mail text template:
email notification messagetext