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
The Referential Integrity Plugin component inherits from the Plugin
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 | 
| 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 | 
| 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 | 
| 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 | 
| 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 | 
| 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 | 
| 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 | 
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 | 
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}