Hello,

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,

Franck

[1] http://www.youtube.com/watch?v=saNjXpE1h1Y&list=PLJa_sXrJUZb8ZuaQShicg6oWI682Bavjb&index=9
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.
https://github.com/franck-eyraud/ldap-auth-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:

https://github.com/janl/my-first-couchdb-plugin

On Sun, Sep 15, 2013 at 7:38 PM, Aurélien Bénel <[email protected]>
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 ( https://github.com/chao/couchdb/commits/ldap_auth). Could it be turned into
a plugin? Would it be easy?


Regards,

Aurélien


Reply via email to