Referential Integrity Plugin

The Referential Integrity Plugin maintains referential integrity for DN valued attributes.

The values of these attributes can reference entries that have been deleted by a delete operation or renamed by a modify DN operation. The referential integrity plug-in either removes stale references to deleted entries or updates references to renamed entries. The plug-in allows the scope of this referential check to be limited to a set of base DNs if desired. The plug-in also can be configured to perform the referential checking in the background mode specified intervals.

Parent Component Properties dsconfig Usage

Parent Component

The Referential Integrity Plugin component inherits from the Plugin

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  plugin-type
 enabled  invoke-for-internal-operations
 attribute-type
 base-dn
 log-file
 update-interval

Basic Properties

description

Description
A description for this Plugin
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether the plug-in is enabled for use.
Default Value
None
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

attribute-type

Description
Specifies the attribute types for which referential integrity is to be maintained. At least one attribute type must be specified, and the syntax of any attributes must be either a distinguished name (1.3.6.1.4.1.1466.115.121.1.12) or name and optional UID (1.3.6.1.4.1.1466.115.121.1.34).
Default Value
None
Allowed Values
The name or OID of an attribute type defined in the server schema.
Multi-Valued
Yes
Required
Yes
Admin Action Required
None. Modification requires no further action

base-dn

Description
Specifies the base DN that limits the scope within which referential integrity is maintained.
Default Value
Referential integrity is maintained in all public naming contexts.
Allowed Values
A valid DN.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action

log-file

Description
Specifies the log file location where the update records are written when the plug-in is in background-mode processing. The default location is the logs directory of the server instance, using the file name "referint".
Default Value
logs/referint
Allowed Values
A filesystem path
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

update-interval

Description
Specifies the interval in seconds when referential integrity updates are made. If this value is 0, then the updates are made synchronously in the foreground.
Default Value
0 seconds
Allowed Values
A duration. Lower limit is 0 seconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


Advanced Properties

plugin-type (Advanced Property)

Description
Specifies the set of plug-in types for the plug-in, which specifies the times at which the plug-in is invoked.
Default Value
preoperationdelete
postoperationdelete
postoperationmodifydn
subordinatemodifydn
Allowed Values
startup - Invoked during the Directory Server startup process.

shutdown - Invoked during a graceful Directory Server shutdown.

postconnect - Invoked whenever a new connection is established to the server.

postdisconnect - Invoked whenever an existing connection is terminated (by either the client or the server).

ldifimport - Invoked for each entry read during an LDIF import.

ldifexport - Invoked for each operation to be written during an LDIF export.

preparseabandon - Invoked prior to parsing an abandon request.

preparseadd - Invoked prior to parsing an add request.

preparsebind - Invoked prior to parsing a bind request.

preparsecompare - Invoked prior to parsing a compare request.

preparsedelete - Invoked prior to parsing a delete request.

preparseextended - Invoked prior to parsing an extended request.

preparsemodify - Invoked prior to parsing a modify request.

preparsemodifydn - Invoked prior to parsing a modify DN request.

preparsesearch - Invoked prior to parsing a search request.

preparseunbind - Invoked prior to parsing an unbind request.

preoperationadd - Invoked prior to performing the core add processing.

preoperationbind - Invoked prior to performing the core bind processing.

preoperationcompare - Invoked prior to performing the core compare processing.

preoperationdelete - Invoked prior to performing the core delete processing.

preoperationextended - Invoked prior to performing the core extended processing.

preoperationmodify - Invoked prior to performing the core modify processing.

preoperationmodifydn - Invoked prior to performing the core modify DN processing.

preoperationsearch - Invoked prior to performing the core search processing.

postoperationabandon - Invoked after completing the abandon processing.

postoperationadd - Invoked after completing the core add processing but before sending the response to the client.

postoperationbind - Invoked after completing the core bind processing but before sending the response to the client.

postoperationcompare - Invoked after completing the core compare processing but before sending the response to the client.

postoperationdelete - Invoked after completing the core delete processing but before sending the response to the client.

postoperationextended - Invoked after completing the core extended processing but before sending the response to the client.

postoperationmodify - Invoked after completing the core modify processing but before sending the response to the client.

postoperationmodifydn - Invoked after completing the core modify DN processing but before sending the response to the client.

postoperationsearch - Invoked after completing the core search processing but before sending the response to the client.

postoperationunbind - Invoked after completing the unbind processing.

preresponseadd - Invoked just before sending the add response to the client.

preresponsebind - Invoked just before sending the bind response to the client.

preresponsecompare - Invoked just before sending the compare response to the client.

preresponsedelete - Invoked just before sending the delete response to the client.

preresponseextended - Invoked just before sending the extended response to the client.

preresponsemodify - Invoked just before sending the modify response to the client.

preresponsemodifydn - Invoked just before sending the modify DN response to the client.

preresponsesearch - Invoked just before sending the search result done response to the client.

postresponseadd - Invoked after sending the add response to the client.

postresponsebind - Invoked after sending the bind response to the client.

postresponsecompare - Invoked after sending the compare response to the client.

postresponsedelete - Invoked after sending the delete response to the client.

postresponseextended - Invoked after sending the extended response to the client.

postresponsemodify - Invoked after sending the modify response to the client.

postresponsemodifydn - Invoked after sending the modify DN response to the client.

postresponsesearch - Invoked after sending the search result done message to the client.

postsynchronizationadd - Invoked after completing post-synchronization processing for an add operation.

postsynchronizationdelete - Invoked after completing post-synchronization processing for a delete operation.

postsynchronizationmodify - Invoked after completing post-synchronization processing for a modify operation.

postsynchronizationmodifydn - Invoked after completing post-synchronization processing for a modify DN operation.

searchresultentry - Invoked before sending a search result entry to the client.

searchresultreference - Invoked before sending a search result reference to the client.

subordinatemodifydn - Invoked in the course of moving or renaming an entry subordinate to the target of a modify DN operation.

intermediateresponse - Invoked before sending an intermediate response message to the client.
Multi-Valued
Yes
Required
Yes
Admin Action Required
The Referential Integrity Plugin must be disabled and re-enabled for changes to this setting to take effect. In order for this modification to take effect, the component must be restarted, either by disabling and re-enabling it, or by restarting the server

invoke-for-internal-operations (Advanced Property)

Description
Indicates whether the plug-in should be invoked for internal operations. Any plug-in that can be invoked for internal operations must ensure that it does not create any new internal operations that can cause the same plug-in to be re-invoked.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured Plugins:

dsconfig list-plugins
     [--property {propertyName}] ...

To view the configuration for an existing Plugin:

dsconfig get-plugin-prop
     --plugin-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing Plugin:

dsconfig set-plugin-prop
     --plugin-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Referential Integrity Plugin:

dsconfig create-plugin
     --plugin-name {name}
     --type referential-integrity
     --set enabled:{propertyValue}
     --set attribute-type:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Plugin:

dsconfig delete-plugin
     --plugin-name {name}