Public Methods

  Name Description
Public method AccessContentStream Obtains read access, via an input stream, to the content data of a ContentTransfer content element associated with this document or annotation. If content data is not present in the object’s property cache, it will be fetched from the server. The Content Engine will not automatically close the stream after access has finished; unless you want the stream to remain open, your application should close the stream after it has finished reading the content data. An error occurs if the element parameter specifies an invalid index, no content elements exist on this document or annotation, or the content element is not a ContentTransfer object.
Public method ApplySecurityTemplate Applies a security policy template to the given object. The specified value for the applyStateId parameter must match the value of the ApplyStateID property of one of the templates in the security policy for the object. For a versioning security template, the apply state ID can be one of the following:
  • VersionStatusId.IN_PROCESS
  • VersionStatusId.RELEASED
  • VersionStatusId.RESERVATION
  • VersionStatusId.SUPERSEDED
For an application security template, the apply state ID is defined by your application.
Public method ChangeState Changes the current lifecycle state of this document. Note that you cannot change the state of a document that is a reservation object. Valid lifecycle states are defined by the collection of DocumentState objects belonging to this document's associated DocumentLifecyclePolicy object. You can change a document's current lifecycle state to another predefined state, place a document into the exception state, or remove a document from the exception state by specifying a LifecycleChangeFlags constant in the LifecycleChangeFlags parameter as follows:
  • PROMOTE: Promotes the document's current lifecycle state to the next state in its document lifecycle policy and sets the document's CurrentState property to the name of the next state. Throws an error if the document is in the exception state, in the first state of its lifecycle, or does not allow demotion.
  • DEMOTE: Demotes the document's current lifecycle state to the previous state in its document lifecycle policy and sets the document's CurrentState property to the name of the previous state, unless the CanBeDemoted property of the document’s current state (DocumentState object) is set to false. Throws an error if the document is in the exception state or in the first state of its lifecycle.
  • SET_EXCEPTION: Places the document into the exception state and sets its IsInExceptionState property to true. Throws an error if the document's IsInExceptionState property is already set to true.
  • CLEAR_EXCEPTION: Removes the document from the exception state and sets its IsInExceptionState property to false. Throws an error if the document's IsInExceptionState property is already set to false.
  • RESET: Resets the lifecycle state to the initial state in its document lifecycle policy and sets the document's CurrentState property to the name of the initial state. Throws an error if the document is in the exception state.
Public method Checkin Checks in this document reservation object by saving it as a new document version. You must have the appropriate access rights to check in a document (MAJOR_VERSION to check it in a major version or MINOR_VERSION to check it in a minor version). A major version is either the current released document version (if it is the latest major version) or a former released version that has been superseded. A minor version is either the in-process document version (if it is the latest minor version) or a former in-process version that has been superseded. In addition, if the reservation object is an exclusive reservation (its ReservationType property is set to EXCLUSIVE), you must be the reservation owner (the reservation owner's name is the value of the reservation object's Owner property) or have the WRITE_OWNER access right. An error will occur if this method is called by a document that is not a reservation object.

Before you can check in a document that has content, you must set the content for the document by adding to its ContentElements collection one or more ContentTransfer objects if the content is stored in a Content Engine object store, or one or more ContentReference objects if the content is stored externally. If you do not want the Content Engine to assign a MIME type to the checked-in document, you must explicitly set the value of the document's MimeType property before calling the Checkin method. After a successful check-in, the reservation object becomes the new current version of the document (its IsCurrentVersion property is set to true). During a minor version check-in, the new minor document version is marked as in-process (its VersionStatus property is set to IN_PROCESS) and the previous in-process minor document version (if it exists) is marked as superseded (its VersionStatus property is set to SUPERSEDED). During a major version check-in, the new major document version is marked as released (its VersionStatus property is set to RELEASED) and the previous released major document version and in-process minor document version (if they exist) are marked as superseded.

The checkinType parameter specifies whether to check in a document as a minor or a major version; set it to MINOR_VERSION to check in a minor version, or MAJOR_VERSION to check in a major version. The autoClassify parameter specifies whether the document should have automatic document classification enabled. (This feature is not supported for publish templates.) If set to AUTO_CLASSIFY, and if a classifier exists for the document's content type, the document will automatically be assigned the proper document class and its properties will be populated based on the document content (and, in the case of XML document classification, mapping rules from user-defined scripts). The Content Engine's classification service uses a document's MIME type to determine if there is a classifier capable of parsing the document. If you set the autoClassify parameter to AUTO_CLASSIFY, the check-in operation changes the value of the document's ClassificationStatus property to CLASSIFICATION_PENDING; if you set it to DO_NOT_AUTO_CLASSIFY, the property is set to NOT_CLASSIFIED.

