The preferred way to install Quilt is via Rubygems:
gem install couch-quilt
Just type the following few words:
couchquilt http://127.0.0.1:5984 couch_dir
Now the databases on
http://127.0.0.1:5984 are mapped to the (newly created) directory
Inspect your filesystem at
touch _delete will delete a database or document.
I like the following line in my
couchquilt#http://127.0.0.1:5984 /mnt/quilt fuse user,noauto 0 0
That way I can mount Quilt just with
noauto option. This is required because it is currently impossible to do the mount on bootup. I don't know why. Do you?
CouchDB is a document based Database System. The documents are stored in JSON format. Documents can have so called attachements, so CouchDB can easyly store files.
CouchDB holds application code in Design Documents. These documents are normal CouchDB documents, which have the prefix
_design/ as id, for example
Design documents include application code, that is views (Map-Reduce functions), show and list transformations.
Application Assets, as Images and CSS files, are stored inside design documents as attachements, too.
Quilt maps CouchDB documents to a filesystem, provided by FuseFS. Quilt is currently using Ruby to create a Fuse Filesystem.
The CouchDB documents are mapped to a directory structure in the following way:
(Here the database had no other documents)
If you share my euphoria on this approach feel free to fork my Quilt and start experimenting with Rubys FuseFS API and CouchDB.
Some resources you might consider as a starting point:
You can also clone TFs Quilt with Git by running:
$ git clone git://github.com/jo/quilt
TF Johannes Jörg Schmidt <email@example.com>