Join GitHub today
Really Simple Syndication Syncing http://rsss.goodwinlabs.com
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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