Added README.rdoc
[feedcatcher.git] / README.rdoc
1 == Welcome to Feedcatcher
2
3 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].
4
5 Feedcatcher was the first version of the RSS server. It has since been reimplemented, more robustly, but 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].
6
7 Feel free to clone and modify this application.
8
9 == Installation
10
11 Feedcatcher is written in Rails 2.3.2 (vendored in) and runs on Ruby 1.8.7. I've not tried it with later versions of Ruby or Rails. Updating Ruby should be OK, but changing to Rails 3.x will probably break things.
12
13 You'll need to update the +deploy.rb+ file to wherever you're installing from and to.
14
15 == Instructions
16
17 Visiting http://feedcatcher.example.com in a browser will give you an HTML view of the feeds available.
18
19 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.
20
21 Asking the server for RSS content will give you RSS content. That's most easily done with cURL.
22
23 These give you HTML:
24 curl http://feedcatcher.example.com/
25 curl http://feedcatcher.example.com/index
26 curl http://feedcatcher.example.com/index.html
27
28 These all give you RSS:
29 curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/
30 curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/index
31 curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/index.rss
32 curl http://feedcatcher.example.com/index.rss
33
34 These give you a feed:
35 curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/test1
36 curl -H "Accept: application/rss+xml" http://feedcatcher.example.com/test1.rss
37 curl http://feedcatcher.example.com/test1.rss
38
39 These give you the same feed but as HTML:
40 curl http://feedcatcher.example.com/test1
41 curl http://feedcatcher.example.com/test1.html
42
43 This generates a 404 error:
44 curl -H "Accept: application/rss+xml" -D headers.txt \ http://feedcatcher.example.com/test%2099
45 ('test 99' is not a valid feed name)
46 (the -D saves the HTTP response header into the given file, so you can see it)
47
48 This creates (or updates) a feed item:
49 curl -D headers.txt -H "Accept: application/rss+xml" \
50 --data-urlencode "feed_name=test5" \
51 --data-urlencode "title=test 5 item 2" \
52 --data-urlencode "description=updated content"' \
53 -d "commit=Update" \
54 http://feedcatcher.example.com
55
56 This deletes an item:
57 curl -D headers.txt -H "Accept: application/rss+xml" \
58 --data-urlencode "feed_name=test5" \
59 --data-urlencode "title=test 5 item 2" \
60 --data-urlencode 'description=' \
61 -d "commit=Update" \
62 http://feedcatcher.example.com
63
64 ===Notes
65
66 When you ask for HTML pages, the responses are likely to be redirects to the next page. You shouldn't get HTTP error codes.
67 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.