Represents the lifecycle policy for a document. A document lifecycle policy defines a set of valid lifecycle states for a document, controls the transition of those states, and specifies the actions to be taken and which access permissions to be applied when a document's lifecycle state changes.

To define the lifecycle states in a document lifecycle policy, create a DocumentState object for each lifecycle state that you want to define and add it to the DocumentStateList collection referenced by the DocumentState property. You can set the ResetLifecycleOnCheckin property to define whether a document, when it is checked in, is reset to the initial lifecycle state in its document lifecycle policy or not. To define the actions to be taken when a document's lifecycle state changes, create a DocumentLifecycleAction object and set the DocumentLifecycleAction property to reference it. With the PreseveDirectPermissions property, you can elect to either preserve a document's direct (non-inherited) access permissions or replace them with the document lifecycle policy's access permissions.


The following tables list the members exposed by IDocumentLifecyclePolicy.

Public Properties

 NameDescription
Public propertyDocumentLifecycleActionSpecifies the DocumentLifecycleAction object associated with this DocumentLifecyclePolicy object that holds the definition of the actions to take when a document's lifecycle state changes.
Public propertyDocumentStatesSpecifies a DocumentStateList object that contains the complete set of valid document states (each of which is represented by a DocumentState object) defined by this DocumentLifecyclePolicy object. Each document lifecycle policy defines a set of states through which a document can transition into during its lifecycle.
Public propertyPreserveDirectPermissionsDetermines whether direct access control entries (ACEs) are preserved on an object when a given security policy template or lifecycle policy is applied to the object. Direct ACEs are permissions that have been directly set on the object, not set through inheritance. If the value of this property is False, the object's original direct permissions are replaced by the permissions defined by the applied security policy template or lifecycle policy. Permissions inherited from the object's security parent are retained. If the value is True, the object's original direct permissions are preserved as well as its inherited permissions.
Public propertyResetLifecycleOnCheckinSpecifies whether to reset the lifecycle state of the new checked-in version of a document to the initial state of its associated document lifecycle policy (true) or not (false). If the ResetLifecycleOnCheckin property of a document's associated DocumentLifecyclePolicy object is set to false, the lifecycle state of the document will remain the same from one version to the next unless you explicitly change it using the document's ChangeState method.
Top

Public Methods

 NameDescription
Public methodChangeClassChanges the class of a Content Engine object. The new class must already exist and both it and the original class must be subclasses of the same base class. The ChangeClass method does not modify the security for an object, even if the object's current security is derived from the default security for its source class. For the object's user-defined properties, the following rules apply:
  • Any user-defined properties that exist in the new class but not in the original class are set to the default value defined by the new class (or to null if there is no default defined).
  • Any user-defined properties that exist in both the original and the new class that are writable and have the same value (including null) as the default value defined in the original class will be set to the default value defined by the new class. However, any user-defined property that has had its value modified from the default value will retain that modified value in the new class.
  • Any user-defined properties whose definitions exist in the original class but not in the new class will no longer exist on the object when its class is changed.

When the class of a document object is changed, the default document lifecycle policy of the new class will only be applied to the document object's DocumentLifecyclePolicy property if both of the following scenarios occur:

  • The document has no current lifecycle policy.
  • The document is either a reservation object, or is the current version object and is not reserved.

Top

See Also