Available Event Handlers
Below you can find the available event handlers, with their variables and explanations. For more information about variables, see Available VBScript Variables.
Vault-level event handlers
The event handlers listed in this section are triggered by operations on the vault level.
Event handler | Variables | Execution |
---|---|---|
BeforeSetProperties AfterSetProperties |
The event handlers are executed when the property values of the object stored in the document vault are re-set. Properties can be inspected during BeforeSetProperties before they are set. It is not, however, recommended to modify properties during BeforeSetProperties as they may be overwritten after the event handler has been executed. Properties, on the other hand, can be modified during the AfterSetProperties event. |
|
BeforeCreateNewObjectFinalize AfterCreateNewObjectFinalize |
The event handlers are executed when a new object is created in the document vault, regardless of whether the new object has been checked in or not. When executing the AfterCreateNewObjectFinalize event handler, the object may have already been checked in. For this reason, the metadata or files can no longer be modified during operation of the event handler, and thus the event handler is only suitable for validating changes. |
|
BeforeCancelCreateObject AfterCancelCreateObject |
The event handlers are executed when an object which has never been checked in is removed from the document vault. The execution takes place, for instance, when the user performs the "Undo Checkout" function on the object or removes the object from the document vault. |
|
BeforeCheckInChanges AfterCheckInChanges |
The event handlers are executed when the user checks the object in. The event handlers are not executed if the object was not modified, in which case the BeforeCancelCheckOut and AfterCancelCheckOut event handlers are executed. It is still possible to modify the object during BeforeCheckInChanges. These event handlers are also executed when the user creates a new object with the Check in immediately option unchecked, and checks in the object without making any changes to the file. These event handlers are not executed when a new object is created with the Check in immediately option enabled. During the execution of the AfterCheckInChanges event handler, the object can no longer be modified as the object has already been checked in, and thus the event handler is only suitable for validating changes. |
|
BeforeCancelCheckOut AfterCancelCheckOut |
The event handlers are executed when modifications of a checked out object are undone using, for example, the Undo Checkout function. The event handlers are also executed if the object is checked in without any modifications. During execution of the AfterCancelCheckOut event handler, the object cannot be modified as the object is no longer checked out. |
|
AfterCancelCheckoutFinalize |
An event triggered after the undo checkout operation is complete, meaning that the object is no longer checked out. A script can be used for performing the checkout operation and for performing further object operations with the checked out object version. |
|
BeforeCheckOut AfterCheckOut |
The event handlers are executed when a document vault object is checked out. During execution of the BeforeCheckOut event handler, the object has not been checked out, so the object cannot be modified. |
|
BeforeDeleteObject AfterDeleteObject |
The event handlers are executed when an object is marked as deleted. |
|
BeforeDestroyObject AfterDestroyObject |
The event handlers are executed when an object is destroyed from the document vault. |
|
BeforeDestroyObjectVersion AfterDestroyObjectVersion |
The event handlers are executed when an individual version of the object is destroyed from the document vault. |
|
BeforeSetObjectPermissions AfterSetObjectPermissions |
The event handlers are executed when the object permissions are changed. |
|
BeforeFileUpload |
The event handler is executed when the user starts a file transfer to M-Files Server. |
|
AfterFileUpload |
The event handler is executed when the file transfer to the server is completed. |
|
BeforeFileDownload AfterFileDownload |
The event handlers are executed when the user loads the file from M-Files Server to the client machine's local cache. If necessary, these event handlers can be used to prevent transfer of certain files to the users' machines. |
|
BeforeCreateNewValueListItem AfterCreateNewValueListItem |
The event handlers are executed when new values are added to a certain value list of the document vault. These event handlers can be used to, for example, ensure that all values entered in the value list are in a specified form as desired. |
|
BeforeLoginToVault |
The event handler is executed immediately prior to logging in of the user to the document vault. At this stage, the user has already been identified against M-Files Server, so the event handler is not executed, for instance, if a user who attempts to log in does not have a login account on the server. |
|
AfterLoginToVault |
The event handler is executed when the user has successfully logged in to the document vault. |
|
BeforeLogoutFromVault |
The event handler is executed immediately before the user is logged out of the document vault. The logout cannot be interrupted during this event handler. The client software does not react to any error messages received from this event handler. |
|
AfterLogoutFromVault |
The event handler is executed when the user has been logged out of the document vault. The logout cannot be interrupted during this event handler. The client software does not react to any error messages received from this event handler. |
|
Replication: AfterCheckInChanges |
The event handlers are invoked when new versions are imported to the existing object from the content package or when a conflict between two objects is resolved in favor of the source-vault version. When the AfterCheckInChanges event handler is invoked, the object has already been checked in. For this reason, the metadata or files can no longer be modified during operation of the event handler. |
|
Replication: AfterCreateNewObjectFinalize |
The event handler is invoked when a new object is imported to the document vault from the content package. On invoking of the AfterCreateNewObjectFinalize event handler, the object has already been checked in. For this reason, the metadata or files can no longer be modified during operation of the event handler. |
|
VaultExtensionMethod |
The event handler is invoked explicitly by the client (the so-called vault extension method). The developer of the vault extension method must make sure that the user can be allowed to execute the method. In other words, the method should check the identity of the calling user and terminate if they do not have the required administrative rights in the vault. |
|
BeforeCreateLoginAccount AfterCreateLoginAccount |
BeforeCreateLoginAccount: The event is triggered before a vault-level login account is created in the vault database. AfterCreateLoginAccount: The event is triggered after a vault-level login account is created in the vault database. |
|
BeforeModifyLoginAccount AfterModifyLoginAccount |
BeforeModifyLoginAccount: The event is triggered before a vault-level login account is modified in the vault database. AfterModifyLoginAccount: The event is triggered after a vault-level login account is modified in the vault database. |
|
BeforeRemoveLoginAccount AfterRemoveLoginAccount |
BeforeRemoveLoginAccount: The event is triggered before a vault-level login account is removed from the vault database. AfterRemoveLoginAccount: The event is triggered after a vault-level login account is removed from the vault database. |
|
BeforeCreateUserAccount AfterCreateUserAccount |
BeforeCreateUserAccount: The event is triggered before a user account is created in the vault database. AfterCreateUserAccount: The event is triggered after a user account is created in the vault database. |
|
BeforeModifyUserAccount AfterModifyUserAccount |
BeforeModifyUserAccount: The event is triggered before a user account is modified in the vault database. AfterModifyUserAccount: The event is triggered after a user account is modified in the vault database. |
|
BeforeRemoveUserAccount AfterRemoveUserAccount |
BeforeRemoveUserAccount: The event is triggered before a user account is removed from the vault database. AfterRemoveUserAccount: The event is triggered after a user account is removed from the vault database. |
|
BeforeCreateUserGroup AfterCreateUserGroup |
BeforeCreateUserGroup: The event is triggered before a user group is created in the vault database. AfterCreateUserGroup: The event is triggered after a user group is created in the vault database. |
|
BeforeModifyUserGroup AfterModifyUserGroup |
BeforeModifyUserGroup: The event is triggered before a user group is modified in the vault database. AfterModifyUserGroup: The event is triggered after a user group is modified in the vault database. Note: The AfterModifyUserGroup event
handler is not executed when the All internal users
group is modified.
|
|
BeforeRemoveUserGroup AfterRemoveUserGroup |
BeforeRemoveUserGroup: The event is triggered before a user group is removed from the vault database. AfterRemoveUserGroup: The event is triggered after a user group is removed from the vault database. |
|
AfterBringOnline BeforeTakeOffline |
AfterBringOnline: The event is triggered after the vault is brought online. BeforeTakeOffline: The event is executed before the vault is taken offline. An exception in any of the two event handlers does not prevent the online/offline transition. |
|
AfterCheckInChangesFinalize |
The event is triggered when the check-in operation and all the operations after the check-in are complete. The event is also triggered when an object is immediately checked in after it has been created. If the object check-in starts a series of automatic state transitions, AfterCheckInChangesFinalize is triggered after the first transition. |
|
BeforeCreateView AfterCreateView |
BeforeCreateView: The event is triggered before a new view is created in a vault. AfterCreateView: The event is triggered after a new view has been created in a vault. |
|
BeforeModifyView AfterModifyView |
BeforeModifyView: The event is triggered before changes made to a view become effective. AfterModifyView: The event is triggered after changes made to a view have become effective. |
|
BeforeDeleteView AfterDeleteView |
BeforeDeleteView: The event is triggered before a view that is set to be deleted is actually deleted. AfterDeleteView: The event is triggered after a view has been deleted. |
|
BeforeReturnView |
This event handler is triggered after a view has been retrieved from the vault but before it is returned to the client. It enables you to modify a view, for instance, by filtering it with dynamic search conditions, such as ones based on the current user. |
|
BeforeUndeleteObject AfterUndeleteObject |
BeforeUndeleteObject: The event handler is triggered before an object is undeleted. AfterUndeleteObject: The event handler is triggered after an object is undeleted. A script can be used for performing the checkout operation and for performing further object operations with the checked out object version. |
|
AfterUndeleteObjectFinalize |
This event is triggered after the object undelete operation is complete and you are able to work with the undeleted object. |
|
BeforeModifyMFilesCredentials AfterModifyMFilesCredentials |
BeforeModifyMFilesCredentials: The event handler is triggered before the password of the M-Files login account is changed. AfterModifyMFilesCredentials: The event handler is triggered after the password of the M-Files login account is changed. |
|
BeforeCheckinChangesFinalize |
The BeforeCheckinChangesFinalize event handler is triggered before an object is checked in, but after the state transitions and signatures have been finalized. Workflow changes are not allowed. |
|
BeforeAddUserGroupMember AfterAddUserGroupMember |
BeforeAddUserGroupMember: The event is triggered before the API call AddMemberToUserGroup. AfterAddUserGroupMember: The event is triggered after the API call AddMemberToUserGroup. |
|
BeforeRemoveUserGroupMember AfterRemoveUserGroupMember |
BeforeRemoveUserGroupMember: The event is triggered before the API call RemoveMemberFromUserGroup. AfterRemoveUserGroupMember: The event is triggered after the API call RemoveMemberFromUserGroup. |
Server-level event handlers
This section lists event handlers that are triggered by server-level operations. These operations also cause a corresponding event to be executed in all online vaults of the server.
Event handler | Variables | Execution |
---|---|---|
BeforeRunScheduledJob AfterRunScheduledJob |
The event handler is executed when one of the timed jobs of the server is performed. These event handlers can be used to automatically monitor the execution of the automatically timed jobs. In case of error, the event handler can automatically send an e-mail notification to the administrator to facilitate resolution of the problem. |
|
BeforeCreateLoginAccount AfterCreateLoginAccount |
BeforeCreateLoginAccount: The event is triggered for all online vaults before a login account is created on the server. AfterCreateLoginAccount: The event is triggered for all online vaults after a login account is created on the server. |
|
BeforeModifyLoginAccount AfterModifyLoginAccount |
BeforeModifyLoginAccount: The event is triggered for all online vaults before a login account is modified on the server. AfterModifyLoginAccount: The event is triggered for all online vaults after a login account is modified on the server. |
|
BeforeRemoveLoginAccount AfterRemoveLoginAccount |
BeforeRemoveLoginAccount: The event is triggered for all online vaults before a login account is removed from the server. AfterRemoveLoginAccount: The event is triggered for all online vaults after a login account is removed from the server. |
|
BeforeModifyMFilesCredentials AfterModifyMFilesCredentials |
BeforeModifyMFilesCredentials: The event handler is triggered for all online vaults before the password of an M-Files login account is changed. AfterModifyMFilesCredentials: The event handler is triggered for all online vaults after the password of an M-Files login account is changed. |