Last modified: 2014-11-17 10:36:44 UTC
Hello! When I read my watchlist - I see long list with many entries and full text. But when I open it ( http://ru.wikipedia.org/w/api.php?action=feedwatchlist ) in RSS-agregator (for example Abilon) I see very short list of messages - with entry name, author and date only. How can I see RSS-feed the same watchlist as it is in browser? Or it is a bug of RSS-feed http://ru.wikipedia.org/w/api.php?action=feedwatchlist ? Thank You! :)
By default, action=feedwatchlist only returns entries changed in the last 24 hours. You can set this to 72 (maximum) using: http://ru.wikipedia.org/w/api.php?action=feedwatchlist&hours=72
Created attachment 3778 [details] Screenshot RSS-client
But what I see in RSS-client: See attachment - that is all ("white" field right down corner) - only title, name and date ?? And where is content of message?
Created attachment 3779 [details] Screenshot of the watchlist feed in Firefox This is what I get from http://www.mediawiki.org/w/api.php?action=feedwatchlist&hours=72 <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/css" href="http://www.mediawiki.org/skins-1.5/common/feed.css?76"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>MediaWiki - My watchlist [en]</title> <link>http://www.mediawiki.org/wiki/Special:Watchlist</link> <description>My watchlist</description> <language>en</language> <generator>MediaWiki 1.11alpha</generator> <lastBuildDate>Fri, 15 Jun 2007 14:06:45 GMT</lastBuildDate> <item> <title>Talk:API</title> <link>http://www.mediawiki.org/wiki/Talk:API</link> <description>/* Page watched ? */ no need (Catrope)</description> <pubDate>Thu, 14 Jun 2007 19:42:00 GMT</pubDate> <dc:creator>Catrope</dc:creator> </item> <item> <title>API</title> <link>http://www.mediawiki.org/wiki/API</link> <description>/* siteinfo / si (done) */ updating (Catrope)</description> <pubDate>Thu, 14 Jun 2007 17:03:14 GMT</pubDate> <dc:creator>Catrope</dc:creator> </item> </channel> </rss> All this shows is the name of the page, a link to it, and the user, summary and timestamp of the last edit. I also attached a screenshot of how Firefox displays this feed. I'm diving into the code right now and will try to implement returning the diff since your last visit in the feed.
Hm... Summary - but where in this screenshot is "summary"? Diff - Oh, yes, if I right understand You :)
The content of the page isn't supplied with the RSS feed, a link to the page is. We could change that link to point to the associated diff if you want to. IIRC, there are RSS readers (Mozilla Thunderbird's built-in RSS readers) that do show the content of the page. Unfortunately, action=feedwatchlist doesn't seem to work with Thunderbird (gives me the not logged in error). How did you configure Abilon to log in automatically?
1) As I know, RSS 2 supply content - or not? 2) About diff: for example, RSS of history of Wikipedia page show diff OK. 3) Abilon and FeedReader 3 have fileds "login" and "password" in options of each RSS-feed. Abilon show RSS-feed OK. But FeedReader 3 cannot show this RSS-feed. You can use link http://LOGIN:PASSWORD@ru.wikipedia.org/w/api.php?action=feedwatchlist&hours=72 instead of fileds "login" and "password".
Created attachment 3795 [details] Abilon show diff - history of Wikipedia page
Somehow that doesn't work with Thunderbird. Your screenshot must be of a Recent Changes feed, it's true that they do show the diffs. I'll see how the RC feed is modelled and try to make the watchlist feed the same (showing the diffs since last view, or the last diff if you've seen the last revision already).
I've tried to get the diff of the last revision into the feed, but I couldn't get it working. It should be easy (in theory) with the patch attached to bug 10297: query api.php?action=query&generator=watchlist&prop=revisions&rvprop=ids|user|comment internally and put the diff between the last two revisions in the <description> field (if the showdiff parameter is set of course). It doesn't sound difficult, but I couldn't get it done.
Seeing as nothing's been done on this since June, I'm marking it for LATER.
Created attachment 7761 [details] add diffs parameter to feedwatchlist that implements this feature I doesn't change getVersion() string, which should probably be changed if this is committed to SVN. Patch is against the latest SVN snapshot.
The parameter "diffs" is ambiguous. I am going to change that to something like "linktodiff"
I've been rereading this thread, but it seems that your patch does not address the issue raised in this bug. This bug is about including the contents of the diff, not about the diff link itself.
Sorry, I should have read the bug description more carefully; the title seemed to match what I had in mind. Can you still commit the patch? I think it is a very useful feature and I tested it by installing MediaWiki on my own computer and it should work fine. Meanwhile, I could research if I can help with the exact concern raised in this bug.
Done in r77366. Unassigning for the actual feature request on this bug. I wonder if it would be considered unacceptable for performance reasons to include the diff of every entry?
After quickly looking through the MW database layout, it seems like implementing this feature in the way originally meant would require a query to the "text" table to produce the diff output; something that is not needed in my solution. AFAIK this would reduce the performance of the feedwatchlist feature, and would requrie much more extensive testing to be safe for commiting to high-traffic sites like Wikipedia. I would dare to say that without some elaborate diff caching solution the performance hit might be just too hard. In my solution the comment and the contributor are visible in the RSS/Atom feed item, and the user only has to open the item's link in a browser to see the diff. This does not require any additional database queries when the feedwatchlist is generated unless the user opens the link, much like by opening the "diff" link in Special:Watchlist.
All the caching is done by the DifferenceEngine in includes/diff. There is a good chance that most (especially recent) diffs are cached. Also I see that the RC feed includes diffs. On the other hand RC is the same for all users and for a high traffic site it is pretty much guaranteed that the recent diffs are cached, whereas the watchlist feed may contain much older items. That said, I see that it is limited to 72 hours. Conclusion: most diffs are probably cached, so including all diffs is not a too big issue. Any comments on this?
Well, in that case the relevant diffs would get cached when the user first time loads his feedwatchlist in opening his browser/aggregator, and subsequent queries would either concern new recent changes or already cached diffs. Sounds doable and performance could remain acceptable.
*Bulk BZ Change: +Patch to open bugs with patches attached that are missing the keyword*
(Adding the "reviewed" keyword since the patch has been reviewed, and in fact committed. Thanks, Ville Stadista!)
*** Bug 23349 has been marked as a duplicate of this bug. ***
See also Gerrit change #132589 (to use the diff link in the equivalent contributions feed) and Gerrit change #132590 (to always link to the diff in the watchlist feed).
This bug is equivalent to bug 41085 (concerning the contributions feed). These two bugs should probably be fixed in the same way.
Change 150271 had a related patch set uploaded by Rohan013: Include diffs in Watchlist feed https://gerrit.wikimedia.org/r/150271