Yeah I'm thinking as long as we don't have CiDIT we might as well stick with XBean Spring. We can always remove it for 3.0 which hopefully should not take as long as 2.0 did.
not only is this complex from the user POV, but from the developper POV, this is a nightmare. I frankly don't like those annotations stuff, plus the fact that the objects are instanciated during the xml file processing is a real burden (and makes the configuration file way too complex).
I will talk my mind : I think that going for Spring was a big mistake.
Now, what can we do ? I think that the way to go is to have the configuration in the DIT, with LDIF based configuration files (like OpenLdap has).
The question is when will we have time to do that...
That's the big question. I can do it fast if I had a few things in my tool chest like an LDAP persistence engine. But that in it self will take a while to develop.
More inline on Stefan's comments ...
Stefan Zoerner wrote:
regarding configuration with the server.xml file: The current solution is still not perfect; it simplifies the file a lot, but some things are really complicated to accomplish.
I have started to documented it in the Basic User's Guide, but I stopped, because I still hope for some improvements before finalization in the 2.0 Providing a context entry for instance is definitely not acceptable for our users.
This is a fragment of the current style (perhaps I have missed something):
<spring:property name="targetObject"><spring:ref local='directoryService'/></spring:property>
Note that also need a custom Editor for Attributes to be configured.
This can be partially avoided with custom registrars in Spring but no need to go into that. Still sucks to do.
Defining your own partition is at least hard with that. It is not possible to leave the context entry out, it won't work (NPE).
Question: Is it possible to change the partition implementation that it works without providing an initial context entry in the configuration? In this case, the user has to add the "root entry" with a tool/LDIF load after starting the server with a new partition the first time, but this seems acceptable for me.
Yeah we can do that or we can infer some minimal partition context entry from the suffix. But I prefer your method since all sorts of complications may emerge from "inferring" the minimal context entry.
The configuration would become much easier then.
Yeah good point. This is what we should shoot for. We just need someone to research that.