How To
ForgeRock Identity Platform
Does not apply to Identity Cloud

How do I update my custom password storage scheme or server plugin when I upgrade DS (All versions)?

Last updated Jan 12, 2023

The purpose of this article is to provide assistance if you have a custom password storage scheme or server plugin that you want to migrate to a newer DS version after upgrading DS.


The following examples are bundled with the DS software to help you extend DS:

  • Server Plugin ( - see Customization for further information.
  • Password Storage Scheme ( - see DS 6.5 Product Improvements for further information (DS 6.5 and later).

If you have previously created a custom extension based on the above examples, you must update it for compatibility with newer versions of DS when you upgrade. You can do this in one of two ways depending on the level of customizations you have made and the changes in the latest DS version:

  • Rework existing customizations and rebuild. Refer to the following section for further information.
  • Start fresh using the new DS example and apply your local changes to the latest code. Refer to the example readme and Customization for further information.

Creating/migrating custom server plugins and password storage schemes is outside the scope of ForgeRock support; if you want more tailored advice, consider engaging Deployment Support Services.

Rework existing customizations and rebuild

You can rework customizations as follows:

  1. Update the pom.xml file (located in either /path/to/ds/opendj-server-example-plugin or /path/to/ds/opendj-server-example- pwdscheme) to use the dependencies associated with the new DS version. You should compare your pom file to the pom file from the new DS example and update your pom file to include any new or changed dependencies. At the very least, you must check and update the following:
    • Change the version number in the following section to reflect the version number of the new DS. For example, it would look like this if you are upgrading to DS 6.5: <parent> <groupId>org.forgerock.opendj</groupId> <artifactId>opendj-parent</artifactId> <version>6.5.0</version> </parent>
    • If you are upgrading from DS 5.x, you must update the artifactId for the org.forgerock.opendj dependency. Look for the following dependency: <dependency> <groupId>org.forgerock.opendj</groupId> <artifactId>opendj-server-legacy</artifactId> <version>${project.version}</version> </dependency> And change the artifactId to opendj-server. For example, it should now look like this: <dependency> <groupId>org.forgerock.opendj</groupId> <artifactId>opendj-server</artifactId> <version>${project.version}</version> </dependency>
  2. Migrate your server plugin or password storage scheme code to be compatible with the new DS version. The following pointers should help you:
    • Refer to Customization.
    • Refer to the Javadoc for information on the current API.
    • DS has been migrating away from server-specific classes in the org.opends.server.types Java® package to classes in the org.forgerock.opendj.ldap Java package that are shared between the server and the LDAP SDK. These classes may have new names (for example, the DN class was renamed to Dn class) and may also use different methods (which could affect their behavior).
  3. Rebuild your code per the example readme.

See Also

Understanding source code access for ForgeRock products

How do I access the ForgeRock protected Maven repositories?

File Layout

Related Training


Related Issue Tracker IDs


Copyright and Trademarks Copyright © 2023 ForgeRock, all rights reserved.