Page MenuHomePhabricator

Watch user page and user talk page by default
Closed, ResolvedPublic

Description

Author: swalling

Description:
The vast majority of users are interested in what edits are made by others to their user page and user talk page. They should be watching both by default, which for some reason is not the case now.

I brought this up on the editor engagement mailing list (http://lists.wikimedia.org/pipermail/ee/2013-June/000488.html) and so far there is agreement that the sane default is to have users watch their own user page and user talk page. No one so far has brought up a common case where you wouldn't want to, especially as a new user.

I would recommend we simply turn this on for all, and I'll commit to making necessary announcements on the mailing lists, in the new Tech News newsletter, etc.


Version: 1.22.0
Severity: enhancement

Details

Reference
bz49719

Event Timeline

(In reply to comment #0)

The vast majority of users are interested in what edits are made by others to
their user page and user talk page. They should be watching both by default,
which for some reason is not the case now.

Hmmm. I don't think this can simply be enabled on Wikimedia wikis. Does this functionality exist in MediaWiki currently? If so, is there some sample code you can provide to accomplish this? If not, this bug should be switched to a MediaWiki bug to implement this functionality.

In MediaWiki, watching a subject-space page unconditionally watches the talk page and watching a talk page unconditionally watches the subject-space page). They're linked. New users don't watch either page by default, but the root user talk page is special in that most edits to it will trigger a notification (the new messages bar). This is distinct from the watchlist (the new messages bar is tracked by the user_newtalk database table). As far as I know, there's no way to set a user to automatically watch his or her user/user talk pages, though I may be mistaken.

swalling wrote:

(In reply to comment #1)

(In reply to comment #0)

The vast majority of users are interested in what edits are made by others to
their user page and user talk page. They should be watching both by default,
which for some reason is not the case now.

Hmmm. I don't think this can simply be enabled on Wikimedia wikis. Does this
functionality exist in MediaWiki currently? If so, is there some sample code
you can provide to accomplish this? If not, this bug should be switched to a
MediaWiki bug to implement this functionality.

In MediaWiki, watching a subject-space page unconditionally watches the talk
page and watching a talk page unconditionally watches the subject-space
page).
They're linked. New users don't watch either page by default, but the root
user
talk page is special in that most edits to it will trigger a notification
(the
new messages bar). This is distinct from the watchlist (the new messages bar
is
tracked by the user_newtalk database table). As far as I know, there's no way
to set a user to automatically watch his or her user/user talk pages, though
I
may be mistaken.

I didn't know if there was an easy way to configure this either, but I thought I'd ask first. If we need to change this to a feature request, be bold. :)

Others suggested to me that we do this on account creation, which works too maybe.

(In reply to comment #2)

I didn't know if there was an easy way to configure this either, but I
thought I'd ask first. If we need to change this to a feature request, be
bold. :)

To implement this, I suppose there are two ways to do it, depending on whether you want this to be unconditional.

The first way would be hacking this into Special:Watchlist (around where it retrieves a user's watched pages, you'd just unconditionally add these two pages to look up).

The second way would be to hook into the new account creation process and automatically create these rows in the watchlist table for each new user. This method allows users to opt out of watching their own pages. You'd also need a maintenance script to update existing users.

Broadly, I think this feature request is fine (I think it makes sense to auto-watch your own user/user talk page), but there seem to be two open questions:

Should watching your own user/user talk pages be non-optional (i.e., do we want to retain the ability to unwatch your own user/user talk page)?

Should this feature apply to all MediaWiki wikis or just Wikimedia wikis?

swalling wrote:

Broadly, I think this feature request is fine (I think it makes sense to
auto-watch your own user/user talk page), but there seem to be two open
questions:

Should watching your own user/user talk pages be non-optional (i.e., do we
want
to retain the ability to unwatch your own user/user talk page)?

Yes, I think we want to give users the option to unwatch these pages if they really want to.

Should this feature apply to all MediaWiki wikis or just Wikimedia wikis?

I could see this as a sane default for all MediaWiki wikis, but I don't think it's a must have.

In the short term, I'd be satisfied with watching user/user talk pages to new user watchlists on account creation. Most active editors who want to probably already watch these pages, so running an extra maintenance script is probably unnecessary.

(In reply to comment #3)

The second way would be to hook into the new account creation process and
automatically create these rows in the watchlist table for each new user.

This one (although if it's in core, it probably doesn't need to use a hook). I agree with Steven, there's no reason to prevent people from unwatching them.

You'd also need a maintenance script to update existing users.

I also agree I'm not sure this is both worth it and a good idea. I certainly wouldn't want it to run on accounts that have been editing for years (by now, they know what a watchlist is, and could certainly have watched their user page if they wanted to). It might be worth doing on recent accounts.

Should this feature apply to all MediaWiki wikis or just Wikimedia wikis?

All MW, in my opinion. There's nothing WMF- or Wikipedia- specific about this use case. We could gate it with Yet Another wg, but if so I think it should be defaulted to true in core.

I think this is a good idea and I agree with Matthew's points: new MediaWiki feature for new MediaWiki users.

Ha, I was just thinking about this for unrelated reasons. Yes please.

(In reply to comment #3)

Should watching your own user/user talk pages be non-optional (i.e., do we
want to retain the ability to unwatch your own user/user talk page)?

I'm going to disagree with Steven and Matt here and say that no, it shouldn't be unwatchable.

Most of all, I can't think of a use-case for not watching your talk or user page. Can anybody provide one?

But also, doing it this way would make it possible to stop tracking user talk page edits in two different places (as mentioned in comments above), one for talk notifications (user_newtalk table) and one for page edit notifications (wl_notificationtimestamp field in watchlist table), and less code is always better. (This might be a large-ish project to complete, though, so I won't insist if somebody wants to make the situation better now and do it the other way.)

Should this feature apply to all MediaWiki wikis or just Wikimedia wikis?

Sounds perfectly fine for all of MediaWiki to me as well.

The obvious use case I can think of for not wanting to watch your userpage/talkpage is filling your watchlist with irrelevancies. The first thing that comes to mind is it informing you of changes to your talkpage that you're distinctly informed of via echo/new messages/whatnot.

Obviously some degree of duplication is inevitable in a system that starts from the premise that the watchlist should inform you of /your/ edits. That's why we allow people to modify their settings and displayed items, up to and including removing a page from their watchlist. Being able to unwatch your talkpage seems the right thing to do, here.

In regards to the bug title, I agree this should be done by default - but this hinges on them being able to turn if off if they don't want it.

I am definitely not convinced of the value of adding functionality to prevent unwatching, either - if folks don't want their userpage/talkpage in their watchlist, chances are they'll be watching it some other way (say, visiting from time to time, or just using email/echo notifications) or really don't care if anyone's editing it anyway. Same as any page.

That some users don't use their watchlist for anything and still manage to keep up with things should speak to the fact that it certainly ought not be necessary to watch a specific page if they don't want to.

Matmarex, not allowing it to be unwatchable would complicate things. From “How to remove items from Special:WatchList” to make the user page a special case since showing the watch tab would be inconsistent as people couldn't unwatch it (and allowing the watch action would be inconsistent). Plus things like “user rename changes your user page to the new name, but leaves all the subpage watches with the old name”

Just KISS: add the entry to wl table.

Hmm. Okay, consider me convinced.

Bartosz: you added the performance keyword to this bug and I'm unclear why.

Because I am concerned that adding so many watchlist entries will explode Wikipedias. I am hoping somebody more knowledgeable will tell us that it won't.

Change 95742 had a related patch set uploaded by Bartosz Dziewoński:
Watch user page and user talk page by default

https://gerrit.wikimedia.org/r/95742

I have been told that it probably most likely will not explode.

Change 95742 merged by jenkins-bot:
Watch user page and user talk page by default

https://gerrit.wikimedia.org/r/95742

Currently, only my homewiki, has my userpage watchlisted by default.

I.e. I create a new account at Enwiki. The userpage there is automatically watchlisted. I then go to Frwiki. The userpage there is Not watchlisted.

Can I re-open this bug, or should I file a new bug?

(In reply to Quiddity from comment #18)

Can I re-open this bug, or should I file a new bug?

filed as bug 69589

By the way it's easy for any MediaWiki (system) administrator to add more pages to watchlist by default at user creation, with something like this in LocalSettings.php:

$wgHooks['AddNewAccount'][] = function ( User $user, $whatever ) {
	$pages = array (
		'Page1',
		'Project:Page2',
		'Project:Page with space 3',
	);
	foreach( $pages as $page ) {
		$title = Title::newFromText( $page );
		if( $title ) {
			$user->addWatch( $title, WatchedItem::IGNORE_USER_RIGHTS );
		}
	}
};

I just used this on http://wiki.wikimedia.it where we want new members to be aware of some crucial pages.

Update: Fixed typo spotted by matt (partial translation of the Italian configuration, ouch).

By the way it's easy for any MediaWiki (system) administrator to add more pages to watchlist by default at user creation, with something like this in LocalSettings.php:

Thanks for the tip.

There is a minor typo (it's $titolo in one place, $title in another).