Represents the base class for interfaces whose instances are versionable objects. If versioning is enabled on a versionable object (its
property is
), it can have multiple versions associated with it in an object store. A versionable object can be checked out, optionally edited, and checked in as a major or a minor version. A major version is either the current released version (if it is the latest major version) or a previous released version that was superseded. A minor version is either the in-process version (if it is the latest minor version) or a previous in-process version that was superseded. When a versionable object is checked out, a reservation object is created, which you can modify. During the check-in operation, the reservation object becomes the current version of the versionable object, therefore creating a new version. All of a versionable object's versions can be accessed by its associated
object or from the collection returned by its
property.
The following tables list the members exposed by IVersionable.
Public Properties
Name | Description | |
---|---|---|
![]() |
CurrentVersion | Specifies a document version that represents the latest checked-in version associated with this document or version series. The current version can be either a major version or a minor version. |
![]() |
DateCheckedIn | Specifies the date and time that this document was checked in. The Content Engine stores dates and times using Coordinated Universal Time (UTC). The server sets this property on a document version when it is checked in and it remains set throughout the life of the document version. When a document is checked out, the server sets this property on the document's reservation object to null. Settability of this property is read-only for most users. Users who have been granted privileged write access ( |
![]() |
FoldersFiledIn | A collection object containing the objects in which this document is filed. |
![]() |
IsCurrentVersion | Specifies whether this document version is the current (latest) version object of a document's version series ( ) or not ( ). The current version can be a major version or a minor version. |
![]() |
IsFrozenVersion | Specifies whether this document version is a frozen version ( ) or not ( ). If a document version is frozen, you cannot modify its custom properties. However, you may be able to modify the custom properties of other versions of that document, provided they have not been frozen. Note that the modifiability of a document's system properties is not affected by a document version's frozen status. |
![]() |
IsReserved | For a object, specifies whether a user has reserved the right to check in the next version following this document version ( ) or not ( ). For a object, specifies whether the current version in this version series is checked out ( ) or not ( ). |
![]() |
IsVersioningEnabled | Specifies whether you can create a new version of this object ( ) or not ( ). |
![]() |
MajorVersionNumber | Specifies the major version number of this document version. A document's major version number is set to 1 the first time that you check it in as a major version and then incremented by 1 for each additional time that you check it in as a major version. |
![]() |
MinorVersionNumber | Specifies the minor version number of this document version. A document's minor version number is set to 1 the first time that you check it in as a minor version and then incremented by 1 for each additional time that you check it in as a minor version. Note that if you check in a document as a major version, its minor version number will be reset to 0. |
![]() |
Reservation | Specifies the reservation object of this object's version series, which has a property value of . A reservation object is created by the server when you check out a document, which you can modify and check in as a new version of that document. |
![]() |
ReservationType | Specifies a constant that explicitly indicates the type of this document reservation (collaborative or exclusive) or whether its reservation type is the same as the default object store setting. A collaborative reservation is a reservation that any user with the appropriate permissions can check in, modify, or delete. An exclusive reservation is a reservation that only the reservation owner can check in, modify, or delete. |
![]() |
SecurityFolder | Indicates a object from which the object inherits security (a security parent). This value is indirectly set when DefineSecurityParentage is specified as the value of the You can designate multiple security parents for an object by using one or more object-valued properties and setting the |
![]() |
Versions | Specifies a object that contains all of the document versions associated with this document or version series. |
![]() |
VersionSeries | Specifies a object that contains all of the document versions associated with this document or object. |
![]() |
VersionStatus | Specifies a constant that indicates the current version status of this document version. The
|
Public Methods
Name | Description | |||
---|---|---|---|---|
![]() |
CancelCheckout | Cancels the check-out reservation held on this document or version series by deleting the reservation object associated with it. Any changes made to the reservation object are lost. If the reservation object is an exclusive reservation (the object's property is set to ), the user must be the reservation owner (the reservation owner's name is the value of the reservation object's property) or have both and access rights. Regardless of whether the reservation object is an exclusive or a collaborative reservation, the user must also have appropriate access rights on the reservation object ( or ) to cancel the checkout.
After a successful call to
An error occurs if the document is not checked out or is a newly created object that has never been checked in. |
||
![]() |
ChangeClass | Changes 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 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:
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
|
||
![]() |
Checkout | Creates a reservation object that can be modified and checked in as a new version of this document. The reservation object can be accessed from this document's property. You can either specify the type of checkout reservation (exclusive or collaborative) or use the default checkout reservation setting of the object store. To successfully check out a document, the following requirements must be met or an exception will be thrown:
After a successful call to
|
||
![]() |
CreateAnnotation | Creates and associates a new annotation to a specific content element of this document. To persist the created object to the object store, you must explicitly call its method, which will also cause the server to add it to the collection of this document. |
||
![]() |
DemoteVersion | Demotes the latest major version of this document to an unreleased minor version. This method changes the previous major version (if it exists) to the current released major version, but does not delete any document versions (including content) from the document's version series, therefore allowing you to continue to have access to all version changes. Note that you can demote frozen document versions and documents that are not versioning-enabled (documents whose property is set to ). To successfully demote a document, the following requirements must be met or an error will occur:
After a successful call to
In addition, the Content Engine performs the following steps on the previous major document version:
|
||
![]() |
Freeze | Prevents changes to the custom properties of this document version. You can freeze any checked-in document version, but you cannot freeze a reservation object. Once a document version has been frozen, it cannot be unfrozen; to change a frozen document's custom properties, a new document version must be created. Note, however, that you can change a document version's writable system properties at any time. After a successful call, the property of the object representing the document version is set to . An error is generated if this document is a reservation object ( = ) or is already a frozen version ( = ). |
||
![]() |
PromoteVersion | Promotes an unreleased minor version of this document to a released major version. This method changes the current released major version (if it exists) to a superseded major version, but does not delete any document versions (including content) from the document's version series, therefore allowing you to continue to have access to all version changes. Note that you can promote frozen document versions and documents that are not versioning-enabled (documents whose property is set to ). To successfully promote a document, the following requirements must be met or an error will occur:
After a successful call to
In addition, the Content Engine performs the following steps on the previous major document version that is being superseded:
|