Page MenuHomePhabricator

Improve usage tracking granularity to avoid irrelevant changes showing in the watchlist.
Closed, ResolvedPublic

Assigned To
Authored By
daniel
Feb 23 2015, 1:48 PM
Referenced Files
None
Tokens
"Like" token, awarded by TomT0m."Heartbreak" token, awarded by Raymond."Like" token, awarded by Liuxinyu970226."Mountain of Wealth" token, awarded by Quiddity."Yellow Medal" token, awarded by Oliv0."Like" token, awarded by Pine.

Description

Ideally, RC and Watchlist on a client wiki would only show Wikidata changes that actually affect the rendered output of a local page. With the current usage tracking infrastructure, we can omit notifications e.g. when only the local label and page title corresponding to an item is used, but a label in a different language, or a statement is changed. However, as soon as any statement is used on the local page, changes to any statement will trigger a watchlist entry.

Since Lua is a full programming language, it is not trivial to track what change would effectively cause the page output to change. We should be able to do better than what we do currently.

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.
StatusSubtypeAssignedTask
OpenNone
ResolvedLydia_Pintscher
OpenNone
OpenNone
OpenNone
ResolvedLydia_Pintscher
ResolvedLydia_Pintscher
Resolvedhoo
Resolvederanroz
DuplicateNone
Resolvedhoo
OpenNone
Resolvedhoo
ResolvedLadsgroup
DuplicateNone
Resolvederanroz
Resolvedhoo
OpenNone
Resolvedhoo

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
daniel renamed this task from Improve usage tracking granularity to avoid irrelevant changes from being shown in watchlist. to Improve usage tracking granularity to avoid irrelevant changes showing in the watchlist..Feb 23 2015, 1:48 PM
daniel raised the priority of this task from to Needs Triage.
daniel set Security to None.
daniel added subscribers: Aklapper, daniel.

I am quite conflicted about this. On the one hand I want to have many people see all changes on an item so they can help keep Wikidata's data in good shape. They can even do this for languages they don't speak and they can definitely do this for data that isn't used in their article. At the same time I see people wanting to see less in their watchlist that is not relevant for them.
This needs thinking and evaluating of options and testing.

some stats from enwiki:

  • 42491 users have "enhanced" changes
  • 2030 have preference to show wikidata changes in recent changes,
  • 3614 have preference to show wikidata changes in watchlist

I'd be curious to know from users what they like about the feature, what they would like improved or why they don't like it.

A checkbox either in the watchlist form or in special:preferences might help here (a user at en.wp suggested the former but I would take the latter as well).

some stats from enwiki:

  • 42491 users have "enhanced" changes
  • 2030 have preference to show wikidata changes in recent changes,
  • 3614 have preference to show wikidata changes in watchlist

I'd be curious to know from users what they like about the feature, what they would like improved or why they don't like it.

Since I have been unable to use the client watchlist with Wikidata edits (I use enhanced RC/WL), I would guess it's pure overwhelming volume, and may be more related to e.g. T125768.

This task has high priority, but it is opened for more than 2 years. Any progress?

