Extension:Email notification/to-do

minor edits on user_talk page are not suppressed (currently)
We use the existing mechanism which signals to a user, that he or she has a new message on his/her user_talk page (You have new messages) for memorizing that a notification has already been sent. This existing method does not distinguish between minor or non-minor edits, therefore a notification is triggered by either edits.

When implementing the other forthcoming proposal to stop the different treatment of user_talk (implicitly watched) and other watched pages, this is limitation will be lifted.

Sub-proposal: treat user_talk pages as every other page
listed as http://bugzilla.wikipedia.org/show_bug.cgi?id=581

Reasons:
 * The user_talk pages are currently treated differently and use other database fields than normal watch-listed (non-user_talk) pages (they use a second table newtalk and a different program module UserTalk.php).


 * It would be more convenient to have them in the normal table watchlist:
 * wl_notificationtimestamp could be used (instead of userid as a flag)
 * minor edits can or cannot be suppressed to trigger notification, like with other normal pages

Sub-proposal: stop linked watchlist-treatment of normal pages and their corresponding talk pages
listed as http://bugzilla.wikipedia.org/show_bug.cgi?id=580


 * In the current MediaWiki version pre-1.4, if a user adds a page X or the corresponding talk page talk:X page to the watchlist, the other page (talk:X or main page:X) is also watchlisted, but the program treats them internally as one database entry and applies logical operations to namespace identifiers.

Proposed is to stop this (program-internally) linked treatment with logical operations and instead to treat both kind of pages separately: to add two entries to the watchlist table.

This is necessary to allow a clear separate treatment of memorizing when a user visits one of the pages - it could be that only the talk:X page is visited, whereas the normal page is still waiting for the user's visit (in order to get the notification timestamp cleared.)

These changes are partially done for http://bugzilla.wikipedia.org/show_bug.cgi?id=454 (enotif) in version 1.4 in the sense, that the pages are treated separately. i.e. a user must explicitly add each single page (non-talk, talk page) to the watchlist.

using namespace_title as index (as proposed here)

 * On Wednesday 11 August 2004 02:51 pm, Luis Casillas wrote: Something I've wanted to add to MediaWiki is email notifications of watchlist page changes. The users of the wiki I'm running have asked for this feature.

This should be fairly straightforward '''[available soon with this patch --Nyxos 22:36, 12 Sep 2004 (UTC)] '''

On each commit, search the watchlist table for instances of that page and collect the returned user id's into an array. Step through the array, getting the email address associated with each id. Then send out a mail that's BCC'd to each address.

If the watchlist table gets very big, it could take a long time for the edit to be committed. However, the "namespace_title" field is already a table index, so it shouldn't be too bad unless it's a huge wiki, in which case, a flag in LocalSettings could disable the option.

Bruce

resend notifications older than ..

 * a kind of bring forward

broadcast email function

 * Sysops might need a tool to send a mail to all users with email addresses and or to place messages into all user_talk pages. This could also be done by a "global" broadcast template, which is automatically included (rendered, not inserted) into all user_talk pages.

watchlist: "bulk remove pages" (clear watchlist) function

 * a special function or button to actually remove all pages from your watch list. With email notification, a watching user with a huge watchlist would not like to get hundreds of notifications for the watched pages. But currently with version 1.3.3, it's cumbersome to select and remove them one by one.

extended watchlist (primary, with email notification) and secondary (without)

 * add a second column of select boxes for enable email notification on the already existing [ second watchlist] page
 * enable/disable individually selected pages by their individual (second) select box for email notification
 * enable/disable all watch listed pages for email notification

send email notification as digest

 * user selectable digest function: a collective notification mail is only sent when one of these conditions becomes true:
 * the number of pending notifications (not yet sent to that user) is reaching a threshold eg. 10 pending notifs OR
 * maximum silence timeout reached eg. 3 days

In other words, this user will get a notification digest email on the 10th page change in an interval of 3 days (since the last notification was sent) or at latest after the 3rd day if less than 10 page changes occurred.