Thanks Alex for the comments.

I've created it. It mixes ModificationItems and Entries, with a DN, so
we cover all the cases.

Did you have a look at the existing LDIF classes in shared-ldap ? Were they inadequate .. I know some features were not there. Also years ago Jeff Machols had worked on some LDIF code in the clients libraries. Unless there is some extra ordinary reason we should not reinvent the wheel?

You bet I did ! I used them too, because they where there. It's difficult to reinvent the wheel on such a matter, because RFC 2849 is so restrictive that it does not leave you with many room to show how smart you can be !!! However, the actual implementation has some problems :
- DIRSERVER 604 ( support of :< file://...)
- DIRSERVER 618 ( support of changetype attribute )
- DIRSERVER-187 ( multi-lines not accepted ) (Was DIRSERVER-199)
- Added Control handling
- There is a bad bug in value handling : "cn:valid name" is transformed to cn -> 'alid name' (the 'v' is deleted)

So I just considered reuse a LdifReader I wrote last year, before I knew about ADS (and it was the reason I lookad at ADS : I wanted to know if the Ldif Reader implementation was better than mine, and at this point, I was totally fascinated by the work done on ADS, so I stopped working on ldif). It was a piece of software I ported from a previous C# implementation I did too.

I don't know, at this point, if it can be called a NIH syndrom ? May be a little bit, because I didn't had the feeling to fix the existing code while mine was almost working, so I decided to merge both, resuing ( with small modification) LdifEntry (renamed to Entry to avoid code breakage)


btw, I'm not sure that allowing the server to injext a ldif file
whenstarting is such a good idea... Let me elaborate a lil bit : what
if your server is restarted? The ldif will be injected again. And that
may not be the expected behavior. wdyt ?

The server puts an entry into the ou=system area about the ldifs it loaded. It remembers what it has loaded. This is not the greatest thing in the world but it was a great way to get apps built on top of apacheds to load an initial LDIF file.

Ok, cool ! I wasn't aware of that. Makes it totally sane, then. At least, for embeded servers, it's a much better solution than to force the user to import some data using an API. Forget about my objection.


It could be better to have a tool to inject Ldif entries and changes
into the server (like LdifDe). IMHO :)

Well there is the apacheds-tools module. I intended to put this functionality there as well as some command line clients.

I gonna check that. I guess it's in sandbox, so I will ressucicate it.

Thanks Alex !

Reply via email to