Extension:Email notification/installation

Installation
The brand new ENOTIF PATCH 1.35 can be downloaded as a tgz file from my server. I invested a lot of time into tests and it looks okay now.

DOWNLOAD URL:

*** Disclaimer: SEE BELOW *** http://www.tgries.de/mw/mw137+en135.tgz *** Disclaimer: SEE BELOW ***

It comes as usual


 * WITH THE FULL MediaWiki 1.3.7 code
 * including a DIFF file where you can see, what I have changed in the last 220 hours.... ;-))
 * with release notes, which are copied to this mail's bottom

Before proceeding here, it is advised to make (provisionally) a backup of your database(s) and image/upload directories. This is mentioned here just for your convenience and as my personal disclaimer. I never noticed any problems stemming from my patch(es), but we all know Murphy, don't we ?

Reminder: think again about a BACKUP, especially if you have MAXTOR harddisks.... (off-topic, but reality)

Now it looks, as it is safe to proceed ......

You can use

!! WITH ATTENTION !! tar -xcf mw137+en135.tgz !! REMINDER: WITH ATTENTION !


 * to decompress all code into a preferably new(!) subdirectory /testwiki
 * or use the -C option to decompress into a directory with another name

Be sure that the decompress process cannot overwrite other files on your server.

This tgz file comes with my personally preferred options and it could happen, that some of you don't like all of them (for example: remember password across sessions = true).

Please visit therefore to change them from case to case to your own preferred settings.
 * /testwiki/languages/Language.php and
 * /testwiki/includes/DefaultSettings.php

But I regard all of my settings as SAFE for a first test. Otherwise I would not have sent you this release information.

Then start your server and point to index.php as usual and


 * chmod a+w /testwiki/config


 * run the install script
 * a) use a new database eg. testwikidb or
 * b) use your existing database (please make provisonally a backup before proceeding)


 * copy or move /testwiki/config/LocalSettings.php to /testwiki/LocalSettings.php

and everything should be fine.

Remark:

If you prefer to copy files manually and if you use one of your existing MySQL databases, which are not ready-for-Enotif - you need to issue once a maintenance command:

php testwiki/maintenance/update.php

which changes the existing database structure slightly by adding one field to the table watchlist. This is easy and should not worry you too much. (For issuing the mentioned update.php command, you need also to have the file /testwiki/AdminSettings.php . Please read the content of /testwiki/AdminSetting.sample to learn how to create this file, which should be deleted afterwards.)

Lucky users:

If you are already using an older Enotif patch, then NO database layout changes are needed.

Further documentation


 * 454
 * http://meta.wikipedia.org/Enotif

-- The RELEASE NOTES are also included in the file and are after decompressing in /testwiki --

RELEASE NOTES FOR THE NEW ENOTIF PATCH 1.33 FOR MEDIAWIKI 1.3.7 (URL for complete tgz follows)

ATTENTION:

=
the DIFF file and the TGZ file will be published/uploaded later, because I first serve some test users, who already uses my older version.

DISCLAIMER:

=
I tried to address as MANY of Brion's and JeLuf's ultra-valuable comments as possible, especially the security related and "hard"cosmetic ones. The rest of their comments will be addressed in further releases - as soon as possible. Overall it was a VERY hard work for me, but the released patch - coming with my PERSONALLY SUGGESTED DEFAULT OPTIONS - is worth to have look into it.

If you decompress the tgz file - its URL will follow soon - it will decompress the whole MediaWiki 1.3.7 code INCLUDING the Enotif 1.33 patch and my PERSONALLY SUGGESTED DEFAULTS to a subdirectory /testwiki. Then you can perform either a fresh installation with a fresh database or a fresh installation with an existing database. If you prefer to copy the files manually, you need to issue a PHP /maintenance/update.php command to adapt the database structure (for watchlist table only).

Users of my older Enotif patches can use their databases without any changes (there is NO further database layout change necessary).

For feedback: I prefer to communicate via mail, mailto:mail@tgries.de.

I hope, that my contribution is seen friendly and that it is kindly appreciated by you. However, there might be cases that you do not like my patch. Please be then courageous and tell me why, because I will definitely try to improve it for a manifold of applications. especially for medium-sized companies and family wikis. On the other hand, I already know of several users and companies which finds the pre-released versions an epoch-making improvement.

Hope, you like it, too.

Tom Gries Berlin

Release Notes Enotif 1.33
THESE IS THE RELEASE NOTE AS INCLUDED IN FILE mw137+en133.tgz (URL follows separately)

Version 1.3.7+enotif v1.33, 2004-10-29
written by Tom Gries, Berlin and Markus Arndt, Munich
 * Enotif v1.33

Enotif adds e-mail notification to MediaWiki version stable release 1.3.7 It sends e-mails when a watch-listed page or user_talk page is changed to the watching users. Listed as "enhancement" http://bugzilla.wikipedia.org/show_bug.cgi?id=454 Visit the complete documentation on http://meta.wikipedia.org/Enotif
 * Executive summary for the impatient reader:

