Skip to content

sgoodwin/RSSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Really Simple Syndication Syncing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published