Without improvements in this front, I believe using Wikidata on recent changes/watchlist (hideWikibase=0) is not practical. Example:

  1. The label for Vienna in tt language was changed on wikidata (https://www.wikidata.org/w/index.php?title=Q1741&curid=2243&diff=475779943&oldid=474158055)
  2. This result in tons of pages in wikipedia which use Vienna as place of birth/death to appear in the recent changes.
(diff | hist) . . D יאקוב אלט (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D סבסטיאן קורץ (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D יורי פרנץ קולצ'יצקי (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אניה סלומונוביץ (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D פליקס דה ולדון (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D יוזף פון שטרנברג (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D וולפגנג לייבניינר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D פרנץ גרילפרצר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D הברית למען עתיד אוסטריה (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אלן פרייס (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D קלאודיה הייל (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אלברט פריס גוטרסלו (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אוטו ואלה (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D ויקטור אדלר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אוטו פרמינגר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D תומאס קלסטיל (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D רודולף קירכשלגר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D פרנץ יונאס (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אדולף שרף (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D תאודור קרנר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D וילהלם מיקלס (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D מיכאל הייניש (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D קרל זייץ (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D גוטפריד הלנוויין (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אוטו הרשמן (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D לאופולד לינדטברג (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D המפלגה הסוציאל-דמוקרטית האוסטרית (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D קרל רנר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אגון שילה (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D פאול נוימן (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D אריך פון שטרוהיים (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D קורט ולדהיים (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D מירה לובה (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D יוסל ברגנר (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D ויסטן יו אודן (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D וינה (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)
(diff | hist) . . D חיים נחמן ביאליק (Q1741 [ תרגום ]); 12:26 . . Marat-avgust (‏שונתה התווית בשפה [tt]: Вена)

Currently it isn't feasible to use watchlist with wikidata changes in local wikis as it introduce too much noise, and this is the one of the main points against introducing wikidata to more templates by wikipedia editors, claiming there is no simple way to track against vandalism in templates using wikidata.

I may work on it in the upcoming Wikimania hackthon. Specifically I'm planing to change how wikibase client works regarding watchlists:

  1. filter out changes in wikidata which affect other languages (e.g label/description in [xx] language shouldn't appear for wiki with [yy] language). Possibly fallback languages may appear.
  2. Possibly same for sitelinks

(*) I'm aware that it MAY theoretically possible to use Lua to fetch label in other languages other than the local wiki language. However, this is extremely unlikely and if one want to support it we need to figure out how to track it easily.

@eranroz wrote

filter out changes in wikidata which affect other languages (e.g label/description in [xx] language shouldn't appear for wiki with [yy] language). Possibly fallback languages may appear.

So, if enwiki uses a ru label in an infobox about a russian city, and that label is changes, you don't want that to show in the watchlist? Relying on the wiki's content language for filtering seems like a bad idea. We can actually know which language is indeed used on the page, we should use that information!

I think we should:

  • improve tracking of data access done via Lua. Currently, programmatic access via Lua is tracked as "all data is used", causing all changes to show in the watchlist - because we don't know which ones are relevant. @hoo recently wrote some code that could be used to achieve this.
  • improve how fallback languages are tracked. right now, changes to English labels show up everywhere, because English is the fallback for all other languages (for historical and practical reasons). But if the xx label was requested and is actually defined, there is no point in tracking English, too. We could removed that, reducing the noise. However, even then, if xx was requested but not defined, so English is used, both codes, xx and en, need to be tracked.

Possibly same for sitelinks

So, if the cswiki sitelink for Q22686 is changed to Osel_domácí, you don't want to know that your page on Donald Trump is now linking to the Czech page on donkeys?

What we could try to do is to make use of rc tags to allow more fine grained filtering, so people can decide what to hide and what to include.

We at WPMED pulled the us of nearly all WD properties about a year ago as this ability does not exist. The lack of its existence is preventing use of WD further. We have the bandwidth to keep an eye on the specific elements used. We do not have the bandwidth to keep an eye on the entire WD item.

@eranroz wrote

filter out changes in wikidata which affect other languages (e.g label/description in [xx] language shouldn't appear for wiki with [yy] language). Possibly fallback languages may appear.

So, if enwiki uses a ru label in an infobox about a russian city, and that label is changes, you don't want that to show in the watchlist? Relying on the wiki's content language for filtering seems like a bad idea. We can actually know which language is indeed used on the page, we should use that information!

  • en may use https://www.wikidata.org/wiki/Property:P1559 (name in native language)/https://www.wikidata.org/wiki/Property:P1705 (native label) for Russian names, but unlikely to use ru label. If it does use ru label, this is probably wrong.
  • If we don't have this information we can heuristically assume it use only local labels - and be correct for 99.99% of the time which is way better than the current state. but if we do have this information (en pages using ru label or similar) - this may be a little bit better than content language filtering. Where do we have this information? (I'm concerned especially for Lua use).

Possibly same for sitelinks

So, if the cswiki sitelink for Q22686 is changed to Osel_domácí, you don't want to know that your page on Donald Trump is now linking to the Czech page on donkeys?

What we could try to do is to make use of rc tags to allow more fine grained filtering, so people can decide what to hide and what to include.

  • As non cs speaker, I wouldn't know it is wrong. Having it as a preference where user can select whether to show/hide it is a good idea.

On dewiki I have a lot of articles about people on my watchlist. Every change on i.e. Q5 (=human) makes my watchlist unusable for hours. I know how to filter but then Wikidata changes directly related to the watched Wikipedia article are filtered too :-(

9. September 2017
		 K    18:17 	Petra Joy‎ (Unterschied | Versionen) . . (+2)‎ . . Aka (Diskussion | Beiträge | Sperren) (Halbgeviertstrich)
		 K    18:05 	Puerto Rico‎ (Unterschied | Versionen) . . (+4)‎ . . Density (Diskussion | Beiträge | Sperren) (→‎Fauna: form)
		 K  D 17:37 	Dolmetschen‎ (Q210439) (Unterschied | Versionen) . . Deborahjay (Diskussion | Beiträge) (Sprachlink hinzugefügt: zu:Ukutolika)
		      16:56 	Carsten Spengemann‎ (Unterschied | Versionen) . . (+423)‎ . . JohnnyNo89 (Diskussion | Beiträge | Sperren) (Neue Kommentatorentätigkeit im TV/Internet bei einem relevanten Format (ran).) (Markierung: Visuelle Bearbeitung)
		 K  D 16:50 	Alain Frei‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Alida Kurras‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Ally MacLeod‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Andrea Kiewel‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Andrea Spatzek‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Anetta Kahane‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Anna Fischer‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Anna Nowak‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Anna Planken‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Annette Frier‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Arno Steffen‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Arzu Ermen‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Aslı Sevindim‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Bahar Kizil‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Barbara Schöneberger‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Beate Abraham‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Britta Heidemann‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Bruno Eyron‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Caterina Valente‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Chiara Schoras‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Christina Hecke‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Christine Henning‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Claus-Erich Boetzkes‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Claus Fischer‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Claus Vinçon‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Collien Ulmen-Fernandes‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Cosima Viola‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Costa Cordalis‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Cristina do Rego‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Dagmar Berghoff‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
		 K  D 16:50 	Daniel Sträßer‎ (Q5) (Unterschied | Versionen) . . Matěj Suchánek (Diskussion | Beiträge) (‎Aussage erstellt: Property:P1051: 2693, #mix'n'match)
... until Z....

Yeah, there are 3 aspects:

  1. Performance - Avoiding unnecessary RC rows. - This task
  2. Sane defaults - If a change doesn't affect the Wikipedia page in any way (neither the rendered output, nor the site links), it shouldn't be displayed to the user. - This task
  3. Additional user-controlled filtering (e.g. although site links are always relevant and should be available in Wikipedia RC, people may not always want to see them) - T176515: More flexible user experience for monitoring Wikidata changes from client, using new filters

1 and 2 are separate goals, but very related. 3 is different.