Implements almost all enotif options as user preferences. These are only shown on the user preference page, if they are globally enabled by the corresponding admin option in DefaultSettings.php. Added admin feature to let enotifs appear to come from the page editor. This facilitates automatic mail sorting and anti-spam filtering; feature was originally proposed by Nick Triantos, thank you ! Page editor's email address is however only shown, if this user enabled the option "reveal my email address" in user preferences. Otherwise, the enotifs appear to come from WikiAdmin as usual (tricky to program, but simply trust the algorithm. or look into UserMailer.php and UserTalkPage.php).
 * Details:


 * Changes from previous enotif versions

applied after two first reviews by Brion Vibber. v1.31 is basically the same as the older Enotif v1.30 and v1.22 versions. Added UseMod style for recent changes view so that only the most recent change of any page is listed. The (diff) and (hist) still allow to retrieve the older versions at users' discretion, but the RC view is much cleaner for trusted environments such as medium-size companies or family wikis.
 * v1.31 is an improved version with many security and also cosmetic changes

email address in preferences, so that they can see, what watched pages have changed. classic skin and in monobook skin in recent changes view for the older (already visited) versions of watched pages - i.e. page versions before the enotif was sent do not bear that marker any longer. visited version of the watching user; feature was proposed by Chris Phoenix, thank you !
 * v1.22 "updated (since my last visit)" also shown for users without stored
 * show "updated (since my last visit)" markers in RC, history and watchlist
 * Systemvariables to suppress updated marker in all views
 * show number of watching users in RC and on bottom of articles in
 * Systemvariables in DefaultSettings.php to enable or disable features
 * v1.21 now suppresses displaying the marker "updated (since my last visit)"
 * enotif mails come with a link to the diff view between current and last

recommended way (starting index.php and re-using the old database name). run php /maintenance/update.php OR see /maintenance/archives/patch-email-notification.sql and apply the command ALTER TABLE watchlist ADD (wl_notificationtimestamp varchar(14) binary NOT NULL default '0'); manually to your database, which does not harm the non notification versions
 * database structure is changed automatically when installing via the

for the accompanying talk_page talk:x and vice versa;
 * adding a page x to the watchlist does automatically add a watch

Prerequisites

 * If you as a sysop wish to let your server beep on enotifs, you need to download and install the tiny beep 1.2.2 program, which allows for different tone frequencies and lengths.
 * This feature is disabled by default and can be enabled in LocalSettings.php (see definitions in DefaultSettings.php)
 * [[Image:exclam2.png]]See also the security advice in the same section on the documentation page.

changed program modules

 * in subdirectory /includes:
 * Article.php
 * DefaultSettings.php
 * PageHistory.php
 * Setup.php
 * Skin.php
 * SkinPHPTal.php
 * SpecialWatchlist.php -- changes in watch list treatment
 * SpecialRecentChanges.php -- changes in watch list treatment
 * UserMailer.php -- to send enotifs for pages unlike user_talk pages
 * UserTalkUpdate.php -- to send enotif for user_talk page
 * WatchedItem.php -- changes in watch list treatment (talk pages and their parent pages are treated separately after applying this patch, because every page needs their own entry in the watchlist table)


 * These routines are essential and only needed once for creating the correct table layout including the new field wl_notificationtimestamp in database table watchlist (during a fresh installation) or for updating an existing database by adding this field to that table (when upgrading a wiki and using an old-format existing database)
 * /config/index.php
 * /maintenance/updaters.inc
 * /maintenance/tables.sql
 * /maintenance/archives/patch_email_notification.sql (new)

new appearances on pages

 * the small marker icon indicates these page versions in your page "My watchlist", "Recent Changes" and "Page History" of a certain page which have new information since your last visit, i.e. for which you already received a change notification (if you have set up your email address in the preferences), but which you have not visited yet.


 * [[image:exclam2.png]] If you add your own user_talk page to the watch list, you will receive two enotifs as someone changes it, because the user_talk page is already treated in another module.

new message pages

 * will be generated automatically during a fresh installation or can be generated or refreshed at any time manually:
 * 1.3.x users use php /maintenance/rebuildMessages.php (choose of of the options, e.g. 2)
 * CVS 1.4 users use php /maintenance/rebuildMessages.php --rebuild


 * /Languages/Language.php stores the default texts for these three messages pages needed by enotif:
 * MediaWiki:Email_notification_infotext email notification infotext
 * MediaWiki:Email_notification_to email notification to
 * MediaWiki:Email_notification_subject email notification subject
 * MediaWiki:Email_notification_headers email notification headers
 * MediaWiki:Email_notification_body email notification body
 * MediaWiki:Updatedletter:
 * MediaWiki:This_is_a_minor_edit

Outstanding matter
see email notification to-do list