Really Simple Syndication Syncing
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
docs
models
tests
Capfile
ExampleOPML.opml
README
node.god
rsss.js

README

RSSS: Really Simple Syndication Syncing

An attempt to solve the problem as described by Brent Simmons in his article http://inessential.com/2010/02/08/idea_for_alternative_rss_syncing_system


My plot and notes so far:

RSSS will use node.js and redis to solve this problem. Both are pretty easy to setup on any new machine if someone wanted to make us of this on their existing system. Hopefully someone can help me out with a nice example Apache config for people to see how to add rsss.domain.com as a subdomain on existing servers.

"The semantics of the GET method change to a "conditional GET" if the request message includes an If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. A conditional GET method requests that the entity be transferred only under the circumstances described by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network usage by allowing cached entities to be refreshed without requiring multiple requests or transferring data already held by the client." - http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

References:
http://code.google.com/p/redis/wiki/CommandReference
https://developer.mozilla.org/En/Using_JSON_in_Firefox
http://www.json.org/js.html

UserID (random-generated string, tell users apart)

schema:
User ID (userID:feeds, userID:feedModified)
     Feeds (uid, title, rssURL, htmlURL ), (folder:uid:name, etc )
		Tag(or Folder) (name), ( feed:uid:tags )
		Items (uid, status, dateModified, feedID ), (item:uid:status, etc ) // Not sure if feedID is necessary.

Possible Requests:
- GET new User (returns a new random string) #working
- GET feedlist (conditional GET) #working
- POST feeds (create) #working
- PUT feeds (update) #working
- DELETE feeds #working
- GET status changes since date ( example: http://0.0.0.0:3000/status?key=abdefhfhf&dateTime=Tue%20Nov%2016%202010%2022%3A29%3A06%20GMT-0700%20%28MST%29 ) #working
- POST update status (input JSON) # working

Docs:
Docs can be re-generated at any time using dox (https://github.com/visionmedia/dox). Simple 'npm install dox' and execute 'regen_docs.sh' in /docs