0

How do I run/call/kickoff an external program (custom code) whenever certain attributes or objects are added or modified in OpenDJ’s database?

Here is my real world need. (Feel free to change my thought direction entirely). Whenever a new email address gets created or changed in the OpenDJ database I want to initiate some java code that does some email verification/validation (send the “click here” link with a token to prove the user owns the email they just signed up with).

I know, I could use OpenIDM/AM to accomplish this but to take this a step further I need to validate other information and other credentials (custom) which users supply that are not supported by OpenIDM/AM suites.

Initiating/calling custom code upon ADD or MODIFY of specific objects and attributes is what I want and would like to know how to accomplish this. Preferably without having to scrape logs.

Please Help.
Chad

clettsome
  • 103
  • 2

1 Answers1

0

OpenDJ has a plugin interface where you can plug Java calls on Add or Modify. A sample of this kind of plugin is the attribute uniqueness which verifies that some attributes have a unique value in the directory. The plugin interface javadoc can be found here : http://docs.forgerock.org/en/opendj/2.6.0/javadoc/org/opends/server/api/plugin/DirectoryServerPlugin.html

Ludovic Poitou
  • 4,788
  • 2
  • 21
  • 30
  • Thanks Ludo for pointing me in the correct direction. This functionality is exactly what I was looking for! However, the plugin build and install seems like an unmanageable, royal pain. I am running OpenDJ 2.6.0, and have seen Maven archetype that attempts to make it easier. Has there been any other documentation or development (ForgeRock or other) that I can use, to more easily develop plugins, with a readily accessible version of OpenDJ? – clettsome Oct 28 '14 at 22:53
  • Hi, sorry for the delay answer. – Ludovic Poitou Dec 02 '14 at 10:09
  • Hi, sorry for the delay answer. The OpenDJ build is inherited from OpenDS and hard to turn into Maven. We are doing it for OpenDJ 3.0, but meanwhile the only documentation I'm aware of is in the example-plugin.zip. – Ludovic Poitou Dec 02 '14 at 11:40