couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Young <>
Subject Re: tool for management of couchdb design docs/code
Date Thu, 19 Dec 2013 15:38:07 GMT

On 12/19/13, 9:57 AM, Vivek Pathak wrote:
> On 12/18/2013 11:36 AM, Benjamin Young wrote:
>> Hey Vivek,
>> Thanks for open sourcing your code! 
> You are welcome.  Please invite me to couchapp, and I will help as per 
> my capability.

No need for an invitation. Just fork and send Pull Requests. :)
> My vote/suggestion is to get the "requirements and interface" of 
> couchapp (tools) improved/tuned with a broader perspective in mind.

Yeah, defining what's actually needed in this space would be a good 
first step. Mostly, we all solve the problem in front of us--which, 
while "innovative" doesn't really help the group move forward as you 
then have to pick from a wide range of incompatible, though innovative, 

Having some baseline that we all commonly support helps us build up from 
there--and we can keep moving the baseline up as well!

Projects like Mustache and Markdown seem to do this well. There's a 
common, shared spec, and people build up from that. Eventually (at least 
in the case of Mustache) those innovations/improvements make it back 
into the core, or are readily available as "pragmas" (in Mustache speak).

That's my hope here, anyway. :) Innovation that raises tides and 
consequently all the boats. :)

> For example if you write significantly complex map functions which use 
> several "requires" includes, you want to be able to trace history of 
> changes via version control - and also be able to profile the code and 
> improve its performance (js is sensitive to how you write the code,  
> same computation expressed different ways can have big difference in 
> performance).  Some people felt bad last time I expressed the same 
> (and sorry for that) - but its just that couchapp did not satisfy my 
> (reasonable) needs properly, and hence I had to develop the tools 
> which are now refactored and shared with you as casters 
> The other issue is whether the tools should work on a design document 
> level/database level/or server level.  I chose the first to ensure 
> strict compliance with the change detection model in couchdb views - 
> but this is a technical and usage issue which could benefit from 
> discussion...
>> I'd love to see if we can collaborate. Benoit passed the baton for 
>> `couchapp` on to me a few weeks back, and I'm working to dust it off 
>> a bit, and get a path in place for it's future. It'd be great if we 
>> could collaborate and work toward lots of little reusable pieces with 
>> a nice command line interface for building, testing, and publishing 
>> CouchApps.
>> Also, anyone else interested in helping out and moving things 
>> forward, please join in here and on Github:
>> Let me know your thoughts!
>> Benjamin
>> On 12/14/13, 5:28 AM, Vivek Pathak wrote:
>>> Hi
>>> I had some couchdb projects (since ~ 2007) which had significant 
>>> computation within views/lists etc.    I had read about couchapp - 
>>> which although is totally great - did not serve my purpose 
>>> satisfactorily (reasons/details below).
>>> Hence I had developed various scripts which were project specific. 
>>> Finally I extracted the code into a standalone program which has the 
>>> following main points:
>>>  * Code on file system matches exactly code in couchdb (helps version
>>>    control and programming - see next)
>>>  * Able to create and run test cases (automatically w/o code change)
>>>    for view map/reduce functions
>>>  * Be able to run the these test cases manually through debugger (eg:
>>>    rhino) using a harness
>>>  * Be able to instrument these test cases for profiling, for example by
>>>    having a debug built js in path
>>>  * And finally - just like couchcapp - create canonical directory
>>>    structure, as well as push and pull to/from design documents.
>>> The code (single standalone python script) is available here :
>>> You are welome to try/use/improve
>>> Thanks
>>> Vivek

View raw message