Great report. Sorry busy with other things. Can't work much right now on backend.
we are almost done with Phase II : usiage of ServerEntry all over the
I just migrated the JNDI SearchResult to use our own ServerSearchResult,
so now, the core is not using anymore JNDI structure internally, except
on the top and bottom layer (protocol and backend).
There are a few things to do yet :
- Strip the core from any JNDI layer and create a new sub-project
(server-jndi) which will be the JNDI layer. Doint that will help a lot
because we will have a pure server accepting requests directly from the
LdapProtocol layer, without having to deal with JNDI stuff. No more
Of course, from the user perspective, as the JNDI layer won't change,
the server will still be usable as it was previously.
- Decouple the backend from the core, and use ServerEntry internally.
That means we will serialize ServerEntries instead of Attributes,
leading to a major modification of the database content. We will provide
some tools to migrate the database, of course.
We also have to decouple the backend totally, so that it will be much
easier to write partitions using any kind of storage (currently, this is
possible, but it is quite complex).
Another big advantage is that we will be able to add a intermediate
cache system, more efficient than the one we have.
Alex is working on this part, and is progressing fast.
Once all this will be done, we will switch to phase III, where new
features will be implemented.
It took a bit longer than expected, but this is the price to pay to keep
the server stable between each commit (our politic is to ensure that if
someone want to grab the code, he will be able to run it).
Thanks for your attention !