Installed Client Customizations demonstrate possible automation processes and guardrails when working with Vault applications. They let you see the capabilities of the product in common scenarios.
The sample scripts are customizable and can be used as a template to easily create your own scripts to fit specific customer requirements.
One of these samples, Sample.ValidateProperties is intended to show how custom code can be executed on Vault lifecycle state transitions.
Activating a sample script
Sample scripts are disabled by default.
However, thanks to their modular structure, an individual script like C:\ProgramData\coolOrange\Client Customizations\Disabled\Sample.ValidateProperties.ps1 can be easily enabled.
Just move it to the directory C:\ProgramData\coolOrange\Client Customizations:
Testing the script
The goal of the Sample.ValidateProperties script is to prevent a user from releasing a file that has recently been changed by an other user.
Testing this customization requires two different Vault accounts.
Start the Vault Client and log in with the first account (in this example “Administrator” is used).
Navigate to a file and change the lifecycle state to a non-release state.
In this example the state of Intake Casing.ipt is changed to “For Review”:
Changing Vault account
Log out by going to “File” -> “Log Out” and log in again with the second Vault account.
Navigate back to previously changed file and try to change its lifecycle state to a released state. In this example the state of Intake Casing.ipt is changed to “Released”:
The lifecycle transition for Intake Casing.ipt to the “Released” state is blocked by a powerEvents restriction
because the latest modification was performed by a different Vault account (“Administrator” in this example) and the second Vault account is now trying to release the file: