Copied README.rdoc from master branch
authorNeil Smith <neil.git@njae.me.uk>
Mon, 6 Jan 2014 19:05:55 +0000 (19:05 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Mon, 6 Jan 2014 19:05:55 +0000 (19:05 +0000)
README.rdoc

index dd4e97e22e159a585b20e21028f964827d5afa4e..6bd3af8588d9ba0736323c66216d808a26f6a50a 100644 (file)
@@ -1,28 +1,64 @@
-== README
+== Welcome to Feedcatcher
+Feedcatcher is a lightweight RSS server that accepts write requests from anonymous clients. It was developed for the {Sense programming environment}[http://sense.open.ac.uk].
 
-This README would normally document whatever steps are necessary to get the
-application up and running.
+Feedcatcher was the first version of the RSS server. It has since been reimplemented, more robustly, by the {Open University}[http://www.open.ac.uk] for use in the {My Digital Life module}[http://www3.open.ac.uk/study/undergraduate/course/tu100.htm]. However, this version should still work with Sense. It's not been tested with the very latest versions, but nothing in that part of Sense has changed since it used this implementation of Feedcatcher.
 
-Things you may want to cover:
+Feel free to clone and modify this application. Let me know what you do with it!
 
-* Ruby version
+== Installation
+Feedcatcher is written in Rails 4.0.2 and runs on Ruby 2.1.0. 
 
-* System dependencies
+You'll need to update the create the +database.yml+ and +deploy.rb+ files for your installation. You can use the +database.sample.yml+ and +deploy.sample.rb+ files as templates. In particular, +deploy.sample.rb+ still refers to when feedcatcher was stored in a Subversion repository.
 
-* Configuration
+== Instructions
+Visiting http://feedcatcher.example.com in a browser will give you an HTML view of the feeds available.  
 
-* Database creation
+Visiting http://feedcatcher.example.com/feed-a or http://feedcatcher.example.com/feed-a.html will show you the contents of that feed. The HTML pages also have a little form to allow you to update the contents of feeds.
 
-* Database initialization
+Asking the server for RSS content will give you RSS content.  That's most easily done with cURL.
 
-* How to run the test suite
+These give you HTML:
+ curl http://feedcatcher.example.com/
+ curl http://feedcatcher.example.com/index
+ curl http://feedcatcher.example.com/index.html
 
-* Services (job queues, cache servers, search engines, etc.)
+These all give you RSS:
+ curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/ 
+ curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/index
+ curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/index.rss
+ curl http://feedcatcher.example.com/index.rss
 
-* Deployment instructions
+These give you a feed:
+ curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/test1
+ curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/test1.rss
+ curl http://feedcatcher.example.com/test1.rss
 
-* ...
+These give you the same feed but as HTML:
+ curl http://feedcatcher.example.com/test1
+ curl http://feedcatcher.example.com/test1.html
 
+This generates a 404 error:
+ curl -H "Accept: application/rss+xml" -D headers.txt \ http://feedcatcher.example.com/test%2099
+('test 99' is not a valid feed name)
+(the -D saves the HTTP response header into the given file, so you can see it)
 
-Please feel free to use a different markup language if you do not plan to run
-<tt>rake doc:app</tt>.
+This creates (or updates) a feed item:
+ curl -D headers.txt -H "Accept: application/rss+xml" \
+  --data-urlencode "feed_name=test5" \
+  --data-urlencode "title=test 5 item 2" \
+  --data-urlencode "description=updated content"' \
+  -d "commit=Update" \
+ http://feedcatcher.example.com
+
+This deletes an item:
+ curl -D headers.txt -H "Accept: application/rss+xml" \
+  --data-urlencode "feed_name=test5" \
+  --data-urlencode "title=test 5 item 2" \
+  --data-urlencode 'description=' \
+  -d "commit=Update" \
+  http://feedcatcher.example.com
+
+===Notes
+When you ask for HTML pages, the responses are likely to be redirects to the next page.  You shouldn't get HTTP error codes.
+
+Responses to POSTs made with "Accept: application/rss+xml" headers will often be empty, with the success or failure of the action indicated in the HTTP response code.
\ No newline at end of file