Open main menu

Extension:EmailDiff

MediaWiki extensions manual
OOjs UI icon advanced.svg
EmailDiff
Release status: stable
Implementation Notify
Description Send textual diffs of page changes inside the notification emails
Author(s) Greg Sabino Mullane (Turnsteptalk)
Latest version 1.9 (2017-11-14)
MediaWiki 1.29+
Database changes No
License MIT License
Download EmailDiff.1.9.tar.gz PGP signature
$wgEmailDiffSubjectSuffix, $wgEmailDiffCommand
Translate the EmailDiff extension if it is available at translatewiki.net
Check usage and version matrix.

The EmailDiff extension modifies outgoing notification emails by providing a text diff of all changes made. This enables you to see the changes without having to leave your mail client.

InstallationEdit

  • Download and place the file(s) in a directory called EmailDiff in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'EmailDiff' );
    
    A new hook will need to be added to the file includes/mail/EmailNotification.php. Inside the function sendPersonalized, right before the "return" line, add:
Hooks::run( 'SendPersonalizedNotificationEmail',
    [ $watchingUser, $this->oldid, $this->title, &$headers, &$this->subject, &$body ] );
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Edit the templateEdit

The extension works by replacing the word $PAGEDIFF in the email notification template with the actual diff. Therefore, you will need to edit the MediaWiki:Enotif_body page on your wiki to add that string. It is recommended that you put some short summary information at the top before the diff. Here is one suggested layout:

Page: $PAGETITLE
Summary: $PAGESUMMARY $PAGEMINOREDIT
User: $PAGEEDITOR  Time: $PAGEEDITDATE
$PAGEDIFF
$NEWPAGE

Configuration parametersEdit

If you need to change these, add them to your LocalSettings.php after the wfLoadExtension command above:

  • $wgEmailDiffSubjectSuffix - String to be added to the end of the subject line. Defaults to (diff)
  • $wgEmailDiffCommand - Command to perform the diff. Seldom needs to be changed from the default.