The retention expiration date and time of this object. This object can be deleted only after the expiration date and time has passed. If this property is null, this object is not held under retention and there are no restrictions on when it can be deleted.

When you create an object, the Content Engine server automatically sets the CmRetentionDate property to the default retention date and time. The Content Engine server calculates the default retention date and time by adding the retention period (DefaultRetentionPeriod property of the object's class definition) expressed in the selected duration units (RetentionPeriodUnits property of the object's class definition) to the date and time when the object was created. Alternatively, you can override the default value by setting the CmRetentionDate property of the object to a specific date and time. Once an object has been created, you cannot change the value of its CmRetentionDate property to a smaller value; that is, the retention period of the object cannot be shortened.

An object that has related objects under retention cannot be deleted until all of its related objects have been deleted. For example, a document with annotations cannot be deleted until all of its annotations have been deleted. The retention dates of a document and its annotations are independent of each other.

When a document is checked out, its CmRetentionDate property value is not applied to the resulting reservation object. If you set the CmRetentionDate property of the reservation object, the property value is applied to the new document version when you check in the reservation object. Note that setting the CmRetentionDate property of the reservation object does not prevent the reservation object from being deleted. If you do not set the CmRetentionDate property of the reservation object when you check it in, the CmRetentionDate property of the new document version is automatically set to the default retention date and time.

The CmRetentionDate property can be set to a specific date and time, or it can be set to one of the following RetentionConstants constants:

  • INDEFINITE: Indefinite retention. Specifies that the object can be deleted only if the CmRetentionDate property is changed to an expiration date and time, and that date and time is in the past. This property can be changed to INDEFINITE only if it has a value of null. If this property has been set to INDEFINITE, it cannot be set to null; it can only be set to a date and time value or to PERMANENT.
  • PERMANENT: Permanent retention. Specifies that the object can never be deleted.

To set the CmRetentionDate property value on an object, you must have the following permissions:

  • WRITE_ACL (modify permissions) on the object
  • MODIFY_RETENTION (modify retention date) on the object store

Namespace:  FileNet.Api.Core
Assembly:  FileNet.Api (in FileNet.Api.dll)

ToggleSyntax

Visual Basic (Declaration)
Property CmRetentionDate As Nullable(Of DateTime)
C#
Nullable<DateTime> CmRetentionDate { get; set; }
Visual C++
property Nullable<DateTime> CmRetentionDate {
	Nullable<DateTime> get ();
	void set (Nullable<DateTime> value);
}
JavaScript
function get_cmRetentionDate();
function set_cmRetentionDate(value);

ToggleRemarks

ToggleSee Also