February 11, 2021 at 6:30 pm #28455
I am looking into writing a custom backend for DS 7.0.1, but I am having trouble finding documentation on the topic. I did find the documentation regarding Plugins and the API for Pluggable Backends, but I was wondering if there is something more detailed on this topic. Perhaps a sample pluggable backend to use as a template?
I was able to work with the MemoryBackend, found in the OpenDJ 2.6 source, as a starting point but I am not able to get it working with DS 7.0.1.
ZainFebruary 11, 2021 at 6:36 pm #28456LudoModerator
The backend API for DS 7.0 is not public and therefore not documented.It’s evolving as we’re adding new capabilities to the server.
What kind of backend are you trying to develop?
Ludo.February 11, 2021 at 6:42 pm #28457
Thank you for the quick response Ludo. I was exploring the possibility of using various databases for storing the entries.
ZainFebruary 12, 2021 at 5:16 pm #28458LudoModerator
I’m afraid this is not an option. We’ve been through the evaluation multiple times. Directory Services requires an embedded key value store and BDB JE is the best available in Java.February 13, 2021 at 1:55 am #28459[email protected]Participant
I have a plugin that will publish to redis any DNs that are created/updated (we don’t delete entries). We use it to inform an application that a user’s ldap record changed via subscribing to the channel. As the application gets messages, it pulls the user info from opendj and updates the application internal user data table.
Not sure if this would be of any value to you but you might be able to rework it into syncing a database with values. Let me know if you are interest in it.
It was my first DS plugin and it hasn’t been stress tested for performance issues (like I wouldn’t use it with CTS) but one of the reasons I picked redis was it is pretty lightweight and I only drop the ldap dn on the publish channel.
GeneFebruary 16, 2021 at 6:35 pm #28460
Is this a “POST UPDATE” type plugin, which sends a message to your redis instance to do a pull request whenever there is an update? And it still uses BDB JE as the original storage for the LDAP entries?
Thank you for the suggestion, I will explore this approach as well.
You must be logged in to reply to this topic.