Public method GetPublicationStatus Returns a PublicationStatus enumeration value, which identifies the document's publication status (dependent, independent, or not a publication). A PublicationStatus object.
Public method IsLocked Queries this object's lock state. This helper method examines the object's lock-related properties and determines the object's lock state. An alternative approach is to call the LockObject method and handle any exception thrown if the method fails.

Note that this method returns an approximation of the locked state at the time of the call. Once this method executes and returns the value, the object's lock state could be immediately changed by another application's call to the LockObject method or the lock could expire.

Before calling this method, make sure that the object's LockToken, LockTimeout, and DateLastModified properties have relatively fresh values. If any of those properties is missing, they are silently fetched from the server and added to the object's property cache.

The IsLocked method returns False if the LockTimeout property is not set or if the lock has expired. The lock is determined to be expired if the DateLastModified property value plus the number of seconds specified by the LockTimeout property is less than the current system time. (All millisecond components are dropped from the calculation.) If the DateLastModified property is not set, this method returns False because the check against the lock timeout value or the lock token will reflect that the object is not locked. As soon as some action locks the object, the DateLastModified property will be updated and can then be used for the expiration calculation.

Note: Note: To successfully run IsLocked and other cooperative locking methods, system clocks on the IBM FileNet P8 platform engine machines must be synchronized. The calculation performed by the IsLocked() method is done on the client system. If the client and server machine clocks are not synchronized, the result of this calculation might be incorrect.

Public method LockObject Sets a new lock or updates an existing lock on the object. Calling this method has no effect in preventing others from updating a locked object (with the exception that others cannot re-lock the locked object). This lock mechanism is used for custom purposes only and has no bearing on the actual ability to update an object.

To successfully execute this method, the current user must have permission to modify this object's properties. For example, locking a Document object requires AccessLevel.WRITE_DOCUMENT.

If the call succeeds:

  • The object's LockOwner property is populated with the user name specified in the owner parameter. (New lock only.)
  • The value specified by timeoutis applied to the object's LockTimeout property.
  • A LockToken (GUID) is internally created by the server. (New lock only.)

To update an existing lock, the objects needs to be in the locked state and the current user needs to match the user of the lock. Note that the user is the logged in user, not the owner string. If the call succeeds, then only the LockTimeout property is updated with the timeout value. The owner parameter in this case is ignored. (See the UpdateLock() method instead.)

Public method MoveContent Moves the content data of an object to a new storage area.
Public method Publish Publishes this Document object according to the specifications included in the specified publish template as modified by the contents of the publishOptions parameter. This method returns the PublishRequest object that is queued for this request. All publish requests are asynchronous, including copy operations, which do not transform the document. A publish request is always enqueued, and a copy of the PublishRequest object is always returned to the caller.

The publish template you specify, as well as any objects specified in the publish template itself, must reside on the same object store as this Document object. Note that publishing to a document class containing a required binary- or object-valued property is not supported as there is no way to set these property values during publishing.

The publishOptions parameter is a string containing XML that specifies the publish options for the published document. See Publish Options XML for more information.

After a successful call to publish, call the Save method of the returned PublishRequest object to submit the request to the publish queue.

Public method Republish Republishes the specified published document. The specified published document must have been published with a publish template that still exists and had this Document object as its source document. This method returns the PublishRequest object that is queued for this request. All publish requests are asynchronous, including copy operations, which do not transform the document. A publish request is always enqueued, and a copy of the PublishRequest object is always returned to the caller.

The publishOptions parameter is a string containing XML that specifies the publish options for the republished document. See Publish Options XML for more information.

Public method TakeFederatedOwnership For a document that has been federated by Content Federation Services (CFS), grants exclusive control of this document to the FileNet P8 Content Engine by making the corresponding external document read-only. (Since the external document ceases to change, no changes exist for CFS to propagate from the external repository to the Content Engine, and the Content Engine becomes the sole means for modifying or deleting the document.) For non-federated documents or for documents for which this method has already been called, this method has no effect. An error is generated if this document is a reservation object (VersionStatus property is set to RESERVATION).
Public method Unlock Explicitly removes the lock from this object. Only the user who locked the object may remove the lock. If the current user is not the user of the lock, the current user can still remove the lock provided that user has AccessRight.WRITE_ACL permission on the object. An exception is thrown if the above conditions are not met. Upon successful execution of this method, the values for the object's LockOwner, LockToken, and LockTimeout properties are removed (set to null). If you do not call Unlock to explicitly remove the lock, the lock is implicitly removed when the lock's timeout value expires. If the object is not locked (absence of a LockToken).
Public method UpdateLock Adjusts the timeout period of the lock on this object.

This method updates the object's DateLastModified property to the current time and its LockTimeout property to the timeout value. The net effect of this may extend or shorten the original lock's expiration time. Only the user who locked the object can successfully call this method; for any other user, an exception is thrown. There is no limit to the number of times you can call this method.

Top

See Also