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
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:
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.