# Boto - RESTful Ruby Content Server

**URL:** <https://www.ruby-forum.com/t/boto-restful-ruby-content-server/116164>\
**Category:** Ruby\
**Created:** [October 3, 2007, 2:27am UTC](https://www.ruby-forum.com/t/boto-restful-ruby-content-server/116164 "2007-10-03T02:27:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chovy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ecd19e/32.png) [@chovy](https://www.ruby-forum.com/u/chovy)\
**Post date:** [October 3, 2007, 2:27am UTC](https://www.ruby-forum.com/t/boto-restful-ruby-content-server/116164/1 "2007-10-03T02:27:36Z")

</div>

I’ve open sourced one of my recent projects that I’ve been playing  
around with called Boto. Boto is a content server built with Mongrel  
that has a RESTful interface for creating, retrieving, updating and  
deleting content. Content is stored in Amazon S3 or in the local  
filesystem. Boto supports storage of metadata in its own file inside  
the S3 environment, allowing you to retrieve and modify content  
metadata without needing to resubmit the entire content object. Boto  
also supports multi-part messages so you can submit content and its  
metadata together.

Each time content is created, updated or deleted in Boto a message is  
posted to Amazon SQS. These messages can then be consumed by Boto  
monitor classes which can then process the data or metadata for the  
purposes of search indexing, logging, etc.

A couple of things that are not in Boto right now but I can envision  
adding in the future include content versioning and fine-grained  
access control. I can also see the potential for pre-built monitor  
implementations for doing indexing with various search systems such as  
Solr, Ferret, Google, etc.

Right now the source is available from the RubyForge repository:  
[http://boto.rubyforge.org/svn/trunk](http://boto.rubyforge.org/svn/trunk)

Once I finish the Ruby client library and clean up the internals I’ll  
publish a first release. Comments and questions can be directed to me  
at the moment until I get the mailing list set up.

Sincerely,  
Anthony E.
