MeridianQueue Object
The Publisher queue can be managed using the MeridianQueue object methods that are described below.
MeridianQueue Object Methods
The MeridianQueue object provides the methods that are described below.
BeginBatch Method
Begins collection of a batch of documents to register in the Publisher queue.
Syntax
Function BeginBatch (vaultId, commitSize)
Remarks
This method must be called in the _Initialize event procedure of a custom command, similar to the following examples. If this is not done, then the RegisterDocument method registers documents in the queue individually.
If any document is registered more than once, the Publisher configuration options described
Example
The following examples demonstrate how to do batch publishing either in a server-side process (better performance and recommended) or a client-side process (if a client context is required).
The server-side example relies on the account under which the EDM Server service is running to have access to the Meridian Enterprise Server web service.
Sub Publish_Batch_Execute(Batch) AddToBatch Batch, Document End Sub Sub Publish_Batch_Initialize(Batch) BeginBatch(Batch) End Sub Sub Publish_Batch_Terminate(Batch) CommitBatch(Batch) If Err.Number = 0 Then WinMsgBox ("Documents have been registered for publishing") End If If Err.Number <> 0 Then WinMsgBox Err.Description Err.Clear End If End Sub Public Sub BeginBatch(Batch) Dim QueueObject ' Server side batch. For client side batch, pass False instead Set QueueObject = AMCreateObject("BCPublisher.MeridianQueue", True) Batch.Argument("PublisherBatch") = QueueObject QueueObject.BeginBatch End Sub Public Sub CommitBatch(Batch) On Error Resume Next Dim QueueObject Set QueueObject = Batch.Argument("PublisherBatch") Batch.Argument("PublisherBatch") = Nothing If Not (QueueObject Is Nothing) Then QueueObject.CommitBatch QueueObject.Dispose() End If If Err.Number <> 0 Then Err.Raise Err.Number, Err.Source, _ "Failed to publish batch of documents: " + Err.Description End If End Sub Public Sub AddToBatch(Batch, Document) Dim QueueObject Set QueueObject = Batch.Argument("PublisherBatch") If Not (QueueObject Is Nothing) Then Call QueueObject.RegisterDocument("", "1B4423", Document.ID, , , , , ,"") End If End Sub
CommitBatch Method
Commits as one batch all documents that have been registered in the Publisher queue since the calling of the BeginBatch method.
Syntax
Function CommitBatch (vaultId)
Name | Description |
---|---|
vaultId |
A string that uniquely identifies the vault in which the document resides. Specify Nothing or an empty string to work in the same vault where the VBScript runs. The vault identifier has the syntax \\server\vault, where server is the name of the server computer and vault is the internal name of the vault or datastore. The vault identifier may consist of only a vault name, in which case the vault's default server, if set, will be assumed. |
Remarks
This method must be called in the _Terminate event procedure of a custom command, similar to the example shown in BeginBatch method. If this is not done, then the RegisterDocument method registers documents in the queue individually.
RegisterDocument Method
Registers a Meridian Enterprise document in the Publisher queue.
Syntax
Function RegisterDocument(vaultId, jobId, documentId, _ revisionId, publishOptions, renderOptions, _ userName, preventDuplicate, feedbackProperty, customColumns)
Name | Description |
---|---|
vaultId |
A string that uniquely identifies the vault in which the document resides. Specify Nothing or an empty string to work in the same vault where the VBScript operates. The vault identifier has the syntax \\server\vault, where server is the name of the server computer and vault is the internal name of the vault or datastore. The vault identifier may consist of only a vault name, in which case the vault's default server, if set, will be assumed. |
jobId |
A string that uniquely identifies the publishing job name. If the job has multiple destination systems configured and the document should be published to only one of the systems, this string must specify the destination system display name. Use the syntax jobId}systemDisplayName (for example, MyJob}MySystem). If the document should be published to all of the destination systems, the system name should be omitted. |
documentId |
A string that uniquely identifies the document to publish. Note:
This parameter accepts either a document ID, path, or Global ID value. However, because the document's Global ID and path can change, we do not recommend using values other than the document ID except under the direction of Accruent Technical Support. |
revisionId |
A string that uniquely identifies the revision of the document. The default is Nothing. |
publishOptions |
A string that specifies the options for the system links. The default is Nothing. For information about the options that can be specified, see Publishing And Rendering Options. |
renderOptions |
A string that specifies the options for the rendering modules. The default is Nothing. For information about the options that can be specified, see Publishing And Rendering Options. |
userName |
The name of the user who initiated the task. The Accruent user account must exist in the Meridian Enterprise Server account database as described |
preventDuplicate |
A Boolean value indicating whether to check for duplicate items before adding a new one. If any duplicates are found, the item will not be created. If Nothing, then the option set for the publishing job is used. |
feedbackProperty |
The name of the property where to store the result of the registration. |
customColumns |
A 2D array of values (<columnName>, <columnValue>) that represent custom columns in the Publisher Queue database. |
Return Value
An integer value that uniquely identifies the registered document in the queue.
Remarks
Before calling a RegisterDocument from VBScript, you should create it with the AMCreateObject function and specify the ProgId of the object as described in AMCreateObject Function. To explicitly delete and release the object, call the Dispose method.
Instantiating a MeridianQueue object to publish documents can take longer than publishing the same document with the PowerUser extension.
RevokeBatch Method
Revokes all documents that have been registered in the Publisher queue since the calling of the BeginBatch method.
Syntax
Function RevokeBatch (vaultId)
Name | Description |
---|---|
vaultId |
A string that uniquely identifies the vault in which the document resides. Specify Nothing or an empty string to work in the same vault where the VBScript runs. The vault identifier has the syntax \\server\vault, where server is the name of the server computer and vault is the internal name of the vault or datastore. The vault identifier may consist of only a vault name, in which case the vault's default server, if set, will be assumed. |
Remarks
This method must be called in the _Terminate event procedure of a custom command, similar to the example shown in BeginBatch method. If this is not done, then the RegisterDocument method revokes documents in the queue individually.