> To clear things up.
>
> There are 2 discussions happing in this thread:
>
> 1) what is the ideal API and protocol for a more capable query server? 
> (especially one that can react differentially to doc update failures, can 
> farm work out to multiple cores, etc)
>
> 2) how can we be backwards compatible with existing code and make it so you 
> can respond to an HTML form POST by rendering "whoops, someone else edited 
> that before you did, please retry", or "hey it looks like you failed the 
> validation function for reason X"

Thanks for giving me a place to respond to the other side of this thread.

Reading through the part of this thread that deals with _list and
_show and _update and seeing how it doesn't really map onto the view
server semantics very well.

When I think of CouchDB in abstract terms, i think of the core Erlang
code as the core of CouchDB. The view server (the map/reduce part) is
behind couchdb. Hidden from the world.

The _list/_show/_update code sits in front of CouchDB and is more of a
friendly layer to interfacing with CouchDB from client apps. What I've
noticed is that most of the issues could be solved if the code
implementing the front side were just implemented separately. Perhaps
with access to an HTTP client that connects to CouchDB. Or something
that is more async in nature as has been suggested.

Either way, I wonder if the best answer isn't to separate out the
responsibility of frontside and backside apps and write two sets of
JavaScript to deal with both.

Paul Davis

Reply via email to