Configuration Reference Home
OpenDJ - Referential Integrity Plugin

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

The Referential Integrity Plugin component inherits from the Plugin

Properties

A description of each property follows.


Basic Properties: Advanced Properties:
↓ attribute-type ↓ invoke-for-internal-operations
↓ base-dn ↓ java-class
↓ check-references ↓ plugin-type
↓ check-references-filter-criteria
↓ check-references-scope-criteria
↓ enabled
↓ log-file
↓ update-interval

Basic Properties

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 of an attribute type defined in the server schema.
Multi-valued
Yes
Required
Yes
Admin Action Required
None
Advanced Property
No
Read-only
No

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
Advanced Property
No
Read-only
No

check-references

Description
Specifies whether or not reference attributes must refer to existing entries. When this property is set to true, this plugin will ensure that any new references added as part of an add or modify operation point to existing entries, and that the referenced entries match the filter criteria for the referencing attribute, if specified.
Default Value
false
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

check-references-filter-criteria

Description
Specifies additional filter criteria which will be enforced when checking references. If a reference attribute has filter criteria defined then this plugin will ensure that any new references added as part of an add or modify operation refer to an existing entry which matches the specified filter.
Default Value
None
Allowed Values
An attribute-filter mapping.
Multi-valued
Yes
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

check-references-scope-criteria

Description
Specifies whether or not referenced entries must reside within the same naming context as the entry containing the reference. The reference scope will only be enforced when reference checking is enabled.
Default Value
global
Allowed Values
global - References may refer to existing entries located anywhere in the Directory.

naming-context - References must refer to existing entries located within the same naming context.


Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

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
Advanced Property
No
Read-only
No

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 path to an existing file that is readable by the server.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

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 Syntax. Lower limit is 0 seconds.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No


Advanced Properties

invoke-for-internal-operations

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 operatons 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
Advanced Property
Yes
Read-only
No

java-class

Description
Specifies the fully-qualified name of the Java class that provides the plug-in implementation.
Default Value
org.opends.server.plugins.ReferentialIntegrityPlugin
Allowed Values
A java class that implements or extends the class(es) :
org.opends.server.api.plugin.DirectoryServerPlugin
Multi-valued
No
Required
Yes
Admin Action Required
None
Advanced Property
Yes
Read-only
No

plugin-type

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
postoperationdelete postoperationmodifydn subordinatemodifydn subordinatedelete preoperationadd preoperationmodify
Allowed Values
intermediateresponse - Invoked before sending an intermediate repsonse message to the client.

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

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

ldifimportbegin - Invoked at the beginning of an LDIF import session.

ldifimportend - Invoked at the end of an LDIF import session.

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).

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.

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.

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.

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.

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

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

shutdown - Invoked during a graceful directory server shutdown.

startup - Invoked during the directory server startup process.

subordinatedelete - Invoked in the course of deleting a subordinate entry of a delete operation.

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


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
Advanced Property
Yes
Read-only
No