Asset Management Events

Asset management events occur when users work with the commands provided by the Meridian Enterprise Asset Management module.

ClosedAIMS_AddComment Event

Occurs after a user has added a comment to a document in Meridian Explorer.

Syntax

Function AIMS_AddComment (commentText As String, attachmentType As String, numberOfComments As Long)
Parameters
Name Description

commentText

The text of the comment.

attachmentType

The type of file attached to the comment.

The possible values are:

0 — no attachment

1 — redline

2 — image

numberOfComments

The total number of comments on the document.

Example

Function AIMS_AddComment(commentText, attachmentType, numberOfComments)
    Document.Log "A comment was added to " + Document.FileName + vbNewLine + "Text: " + commentText
   Select Case attachmentType
       Case "Redline"
           Document.Log "A redline markup was added to " + Document.FileName 
       Case "File"
           Document.Log "A file was attached to " + Document.FileName             
   End Select
End Function

ClosedAIMS_Attach_Intialize Event

Occurs after a user has invoked the Upload command in Meridian Explorer to upload a file but before the document is created in the vault. This event can be used to get the source filename and the URL parameters of the Meridian Explorer page. Its return values can be used to allow the upload to proceed and to specify the destination folder and document type or to cancel the operation.

This event is required for the Upload command. The command must be enabled as described in Compose View URLs.

Syntax

Function AIMS_Attach_Intialize (SourceFilename As String, QueryString As Array) As Array
Parameters
Name Description

SourceFilename

The original filename that is uploaded from the client.

QueryString

An array of name-value pairs for the URL parameters of the Meridian Explorer page.
Returned array
Value Description

Result

Boolean True if the event should succeed, False if it should fail. If the event should fail, the upload is aborted and an error message should be returned as the second item in the array and the following items should not be returned.

TargetPath

The path of the target folder in the vault where the uploaded file should be stored.

DocumentType

The internal name of the document type that should be assigned to the new document.

Example

' Event handler for BC-Explorer Asset Management Module link 
' Returns required input for the Upload function 
Function AIMS_Attach_Intialize(sourceFileName, queryString)
    Dim targetFolder 
    Dim docTypeName 

    ' Determine the target folder for the uploaded document
    Set targetFolder = Vault.RootFolder.GetSubFolder("Miscellaneous")
    If Not User.HasPrivilege(AS_PRIVILEGE_DOCUMENT_CREATE, targetFolder) Then
        ' Abort the upload
        AIMS_Attach_Intialize = Array(False, "Upload is not allowed")
        Exit Function
    End If
    
    ' Determine the document type for the uploaded folder
    docTypeName = "GenericDocument"
    If (LCase(Right(sourceFileName, 4)) = ".dwg") Then
        docTypeName = "Drawing"
    End If
    
    ' Return an array with the target folder path and the document type name
    AIMS_Attach_Intialize = Array(True, targetFolder.Path, docTypeName)
End Function

ClosedAIMS_Attach_Before Event

Occurs after a user has invoked the Upload command in Meridian Explorer to upload a file and the document object has been created in the vault. It occurs before the document content has been imported, its properties have been set, and the reference created. This event can be used to set the properties and workflow state of the Document object. Its return values can be used to allow the operation to proceed or to cancel the operation. This event is optional for the Upload command.

Syntax

Function AIMS_Attach_Before (SourceFilename As String, QueryString As Array) As Array
Parameters
Name Description

SourceFilename

The original filename that is uploaded from the client.

QueryString

An array of name-value pairs for the URL parameters of the Meridian Explorer page.
Returned array
Value Description

Result

Boolean True if the event should succeed, False if it should fail. If the event should fail, the document creation is aborted and an error message should be returned as the second item in the array.

Message

An error message to show the user why the operation has been aborted.

Example

' Event handler for BC-Explorer Asset Management Module link 
' Invoked before the uploaded content is imported to the document
Function AIMS_Attach_Before(sourceFileName, queryString)
    Dim viewID
    Dim tagFilter
    Dim tagnr
    
    ' You may retrieve values from the URL of the BC-Explorer Related Documents page
    viewID = AIMS_GetQueryStringValue(queryString, "VIEWID")
    tagFilter = AIMS_GetQueryStringValue(queryString, "TAGFILTER")
    tagnr = AIMS_GetQueryStringValue(queryString, "TAGNR")

    If False Then
        ' You may abort the upload if required
        AIMS_Attach_Before = Array(False, "Some reason to stop the upload")
        Exit Function
    End If
    
    AIMS_Attach_Before = Array(True, "")
End Function


