Extension:Email notification/installation/Archive

From MediaWiki.org
Jump to navigation Jump to search
Email Notification (ENotif) v3.x/CVS REL1_4, REL1_5DocumentationScreenshotsInstallationTo-Do listFAQBugsVersionsYour feedbackall pages at once




under construction --Tom Gries [mail] 07:10, 12 Dec 2004 (UTC)

Preview of ENOTIF 2.00

Installation script form (section)
example for an update action from user_newtalk to watchlist table


The 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.


 *** Disclaimer: SEE BELOW ***
 *** 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

  tar -xcf mw137+en135.tgz 
  • 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

  • /testwiki/languages/Language.php and
  • /testwiki/includes/DefaultSettings.php

to change them from case to case to your own preferred settings.

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.


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

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

complete tgz follows)

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

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

=== 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 ==

* Enotif v1.33
 written by Tom Gries, Berlin and Markus Arndt, Munich

* Executive summary for the impatient reader:
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

* Details:
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

* Changes from previous enotif versions

* v1.31 is an improved version with many security and also cosmetic changes
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.22 "updated (since my last visit)" also shown for users without stored
email address in preferences, so that they can see, what watched pages
have changed.
* 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
classic skin and in monobook skin
* Systemvariables in DefaultSettings.php to enable or disable features
* v1.21 now suppresses displaying the marker "updated (since my last visit)"
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.
* enotif mails come with a link to the diff view between current and last
visited version of the watching user; feature was proposed by
Chris Phoenix, thank you !

*database structure is changed automatically when installing via the
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
    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

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


  • 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)
  • File:Exclam2.pngSee also the security advice in the same section on the documentation page.

changed program modules[edit]

  • 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[edit]

  • the small marker icon Updatedletter 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.
  • File: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[edit]

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

Outstanding matter[edit]

see Extension:Email notification/to-do