rietveld-codereview / rietveld

Code Review, hosted on Google App Engine
https://codereview.appspot.com
Apache License 2.0
560 stars 152 forks source link

add pubsubhubbub support to RSS feeds #155

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
It would be useful if rietveld could be told to use a
pubsubhubbub hub to track RSS feeds, so that clients
could avoid polling the RSS.

http://code.google.com/p/pubsubhubbub/

In particular I'd like to see this on codereview.appspot.com.

Original issue reported on code.google.com by rsc+personal@swtch.com on 12 Sep 2009 at 11:34

GoogleCodeExporter commented 9 years ago
This patch adds pubsubhubbub hub https://pubsubhubbub.appspot.com link to all 
Atom feeds generated by rietveld. Is that enough?

http://codereview.appspot.com/2010045

Original comment by techtonik@gmail.com on 26 Aug 2010 at 5:55

GoogleCodeExporter commented 9 years ago
No, I don't think that's enough. AFAIK you need to ping the hub when the feed 
changes.

Original comment by albrecht.andi on 26 Aug 2010 at 6:33

GoogleCodeExporter commented 9 years ago
From the presentation at - https://pubsubhubbub.appspot.com/ "5. If the 
Publisher does not inform the Hub, the Hub will periodically poll the 
Publisher’s feed for new updates."

So it is the matter of if we want feeds to be realtime or just want to avoid 
clients polling RSS to reduce server load.

Original comment by techtonik@gmail.com on 26 Aug 2010 at 10:06

GoogleCodeExporter commented 9 years ago
How does the hub know about these feeds? We've quite a lot of them (e.g. the 
per user/ per issue feeds)...

Original comment by albrecht.andi on 26 Aug 2010 at 10:14

GoogleCodeExporter commented 9 years ago
From what I understood from presentation, user agent (subscriber) polls the 
feed for the first time, finds the hub link and asks hub to ping him when the 
feed updates. If hub doesn't know anything about the feed - it goes and fetches 
this feed.

Original comment by techtonik@gmail.com on 26 Aug 2010 at 1:24

GoogleCodeExporter commented 9 years ago
It's pointless to implement half of pubsubhubbub.  If we're going to do it,
we should ping the hub when the feed gets updated and get the real-time
behavior.  Otherwise we're just reducing the load on RSS, which is not a
problem anyway.

Original comment by rsc@swtch.com on 26 Aug 2010 at 2:07

GoogleCodeExporter commented 9 years ago
Does anybody possess a full list of feeds that could be taken as a starting 
point to look for places to insert ping notifications?

Original comment by techtonik@gmail.com on 26 Aug 2010 at 2:23

GoogleCodeExporter commented 9 years ago
Look in the HTTP server dispatch: all the feeds begin with /rss.

Original comment by rsc@swtch.com on 26 Aug 2010 at 2:43

GoogleCodeExporter commented 9 years ago
And there's views._notify_issue(). It sends out the XMPP messages when an issue 
changes. Maybe this function could be used as a starting point for more of such 
event hooks.

Original comment by albrecht.andi on 26 Aug 2010 at 5:32

GoogleCodeExporter commented 9 years ago
Where to look for that "HTTP server dispatch"? I can only find a dictionary of 
feeds in 
http://code.google.com/p/rietveld/source/browse/trunk/codereview/urls.py#81

So I assume there are 5 feeds:
- /rss/all - updated every time some modification to an issue is made
- /rss/issue - updated every time an issue is updated
- /rss/closed - updated every time an issue is closed
- /rss/reviews - ??? when is this updated?
- /rss/mine - ??? not sure how to handle this - if an issue is updated
we need to get the list of all people who participated in this issue
and ping all personal feeds - is that it?

Original comment by techtonik@gmail.com on 27 Aug 2010 at 9:44

GoogleCodeExporter commented 9 years ago
It seems that stuff doesn't worth the extra complexity it brings to the 
project. See the latest comments at http://codereview.appspot.com/2010045 Any 
ideas to reach a compromise?

Original comment by techtonik@gmail.com on 1 Sep 2010 at 10:32

GoogleCodeExporter commented 9 years ago

Original comment by albrecht.andi on 6 Apr 2012 at 7:41