' Extract the value from the name-value collection
Function AIMS_GetQueryStringValue(queryString, name
    Dim index 
    
    For index = LBound(queryString, 1) To UBound(queryString, 1)
    	' Find the named value
        If (UCase(Cstr(QueryString(index)(0))) = UCase(CStr(name))) Then
        	' Return the value
        	AIMS_GetQueryStringValue = Cstr(QueryString(index)(1))
        	Exit Function
        End If
    Next
    
    AIMS_GetQueryStringValue = ""
End Function

Remarks

The first source vault of the repository is used as the destination. If a document with the same name already exists in the vault, a number will be appended to the name, for example, MyFile(1).

ClosedAIMS_Attach_After Event

Occurs after a user has invoked the Upload command in Meridian Explorer and:

  • The document tag has been created in the vault

  • Its content has been imported

  • Its properties have been set

  • The reference to the Meridian Explorer item as been created

  • But before the transaction has been committed.

This event can be used to modify the Document object and to allow the operation to complete or to cancel the operation. This event is optional for the Upload command.

Syntax

Function AIMS_Attach_After (SourceFilename As String, QueryString As Array) As Array
Parameters
Name Description

SourceFilename

The original filename that is uploaded from the client.

QueryString

An array of name-value pairs for the URL parameters of the Meridian Explorer page.
Returned array
Value Description

Result

Boolean True if the event should succeed, False if it should fail. If the event should fail, the document creation is aborted and an error message should be returned as the second item in the array.

Message

An error message to show the user why the operation has been aborted.

Example

' Event handler for BC-Explorer Asset Management Module link 
' Invoked after the uploaded content is imported to the document
Function AIMS_Attach_After(sourceFileName, queryString)
    Dim viewID
    Dim tagFilter
    Dim tagnr    

    ' You may retrieve values from the URL of the BC-Explorer Related Documents page
    viewID = AIMS_GetQueryStringValue(queryString, "VIEWID")
    tagFilter = AIMS_GetQueryStringValue(queryString, "TAGFILTER")
    tagnr = AIMS_GetQueryStringValue(queryString, "TAGNR")

    ' Create a reference to the asset
    Dim doc
    Dim criteria
    criteria = Array(Array("TagInfo.TagNr", IC_OP_EQUALS, tagnr))
    For Each doc In Vault.FindDocuments(, Array("TagObject"), criteria, False)
        Document.GetReferences("TagObjectReference",False).Add(doc.ID)
    Next
    
    If False Then
        ' You may abort the upload if required
        AIMS_Attach_After = Array(False, "Some reason to stop the upload")
        Exit Function
    End If
    
    ' Release the uploaded document
    Call Document.ChangeWorkflowState(AS_WF_RELEASED, "", User.Name)
    Document.Log User.Name + " uploaded '" + sourceFileName + "' to " + Document.Path 

    ' Return a user message
    AIMS_Attach_After = Array(True, "Upload completed")
End Function

' Extract the value from the name-value collection
Function AIMS_GetQueryStringValue(queryString, name
    Dim index 
    
    For index = LBound(queryString, 1) To UBound(queryString, 1)
    	' Find the named value
        If (UCase(Cstr(QueryString(index)(0))) = UCase(CStr(name))) Then
        	' Return the value
        	AIMS_GetQueryStringValue = Cstr(QueryString(index)(1))
        	Exit Function
        End If
    Next
    
    AIMS_GetQueryStringValue = ""
End Function

ClosedAIMS_DeleteComment Event

Occurs after a user has deleted a comment from a document in Meridian Explorer.

Syntax

Function AIMS_DeleteComment (commentText As String, attachmentType As String, numberOfComments As Long)
Parameters
Name Description

commentText

The text of the comment.

attachmentType

The type of file attached to the comment.

The possible values are:

0 — no attachment

1 — redline

2 — image

numberOfComments

The total number of comments on the document.

Example

Function AIMS_DeleteComment(commentText, attachmentType, numberOfComments)
   If numberOfComments = 0 Then
       Document.Log "All comments have been removed from " + Document.FileName + vbNewLine + "Text: " + commentText
   Else
       Document.Log "A comment was removed from " + Document.FileName + vbNewLine + "Text: " + commentText             
   End If
End Function

ClosedAIMS_CloseComment Event

Occurs after a user has closed a discussion on a document in Meridian Explorer.

Syntax

Function AIMS_CloseComment (commentText As String, attachmentType As String, numberOfComments As Long)
Parameters
Name Description

commentText

The text of the comment.

attachmentType

The type of file attached to the comment.

The possible values are:

0 — no attachment

1 — redline

2 — image

numberOfComments

The total number of comments on the document.

Example

Function AIMS_CloseComment(commentText, attachmentType, numberOfComments)
    Document.Log "A comment was closed for " + Document.FileName + vbNewLine + "Text: " + commentText     
End Function

ClosedAIMS_UpdateComment Event

Occurs after a user has updated a comment on a document in Meridian Explorer.

Syntax

Function AIMS_UpdateComment (commentText As String, attachmentType As String, numberOfComments As Long)
Parameters
Name Description

commentText

The text of the comment.

attachmentType

The type of file attached to the comment.

The possible values are:

0 — no attachment

1 — redline

2 — image

numberOfComments

The total number of comments on the document.

Example

Function AIMS_UpdateComment(commentText, attachmentType, numberOfComments)
   Document.Log "A comment was updated for " + Document.FileName + vbNewLine + "Text: " + commentText

   Select Case attachmentType
       Case "Redline"
           Document.Log "A redline markup was added to " + Document.FileName 
       Case "File"
           Document.Log "A file was attached to " + Document.FileName             
   End Select      
End Function

ClosedObjectsPage_IsVisible Event

Occurs before the Objects HTML page is shown in PowerWeb.

Syntax

ObjectsPage_IsVisible As Boolean

Remarks

The Objects HTML page is an alternative implementation of the default Objects page that is shown in PowerUser. The HTML page has equivalent functionality that is not available in the default page shown by the AssetManagementTags extension in PowerWeb. The HTML page is only for use in PowerWeb and the AssetManagementTags extension should not be assigned to any document types.

Return False (default) to hide the property page.

Example

Function ObjectsPage_IsVisible()
  ObjectsPage_IsVisible = True
End Function

ClosedWhereUsedPage_IsVisible Event

Occurs before the Where Used HTML page is shown in PowerWeb.

Syntax

WhereUsedPage_IsVisible As Boolean

Remarks

The Where Used HTML page is an alternative implementation of the default Where Used page that is shown in PowerUser. The HTML page has equivalent functionality that is not available in the default page shown by the AssetManagementWhereUsed extension in PowerWeb. The HTML page is only for use in PowerWeb and the AssetManagementWhereUsed extension should not be assigned to any document types.

Return False (default) to hide the property page.

Example

Function WhereUsedPage_IsVisible()
  WhereUsedPage_IsVisible = True
End Function

2023