Represents a valid lifecycle state of a document lifecycle policy. 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 a DocumentLifecyclePolicy object's DocumentStates collection.

Each lifecycle state must have a name, which is set by the StateName property. Each lifecycle state name must be unique within the lifecycle policy in which it is defined. To specify whether a given lifecycle state can be demoted or not, set its CanBeDemoted property.

The order of the lifecycle states in a document lifecycle policy's DocumentStates collection is important and determines the succession of lifecycle states. When a document that is associated with a document lifecycle policy is created, its initial lifecycle state is the first DocumentState object in the document lifecycle policy's DocumentStates collection. To move a document into the next lifecycle state defined in the document lifecycle policy's DocumentStates collection, call the document's ChangeState method and set its flags parameter to the LifecycleChangeFlags.PROMOTE constant. To move a document into the previous lifecycle state (unless the document's current lifecycle state's CanBeDemoted property is set to false), set the method's flags parameter to DEMOTE.

The template permissions specified by the TemplatePermissions property will be applied during a lifecycle state change if you set the ApplyTemplatePermissions property to true; otherwise the permissions will not be applied. If the ApplyTemplatePermissions property to set to true and you reset a document's lifecycle state, either by calling its ChangeState method and specifying RESET or by calling its Checkin method while the ResetLifecycleOnCheckin property on its document lifecycle policy is set to true, the access permissions will be reset to the access permissions of the initial lifecycle state.


The following tables list the members exposed by IDocumentState.

Public Properties

 NameDescription
Public propertyApplyTemplatePermissionsSpecifies whether to apply the permissions associated with the security template to a given object on transition to a given document state.
Public propertyCanBeDemotedSpecifies whether a document, while in a given lifecycle state (as defined by its document lifecycle policy), can be demoted (true) or not (false). A value of true indicates that a document's lifecycle state can be changed to the previous state that is defined by its document lifecycle policy.
Public propertyIdA representation of the Globally Unique Identifier (GUID), a unique 128-bit number, that is assigned to this Content Engine object when the object is created. When converted to a string, the Id property is typically depicted as 32 hexadecimal characters enclosed by brackets in the following format: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. For example, {3F2504E0-4F89-11D3-9A0C-0305E82C3301}.

For IUser and IGroup classes, the Id property takes the value of the Security Identifier (SID) rather than the 128-bit GUID. The string representation of the SID is in this example format: S-1-5-21-1559522492-2815155736-3711640725-55269. When Active Directory is used as the directory service for IBM FileNet P8, IUser.Id and IGroup.Id always return the current SID for the principal, even if this user or group has only historical SIDs populating the Active Directory server.

For a given property representation, the Id property has the following characteristics:

  • PropertyDescription.Id is equal to PropertyTemplate.Id, which is equal to PropertyDefinition.PrimaryId.
  • PropertyDefinition.Id is not equal to PropertyDefinition.PrimaryId.
  • PropertyDefinition.Id is not equal to PropertyDescription.Id.

For a newly created document object, you can override the Id property of its associated VersionSeries object before you save or check in the document for the first time.

Public propertyNameThe name for this object.

For most classes, this property is read-only and returns the value of the designated name property for the object, or its ID if there is no name property. If ClassDescription.NamePropertyIndex has a value, this property contains the value of the designated name property. If there is no designated name property value, and the object has an Id property, this property contains the string value of the Id property. If neither of these conditions is satisfied, this property contains an empty string.

For a ComponentRelationship object, this property is read/write and specifies the name of the object.

Public propertyStateNameSpecifies the name of this lifecycle state as defined by its document lifecycle policy. Each document lifecycle policy defines a set of states through which a document can transition into during its lifecycle. If this lifecycle state becomes a document's current lifecycle state, the server sets the document's CurrentState property to the value of this property.
Public propertyTemplatePermissionDescriptionsA list of descriptions of permissions applicable to the template. This property represents the set of AccessPermissionDescription objects to be used when creating a security template.
Public propertyTemplatePermissionsContains the set of discretionary AccessPermission objects to be used when creating a security template.
Top

See Also