Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Dojo api for couchdb

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 store
Octocat-spinner-32 tests
Octocat-spinner-32 util
Octocat-spinner-32 README
README
A Dojo ObjectStore interface for Couchdb



For more information regarding this software:
 contact: scadajack@kantrol.com
 website: www.kantrol.com

 Blog Post: www.kantrol.com/kanx/index.php?id=14

Contents:
1) CouchDojo/couch.js: A Dojo implementation of the jquery.couch.js library shipped with couchdb install (used by futon).

	This is a liberal port of the jquery.couch.js library distributed with Couchdb 
	(couchdb.apache.org) to the Dojo framework. In general, the jQuery callback style 
	Ajax code is converted to promise style code used more commonly in Dojo. 
	 
	Structure, method names and intents from the original code are generally 
	preserved. 
	 
	 USAGE: var couch = dojocouch.util.Couch.getCouch(urlPrefix),
	        where urlPrefix is a url to the couchdb instance 
	        of interest. Will return a new or cached instance pointing to the couchdb at that 
	        url. (The couch objects are cached and thus shared amongst clients.)

	        To get access to database specific operations after obtaining a 'couch', do 
	        var db = couch.db('db name')
	        (while couches are cached, dbs are not).
	        
	 AUTHENTICATION: 
	        Provides easy implementation of cookie-based authentication. See Session,Login, and Logout.

2) CouchDojo/store/CouchdbStore.js: A Dojo object store for CouchDb.

	This code uses the new Dojo ObjectStore API to interface to a Couchdb instance in a REST-ful manner. In particular, it leverages the dojocouch.couch.js library to provide the http 
	interface.

	In addition to the standard 'get' method provided by the ObjectStore api, CouchdbStore instances also provide a bulkGet method. A CouchCache wrapper is provided that extends 
	dojos standard dojo.store.Cache wrapper to recognize the bulkGet calls and attempt to 
	satisfy from the cache.


Code is preliminary, work in progress, and alpha state and much has yet to be tested. In particular, the replication and monitoring code has not been tested.

Roadmap:
1. Regularize deferred data processing out of dojocouch.util.Couch.js. Currently don't preserve headers which may be useful for error processing. Add headers as field to results hash???

2. Develop error strategy. Currently, no strategy implemented. Mostly just silently fails though some generate alerts.

3. Regularize tests with test framework. DOH or Vows?

4. Test Replication and monitoring functionality of dojocouch.util.couch.js.
Something went wrong with that request. Please try again.