public
Description: A class for working with CouchDB documents from Cappuccino/Objective-J
Homepage: http://peepcode.com
Clone URL: git://github.com/topfunky/cappuccino-couchdb.git
name age message
file .gitignore Fri Oct 02 08:54:10 -0700 2009 Fixed link to image in README. Ignore generated... [topfunky]
file AppController.j Fri Oct 02 16:45:03 -0700 2009 Better error handling. Scroll view around colle... [topfunky]
directory Artwork/ Fri Oct 02 09:01:16 -0700 2009 Better screenshot. [topfunky]
directory Classes/ Sun Oct 11 22:13:12 -0700 2009 Return actual exception if an error occurs whil... [topfunky]
directory Frameworks/ Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
file Info.plist Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
file README.md Fri Oct 02 10:41:43 -0700 2009 Link to demo screenshot on GitHub pages for fas... [topfunky]
file Rakefile Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
directory Resources/ Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
file index-debug.html Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
file index.html Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
file main.j Thu Oct 01 23:32:20 -0700 2009 First import [topfunky]
README.md

CouchDB Library for Cappuccino

More information, installation instructions, etc. coming soon.

Demo Screenshot

Running the Demo

CouchDB's built-in webserver can serve static applications which can access the database on the same host/port within browser security limitations.

Run a Cappuccino app under CouchDB by editing your local.ini (or default.ini on CouchDBX). Add to the httpd_global_handlers section:

cappuccino-couchdb = {couch_httpd_misc_handlers, handle_utils_dir_req, "/path/to/cappuccino-couchdb"}

Open index.html in your browser to run the samples.

http://localhost:5984/cappuccino-couchdb/index.html

NOTE: It's also possible to use the CouchApp command line tool to sync a Cappuccino application to CouchDB, but the size of an application in development would be prohibitive. It's also inconvenient to sync code to the server every time you make a change in development.

Usage in Your Own Project

Copy the Classes/CouchDB directory and contents to your Cappuccino app.

@import "CouchDB/CouchDB.j"

The class was designed to mimic CouchDB's jquery.couch.js (couchdb/trunk/share/www/script/jquery.couch.js). So some parts use Javascript features rather than Objective-J features (inline function callbacks, hash options).

More documentation coming soon. In the meantime, see AppController.j.

Known Bugs

  • CouchDB treats a + in a filename as a space on disk, so naming Objective-C categories as CPDictionary+ParamUtils.j will fail. Hopefully this will be fixed in a future release of CouchDB.

TODO

  • Better error handling and callbacks
  • Examples of usage with a native Objective-J model.

Author

Geoffrey Grosenbach, PeepCode Screencasts

References