Restolog-1.2 (beta1) - RESTful blog example

Hi,
before several weeks i announced the first Restolog release (1.1,
there was my mistake so, the title was for version 1.2), but something
happened with my email - i found it in the ML archives, but it never
reached GMail (and maybe the mailing list).

To not repeat myself (DRY remember :wink: ) just some words again:

== What is restolog?

Restolog is very simple blog system based on REST/CRUD ideas. Sources
(all credits going to the authors, i just combined their work):

* RestBlog by Alisdair McDiarmid [
http://randomoracle.com/stuff/RestBlog.tar.gz ]
* restful_authentication plugin by techno-weenie
  [ http://svn.techno-weenie.net/projects/plugins/restful_authentication/ ]
* graseful delete degradation
  [ http://www.thelucid.com/articles/2006/07/26/simply-restful-the-missing-action
]

The purpose is mostly proof of concept, not typo/mephisto etc. competition.

== Download

* tarballs:
  [ http://bgjap.net/code/ruby/ror/ ] (restolog-1.2b1.tgz is the last one)
* SVN:
    svn checkout http://restolog.googlecode.com/svn/trunk/ restolog

== Requirements

* Ruby 1.8.4+ (I'm using mongrel, do you?)
* Edge Rails (RESTful by default)
* SQLite 3 (easy to deploy/move)

== Install

   $ rails freeze_edge
   $ rake migrate
   $ server/start
   (create admin user)
   (logout)
   (create usual user - optional, but recommended)

== Example REST Usage

  # GET article(s), tag(s), user(s) info
  $ script/rester /articles
  $ script/rester -h remote.example.com -P 3002 /articles
  $ script/rester /articles/1

  # POST article/comment
  $ script/rester -X POST -u admin -p admin \
    -d 'article[title]=Test only;article[body]=Hello
world;article[tag_list]=test rest' \
    /articles
  $ script/rester -X POST \
    -d 'comment[author]=Some User;comment[body]=Very Good' \
    /article/1/comments

# DELETE article/comment
  $ script/rester -X DELETE -u admin -p admin /articles/2/comments/1
  $ script/rester -X DELETE -u admin -p admin /articles/2

You can use also:

  $ curl -i -H 'Accept: application/xml' http://…

More information:
* the initial announce for version 1.1:
  [ http://wrath.rubyonrails.org/pipermail/rails/2006-August/060144.html ]
* online README file copy:
  [ http://bgjap.net/code/ruby/ror/RESTOLOG.txt ]
* online USAGE file copy (with REST usage examples):
  [ http://bgjap.net/code/ruby/ror/RESTOLOG_USAGE.txt ]

What's new in this version:

* Textile markup for articles body (act_as_textiled plugin)
* REST client ('script/rester') - pure Ruby, for systems without curl or wget
* New REST API calls added (mostly for articles and comments)
* Some documentation (README, USAGE, CHANGELOG)

Now the problems/questions (that's why the current version is still beta):
* for some reason update via REST (PUT method) do not work - returns
error code 406 Not Acceptable
* is it possible to make the authentication with sending keys like a
part of URL (maybe something with 'remember_me' field in restful
authentication) (something like for example Openomy API [
http://openomy.com/ ] or maybe Amazon's S3 - initial login + some
session/application key in the URL)?

Nice! I checked out the source and it's a nice example of how to use
Rails methods to clean up code. I've noticed that some of my own code
has gotten crufty, and this gave me a few ideas.

Sincerely,

Tom Lieber
http://AllTom.com/
http://GadgetLife.org/