Page MenuHomePhabricator

Stop linked watchlist treatment for normal pages and corresponding talk pages (not user_talk pages)
Closed, ResolvedPublic


Stop the (program internally) linked watchlist treatment of normal pages and
their corresponding talk pages (not: user_talk pages).

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 watch-listed. However, the program treats them internally
as ''one'' database entry and applies logical operations on namespace
identifiers to achieve the wanted combined watch list handling. For the normal
program flow this is not a problem, but when introducing email notification (see ), a clearly separated
treatement is needed to store the timestamp of sending the notification mail
separately for every page.

It is now proposed to stop the linked (program-internally) treatment using
logical operations and instead to treat both kind of pages *separately*,
namely to add ''two'' entries to the '''watchlist''' table:

if a user adds a page:X , the program needs to add automatically both page:X and
the talk:X page to the watchlist to (have the same action as in older versions).

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. Remark: visiting
a watched page clears its notification timestamp which is used for suppressing
notification mails if one is already sent.

The last paragraph describes the modified handling *with the enotif patch*:

The described changes are partially done for (enotif) in version 1.4 in
that sense, that the pages are treated separately. This also means a small
limitation/drawback when having the enotif patch applied, namely that a user
must explicitely add each single page (non-talk, talk page) he/she wants to
watch to the watchlist - which differs from previous program releases. The
limitation/drawback is planned to be released in further enotif versions.

Version: 1.4.x
Severity: enhancement



Related Objects


Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 6:56 PM
bzimport set Reference to bz580.
bzimport added a subscriber: Unknown Object (MLST).

Can you clarify what's being asked for here?

If what's proposed is to have pages & their talk pages be treated separately in the watchlist *in a user-visible fashion*, this will be resolved as

If what's proposed is an invisible back-end change to be used for internal tracking, this will be resolved as a duplicate of bug 454.

No feedback; closing as INVALID.

Please have a look to the (original source eg. 1.4) - you will find
BITOPERATIONS on namespaces integer numbers, which effectively logically "OR"
namepace and talK_namespace pages.

Example in SpecialRecentchanges.php (lines 94 seq.)

sql2 = .... AND wl_namespace = rc_namespace & 65534

This - the linked treatment based on ONE entry in the watchlist table serving
for TWO PAGES - makes BIG TROUBLE when we need to keep track, for WHICH of the
both pages we actually have sent a notification out; this must(!) be memorized
separately. This is why I intentionally set up an entry for each page a user
actually watches in enotif patch starting with v1.0 .

This is meant by the Bugzilla bugreport --> stop the (INTERNALLY) LINKED
treatment -- the user interface can remain unchanged(!).

My bug report has nothing to do with the user interface (which should remain
unchanged, i.e same functionality as in older versions: when you add a page, the
accompanying talk page will be watched too -- simply by a slight code change,
which I propose, which then adds BOTH pages to database table watchlist -- the
very same user functionality, but internally better and clearer program
structure without logical bit operations on namespace numbers.


If you do not agree - please delete this bug finally, I have nothing against
finally deleting.

Then I will only keep this changes in the enotif 454

  • This bug has been marked as a duplicate of 454 ***

The forthcoming Enotif versions > 1.21 comes with

  • program internal *separate* handling of any watched page (namespace:page and

namespace_talk:page have two entries in watchlist)

  • user interface remains unchanged as usual, i.e. when users add either page or

its talk_page, the corresponding is automatically watched too.

Modification to achieve this
in module WatchedItem.php, functions addwWatch() and removeWatch() adds or
removes the other page (talk or parent) automatically too.

In both functions, the part
...'wl_namespace' => $this->ns

is replaced by
...'wl_namespace' => ($this->ns & 65534),

and a second database query for
...'wl_namespace' => ($this->ns | 1),
is introduced.

So for the sake of keeping the user interface unchanged, this bug can be treated
as CLOSED for Enotif > 1.21

  • Bug 11459 has been marked as a duplicate of this bug. ***