Mailing List Archive

Watchlist restructuring
Ahh, the ever-changing watchlist. :)

I've just checked in changes to switch the watchlist table to use
namespace/title pairs instead of the cur_id numeric key. This may sound
like a dumb idea, but it's actually good:

* Restores ability to watch nonexistent pages that may come into being
(or pages that are deleted and recreated -- with a different cur_id, but
the same title)
* Makes it easier to deal with article/talk pairs; just and/or out the
ones bit of the namespace. Now articles and their talks are considered
identical; if you're watching one, you're watching the other. If you
unwatch one, you unwatch the other.

I also would like it to deal better with renames; it's been suggested
(bug report 654899) that both the old and new titles be included in the
watchlist. The old old behavior was to show only the old title, which
would show up at the time of move as 'moved to XX' (good if you notice
it, but won't show any more edits to the article unless you explicitly
follow the redirect and add it); the current behavior is to show only
the new title, which remains buried at its last edit (but if it's edited
again, you see the current edits).

At the moment the cvs code will dupe the watchlist entry for the new
title too, but only for the user doing the rename. It should do that for
all users, which sounds annoying since you can't do an INSERT INTO ...
SELECT FROM the same table in MySQL. So probably a loop, urgh.

Code is running on test.wikipedia.org; try it out and let me know if
it's horribly broken before I install it around in the morning.

I've added a 'patch-list.txt' in the maintenance directory; the
watchlist fixerupper code is in path-watchlist.sql.

-- brion vibber (brion @ pobox.com)