incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hahn <m...@hahnca.com>
Subject Re: Node.js client for CouchDB
Date Fri, 08 Jun 2012 19:57:26 GMT
>  The code that you modularized, rewrote and purged sync from

It's the jquery.couchdb.js library that is included in the couchdb
distribution.  It's not great code, but it is what futon uses.

>  What do you mean here?  "no benefit in my code

I discovered that because of security concerns I had to proxy db calls from
the browser through node.  Otherwise anyone could use the same library to
do anything they wanted to my couchdb.  If couchdb had a decent security
system this wouldn't be a problem.  Anyway, since I had to go through node
code anyway, it was cleaner to use nano from that code than to use my fake
jquery.  The proxy is a very small amount of clean code, thanks to nano's
simplicity.

>  I'm not sure if nano is offering authN or https

I wouldn't know.  I'm just using it on localhost.  I think one of the
advantages of couchdb is that it is easy to run a copy on every server and
use the replication to share data across servers.  So I always use
localhost.

On Fri, Jun 8, 2012 at 12:13 PM, Pulkit Singhal <pulkitsinghal@gmail.com>wrote:

> Ahoy Mark! Thank you so much for validating that I'm not the 1st person
> ever who thought of reusing futon.
>
> Some follow-up Qs:
>
> 1) The code that you modularized, rewrote and purged sync from ...Is it
> available on GitHub or somewhere else in the open source community by any
> chance?
>
> 2) What do you mean here?
> "no benefit in my code to having the same code run both places"
>
> 3) I'm not sure if nano is offering authN or https so I'm still looking
> into that. I had started out rolling my own non-re-usable solution by using
> Mikeal's request module but I wised up and am looking into Nano now. Slowly
> but surely. Cradle's next, thanks to all the folk who pointed it out.
>
> On Fri, Jun 8, 2012 at 12:25 PM, Mark Hahn <mark@hahnca.com> wrote:
>
> > > I find myself wondering why someone hasn't simply taken the javascript
> > code that
> > runs Futon and dropped it into a node.js module?
> >
> > I did something like that.  I wrote a module that was a clone of jQuery
> > that just implemented the ajax with http.requests.  Then I made minor
> mods
> > to the jquery code supplied with futon to make it a module.   So I was
> able
> > to write DB code that ran on the server and client with no mods.
> >
> > I found 3 reasons to not do this ...
> >
> > 1) The futon driver used a sync ajax call which was impossible to
> implement
> > in node.  I had to rewrite some of the code.  The person at microsoft who
> > decided to include an sync call should be shot, as well as the futon
> coder
> > who used it.
> >
> > 2) The futon driver used non-standard callback returns.  Different
> > callbacks were used for success and error.
> >
> > 3) I discovered there was no benefit in my code to having the same code
> run
> > both places.
> >
> > So I switched to nano.  I love nano. I'm using rpc's over socket.io to
> get
> > db access from browser.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message