Skip to content

Instantly share code, notes, and snippets.

@bnjbvr
Forked from seanmonstar/gist:5286698
Last active December 16, 2015 00:09
Show Gist options
  • Save bnjbvr/5344958 to your computer and use it in GitHub Desktop.
Save bnjbvr/5344958 to your computer and use it in GitHub Desktop.
rss-2-tent-bridge

Tent <-> RSS Bridge

Needs a name (smoke-signals?)

This is an open source, hosted, bi-directional bridge of Tent and RSS. It would be hosted somewhere, and installed as an app against your tent server.

Using Python, because it doesn't make us claw our eyes out. Likely with the Flask framework.

Register as an app

  • a screen to enter your entity
  • server does v0.3 tent app registration
  • needs access to status posts, and perhaps essay posts.

Reading a Feed

  • dashboard lets us add in an RSS feed url
  • app needs to fetch it and parse it regularly (30mins? hour?)
  • needs to keep track of last seen item (by item guid? many feeds suck at guids...)
  • on new items, create a new post on the users feed
    • for microblogging, it could be a status post with the feed item title and link
    • it could create an essay, with the feed item content as the essay content
    • it could create a new rss-archive post (pick a name), if the user didn't want to publicly share it.

Public mode

  • user registers with his entity and enters a feed url
  • if the feed is already retrieved from another tent account B (using the feed uniqueness algorithm), the server proposes to follow B rather than creating a new RSS feed for this entity.
  • otherwise, the feed is attached to the entity. Each time a feed item is retrieved by the web service, it is posted on the entity timeline on the behalf of the user.

Private mode

  • user enters a feed url and checks the "private mode" option
  • the webservice owns an entity, let's call it A.
  • each time a feed item is retrieved by the web service, it is posted on A's timeline with a mention to user; this status' visilibity is limited to the user.

Feed uniqueness

So as to avoid feeds duplication (multiple entities being bridges for the same RSS feed), search for similar feeds should be done:

  • natural langage processing could be used, so as to find text similarity between the feed input and the existing feeds.
  • identification by URL could be done (by removing http(s)?:// and the final /).

Creating a Feed

  • dashboard should let a user generate a feed from his status (and essay?) posts
  • optionally allow filtering
    • ex: only create feed of posts with the word "#feed" in it
  • not needed at first, but cool idea: Feeds based on tag posts. tent/tent.io#183
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment