[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Where could I get some reference about Config branch?



Pierangelo Masarati wrote:
On Fri, 2005-12-09 at 06:36 +0000, sparklezou@hotmail.com wrote:
Dear all,

I would like to add more configure parameters into the Config branch. Could you please help me to understand current source code? Where could I get some documents about Config?

I'm not the main developer of the config stuff, and I guess Howard will
add to this reply, but I did some limited development in this area, so I
can speak for my own experience.

Actually I think Ando's experience is more useful. Since I designed this thing it all makes perfect sense to me; the real test is how well another competent programmer can absorb it and do useful work with it.
The back-config stuff is a very complicated and sophisticated piece of
code; it definitely requires some generic and specific C programming
skills. It is undocumented, except for few emails you can find in this
list's archives that give an overview of the design and, as such, may
even be outdated with respect to current code. In fact, back-config
code is not intended for user modification.

Indeed. Part of the point behind the table-driven design is to eliminate the need for new config code; most config items can be handled now just with some data in tables.
If you feel like contributing to this area, you're welcome, but you'll
likely need to work things out yourself; of course, feel free to ask on
this list about specific topics, hints and so.  If you're really
committed to working in this area, please coordinate with the list, to
avoid duplication of efforts, drift, dead branches and so.

Please make sure you read contribution guidelines
<http://www.openldap.org/devel/contributing.html>; personally, I'm
getting overly picky on coding style, because the absence of coding
style, and sometimes a rather different coding style makes patch
integration and bug fixing really time consuming and frustrating, so
please make the effort of sticking with current code style (in this
sense, the coding style used in most of back-config departs a little
from the overall style of OpenLDAP...).

Currently, global, frontend and selected backend and overlay
configuration is already in place.  There's very little to do about the
global and frontend stuff (there would be some big areas which have been
neglected right now because they're not so important or urgent, like
rewriting and so).  But there's plenty to work on some of the remaining
backends and overlays of general usefulness.  My suggestion is to avoid
working on dead stuff like back-ldbm (or slurpd), and to avoid working
on nearly useless toys like some overlays that will likely move from the
main build tree into contrib since they were essentially provided as
examples.

To work on a backend or on an overlay, I suggest you code by example,
possibly picking the simplest examples first.  back-bdb or even back-
ldap could be good examples for backends; slapo-syncprov or slapo-
dynlist could be good examples for overlays.  In case you need to work
on overlays or databases that need to have child entries, there are
quite a few examples (slapo-pcache, slapo-chain).  If you intend to work
on back-relay, back-meta or slapo-rwm, please coordinate with myself, as
I'll be working on those some time (low, but definite priority).



--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/