How do I update my custom password storage scheme or server plugin when I upgrade DS (All versions)?
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.
Overview
The following examples are bundled with the DS software to help you extend DS:
- Server Plugin (example-plugin.zip) - see Customization for further information.
- Password Storage Scheme (example-pwdscheme.zip) - 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.
Note
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:
- 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>
- 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 theorg.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).
- 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?
Related Training
N/A
Related Issue Tracker IDs
N/A