IKnowledgeVersion Interface
The IKnowledgeVersion interface, defines the methods and properties of, and is implemented by, the KnowledgeVersion object.
The KnowledgeVersion object provides advanced document management functions, such as versioning, approval, and publishing tasks.
Extends
IDispatch interface
Methods
The following table shows the methods of the IKnowledgeVersion interface, the type of each property, and a brief description of each. All properties are read/write, except where noted.
Name | Description |
---|---|
Approve | Approves the document as the current default version. |
Checkin | Updates the object in the store with a new version. |
Checkout | Locks a specific version of the object. |
Impersonate | Impersonates a user for all operations. |
LockDiscovery | Not supported. |
OperationsAllowed | Gets the operations allowed. |
Publish | Submits the document for publication. |
Reject | Rejects the approval of the document. |
UndoCheckout | Releases the lock on a version of the object. |
VersionHistory | Gets the version history. |
VersionStatus | Gets the version status of a document. |
Remarks
When developing a stand-alone application, a Web Part or an ASP-based application that uses the KnowledgeVersion object, the flags parameter of the methods of this object, except the Impersonate method, indicates whether to use ServerXMLHTTP or WININET to send the requests. Active Server Pages (ASP) applications and Web Parts on a computer running Microsoft SharePoint Portal Server must use ServerXMLHTTP. Using WININET might cause Internet Information Services (IIS) to become unresponsive.
Example
To see this object in a fuller context, see Document Management Object Model Sample.
The following example shows the version control process in detail:
Dim oDoc As New PKMCDO.KnowledgeDocument
Dim oStream As ADODB.Stream
Dim oVer As New PKMCDO.KnowledgeVersion
Set oStream = oDoc.OpenStream
oStream.Type = adTypeBinary
oStream.SetEOS
oStream.LoadFromFile "c:\doc1.doc"
oStream.Flush
oDoc.ContentClass = "urn:content-classes:basedocument"
oDoc.Title = "My first title"
oDoc.DataSource.SaveTo "http://myserver/myworkspace/documents/doc1.doc", , , adCreateOverwrite
oVer.Checkin oDoc
oVer.Publish oDoc
oVer.Impersonate "mydomain\approver", "approverpassword"
oVer.Approve oDoc
Dim objRS As ADODB.Recordset
oVer.Impersonate "mydomain\author", "authorpassword"
Set objRS = oVer.Checkout(oDoc)
' Since a different version has been created for the working copy,
' you can no longer use oDoc.DataSource.Save directly. You now have
' to bind to the working copy.
Dim oField As ADODB.Field
Set oField = objRS.Fields("DAV:href")
' Re-bind
oDoc.DataSource.Open oField.Value, , adModeReadWrite
oDoc.Title = "My second title"
oDoc.DataSource.Save
' If you do not have the original recordset available then you can
' just query the document for its working copy
Dim oDoc2 As New PKMCDO.KnowledgeDocument
oDoc2.DataSource.Open "http://myserver/myworkspace/documents/doc1.doc"
Dim sWorkingCopy As String
sWorkingCopy = oDoc2.Property("urn:schemas-microsoft-com:publishing:WorkingCopy")
oDoc2.DataSource.Open sWorkingCopy, , adModeReadWrite
oDoc2.Title = "My third title"
oDoc2.DataSource.Save
Requirements
- Type Library
Microsoft PKMCDO for Microsoft Web Storage System - Inproc Server
%Program Files%\Common Files\PKMCDO.dll
Related Topics
Binding to Items Stored in SharePoint Portal Server