Sofa: Standalone CouchDB Blog
Currently supports admin-only posting and anonymous comments.
Things are moving crazy fast around here right now as I bring this stuff up to ship-shape for the CouchDB book. I'll be renaming methods and stuff (if I find the time), any API feedback will be appreciated.
You'll also need CouchDB's svn trunk, which is currently a moving target, with regard to the new features, especially the
_show API, that Sofa relies on.
svn checkout http://svn.apache.org/repos/asf/couchdb/trunk cd trunk && cat README
Once you have that installed and the tests passing, you can install CouchApp and the blog software.
CouchApp makes it easy to edit application that are hosted in CouchDB, by keeping a correspondence between a set of files, and a CouchDB design document.
sudo easy_install couchapp
CouchApp is a set of utilities for developing standalone CouchDB applications You can learn more about the CouchApp project here. Also,
easy_install has an unpleasant bug on OSX, so you might end up having to work from git source.
Setup Admin Access
If you are going to put your blog in public, you'll want to follow the instructions on the CouchDB wiki about how to set up an Admin account.
Note that admin accounts are still new, and that they may have strange impacts on the ability to replicate design docs or databases that contain validation functions.
git clone git://github.com/jchris/sofa.git cd sofa couchapp push . http://user:email@example.com:5984/blogdb
Anytime you make edits to the on-disk version of Sofa, and want to see them in your browser, just run
couchapp push . http://127.0.0.1:5984/blogdb again. You probably want to setup your
.couchapprc file. You should read the CouchApp readme to learn about that.
You can customize the blog title and other stuff in the
- comments feed
- tag browsing index
- non-hack login method (waiting on CouchDB)