couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Franck Eyraud <>
Subject Re: Writing a Plugin : know couchdb core
Date Sat, 14 Dec 2013 09:02:07 GMT

It seems that plugin discussions don't create passionate debates... It's 
a pity because it is really a good feature, and since from what I 
understood taht the couchdb core might be reduced in the future, plugins 
will be always used more.

Maybe creating a plugin is not a in itself problem. I watched the 
interesting talk[1] from Jason Smith which is a very good start. And it 
made me realize that writing a plugin is in fact equivalent to writing a 
bit of code in couchdb core.

So what I need is to learn what a couchdb developer knows : couchdb 
architecture and API.

Is there any resource online where I can learn this stuff ? A quick 
start guide to develop in couchdb (especially for people who never used 
erlang before) ? Or is the only way to dig inside couchdb git tree and 
try to understand ? Before doing this, I want to be sure I won't loose 
too much time. So please people who entered the couchdb project later, 
how did you reach your level ?

Thanks for your help,


On 05/12/2013 19:05, Franck Eyraud wrote:
> Hello,
> I cross post this since it seems better to follow up on the developers 
> mailing list.
> I started to work from Jan's my-first-couchdb-plugin to adapt the LDAP 
> feature from chao into a couchDB plugin.
> Up to now, I managed to do it, by adding an auth handler.
> But in order to develop a plugin, I would need to know where it is 
> possible to hook to change behaviour.
> I'd say that a list of pluggable points of the code, from people who 
> know very well the couchdb architecture, would be very useful. I 
> didn't find such resource on the web, and I have the feeling that it 
> doesn't exist. Would it be possible to have such a list, even in draft 
> version just to begin. I can then contribute to the documentation to 
> help future plugin developers.
> Up to now I only counted three public plugins, including two real ones 
> : CouchPerUser, GeoCouch and MyFirstCouchdbPlugin (and the new born 
> LdapAuth)
> I would like to know for instance if features that act more deep 
> inside the couchdb engine, such as the validate_doc_read function, 
> could be made as plugin ?
> Thank you for your help,
> Franck
> On 15/09/2013 14:45, Jason Smith wrote:
>> Hi, Aurélien.
>> I think LDAP is a great candidate to convert to a plugin. The 
>> foundation is
>> there however it is still more developer-focused than user-focused.
>> Probably the best starting place is Jan's example plugin:
>> On Sun, Sep 15, 2013 at 7:38 PM, Aurélien Bénel <>
>> wrote:
>>> No idea?
>>> Any plugin expert out there?
>>>> Hi everyone,
>>>> In version 1.4, the feature that excites me the most is the plugin 
>>>> system. I see it as a way to foster innovation on CouchDB, letting 
>>>> people
>>>> test unstable features, without having to weaken the core of CouchDB.
>>>> However, I haven't found much on the Web about what can be done 
>>>> exactly
>>>> as a plugin, and how difficult it is to turn a "feature hidden in some
>>>> developer’s git repository" into a plugin.
>>>> As an example of a long forgotten (yet needed) feature, let's take 
>>>> the LDAP authentication handler (
>>>> Could it be 
>>>> turned into
>>>> a plugin? Would it be easy?
>>>> Regards,
>>>> Aurélien

View raw message