Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Atom and RSS format activity stream for user feed #55

Closed
evanp opened this Issue · 22 comments
@evanp
Owner

For OStatus compatibility, make an Atom-encoded stream for each user.

@evanp
Owner

I think this might be better done with a bridge than having it in the core software.

I think it's relatively easy to write a service that provides RSS or Atom feeds to anonymous clients for any user.

  • The URL should look something like https://something.example/user@domain.example
  • When this URL is hit, the service should register as an OAuth client for domain.example, if it isn't registered already.
  • It should then fetch the activity outbox of user@domain.example.
  • It can then transform the Activity Streams JSON into Activity Streams RSS or Activity Streams Atom.
@Effereto

Beg you pardon if that is a naive question, but does that mean that I won't be able to follow people via rss?
As today, with statusnet users, I simply copy a link in my rss reader (a link like https://identi.ca/api/statuses/user_timeline/24555.rss ) and that's it; would I need to rely on a third party service for pump.io instances?
That would be weird, considering I can do the same (i.e. shove a rss link in my rss reader) with twitter (like https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=Grizzly_McDuck ).

@csolisr

By the way, if this bug is fixed, could somebody tell me how to access my RSS feed?

@larjona

#451 is closed, this issue is still open.
For now, you can get your feed in JSON format:
https://pumpserverofyouraccount/api/user/yourpumpusername/feed
For example, mine is at:
https://pumpdog.me/api/user/larjona_test/feed

@Gratty

@larjona thanks, the link gives me a "unauthenticated" error.
Evan, is that a bug or a feature? (evil grin)
It would be awesome to have a unauthenticated access to public data!

@larjona

@Gratty you need to login first in the server, and then obtain the feed.
In my case, go to https://pumpdog.me and login with your pump.io account, and after that, go to https://pumpdog.me/api/user/larjona_test/feed

@dirkk0

Kudos to PyPump, I created a set of scripts that people might find useful as a starting point to create an RSS feed:
https://gist.github.com/dirkk0/5875461
In general it shows how you can access the feed with a python script that - once it is registered as an OAuth client - can export to status updates as a list, which is easy to convert into a RSS stream.

I am not sure if this is the best way to do this though.

@DixieLad

Thanks @larjona and @dirkk0 .
@evanp : I am not technical user, but having some sort of feed ( json, activitystream, atom, rss, whatever ) publicly available (without the need to be authorized) would:
1. avoid the problem of having to use another service to fetch such data (SaaS, privacy, possible failures, service discontinued)
2. allow general netizens to follow pump.io users

Your software, your call. Just pointing out the way I feel about it.

@evanp
Owner

@DixieLad So, that's definitely the case. I think there are two big problems there.

  1. You always need software to fetch stuff, unless the feed is written on stone tablets and you can go pick it up manually.

  2. Other individual watchers is great; random software with bad intentions is less so. I'm not convinced that being watched by anonymous third parties in difficult-to-trace ways is what pump.io users want.

I am simply unsure about this stuff. It's also something that we can't undo once we do it.

@oshepherd
@dirkk0

@evanp I see. Couldn't this be configurable, with default 'public_feed': false ?

@mitsukarenai mitsukarenai referenced this issue from a commit in mitsukarenai/Projet-Autoblog
@mitsukarenai mitsukarenai REMOVE: Identica support bb80e0a
@olberger

Is there any Activity Stream consumer in IFTTT.com that could be used, for instance ?

@anarcat

I think this should be core. Activity Stream and RSS feeds are long established open standards that should be supported out of the box. I understand why (say) the twitter bridge would be separate, but really, this should be factored in.

Otherwise we loose all the people still on gnu social/statusnet, and that would be a shame.

@schmonz

I was relying on RSS to get new status updates from the people I follow. (In general, I rely on RSS to tell me when things change, and am unlikely to check for changes where RSS is unavailable.) I'm not sure whether this is the same issue being discussed here; apologies if not.

@evanp
Owner

@anarcat I'm not supporting multiple output formats in core. pump.io is about doing things once, and doing them right. I don't want options. The bridge option will work fine.

@ghost

Other individual watchers is great; random software with bad intentions is less so. I'm not convinced that being watched by anonymous third parties in difficult-to-trace ways is what pump.io users want.

I'm not sure there are practical downsides of this kind to RSS feeds? The posts are public.

FWIW, my 1.5c: this isn't a privacy matter, because it's about the public feed (unless I misunderstand this whole issue). Seemingly hide the content may provide users of pump.io with a false sense of privacy. OTOH, for external individual users, missing a straightforward RSS subscription is probably a usability drawback.

@joeyh

I've built a horrible workaround for this bug.

http://git.kitenet.net/?p=joey/src.git;a=blob;f=misc/pumpRss.hs

@nemobis

Wonderful, now we only need some web app/service providing everyone with that horrible hack. :)
(Is that really easier that whatever API or federated system pump.io provides?)

@ao2

Here's a solution similar to Joeys which also supports scraping public timelines on Twitter, I call it Tweeper:

http://ao2.it/92

Maybe just a little less horrible, but it really depends on how much xsl and xpath scare you :)

@evanp
Owner

OK, so, I just put up a rudimentary service to handle this case:

https://pump2rss.com/

The software is Open Source at e14n/pump2rss so I'm going to shift this discussion over there.

@evanp evanp closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.