Hi guys,
we discussed a lot about how we should support OSGi and classload some
extension points.
I would like to look at the problem from the other side : what are the
existing extension points, what kind of support we would like to offer
for each of them, and when do we want to offer such a support... So
let's start here :
API :
-----
1) Schema Objects : mainly the SyntaxCheckers, LdapComparators and
Normalizers. We would like those elements being loadable even if no OSGi
container is present, simply using a class.forName() on them. We should
also be able to use their FQCN and even classload the provided bytecode,
if they are added thorugh an entry.
I'm not sure we should provide such an extensibility for 2.0.0, we can
most certainly do that for the next version
2) Controls, Extended operations : IMO, encoding and decoding operations
are by far too complex for those who have no knowledge about the way we
do that. Actually, that mean Kiran and me, maybe Pierre-Arnaud with a
bit of training. Ok, this sounds really bad, but we also have to
consider that we are not likely to add new controls or extended
operations frequently.
I would say : wait for a future version (2.0.1 or even later).
I don't think we have many more extension points in the API
Server :
--------
1) Interceptors : Make them bundles right away (I think it's already the
case)
2) Authenticator : Bundles too. For 2.0
3) Stored Procedures : This is a complex issue. I don't think its ready
for 2.0 anyway, and we have to discuss seriously about the security
implication of allowing those guys to be injected in the server...
4) Partitions : Bundles, for 2.0.
5) Am I missing something ?
Feel free to comment.
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com