VoltScript Extensions
VoltScript Extensions are closed-source C/C++ binaries, .dll
files on Windows, and .so
files on Linux. The are hosted on Volt MX Marketplace. Some leverage other C/C++ libraries, for example libcurl. The following VoltScript Extensions are available:
Note: Click the links to view the API Docs.
- ContextVSE provides access to command line
--context
argument. - CouchVSE provides a layer for integrating with CouchDB.
- DrapiVSE: provides a layer for making calls to Domino REST API.
- HashVSE provides hashing and cryptographic utilities.
- JsonVSE provides utilities for manipulating JSON.
- OSUtilVSE provides utilities for integrating with the operating system.
- StreamVSE provides utilities for reading/writing files and STDIO.
- WebVSE provides utilities for making HTTP(s) calls via libcurl.
- XMLVSE provides utilities for manipulating XML.
- ZipVSE provides utilities for reading/writing zip files. This can't read / write
.tar.gz
files. - ZuluVSE provides utilities for reading/writing UTC date/times.
You can also access aggregated API Docs.
Dependency management
VoltScript Extensions for dependency management are hosted in Volt MX Demo Marketplace. You'll need three parts:
Logon
You'll need a username and password for Volt MX Marketplace. Make sure you've tested successfully logging into the web interface before using it for dependency management. You'll then need to add this to the JSON object in your atlas-settings.json, in the .vss directory of your user home directory:
"volt-mx-marketplace": {
"type": "marketplace",
"username": "YOUR_USERNAME",
"password": "YOUR_PASSWORD",
"authUrl": "https://accounts.auth.demo-hclvoltmx.net/login"
}
Repository
You'll need to add to your repositories object in the atlas.json of your project:
{
"id": "volt-mx-marketplace",
"type": "marketplace",
"url": "https://community.demo-hclvoltmx.com/marketplace"
}
Dependency
You'll need the relevant dependency to add to your vseDependencies object in the atlas.json of your project:
"ContextVSE": {
"library": "ContextVSE VoltScript Extension",
"version": "1.0.4",
"module": "contextvse",
"repository": "volt-mx-marketplace"
}
"CouchVSE": {
"library": "CouchVSE VoltScript Extension",
"version": "1.0.3",
"module": "couchvse",
"repository": "volt-mx-marketplace"
}
"DrapiVSE": {
"library": "DrapiVSE VoltScript Extension",
"version": "1.0.0",
"module": "drapivse",
"repository": "volt-mx-marketplace"
}
"HashVSE": {
"library": "HashVSE VoltScript Extension",
"version": "1.0.4",
"module": "hashvse",
"repository": "volt-mx-marketplace"
}
"JsonVSE": {
"library": "JsonVSE VoltScript Extension",
"version": "1.0.4",
"module": "jsonvse",
"repository": "volt-mx-marketplace"
}
"OSUtilsVSE": {
"library": "OSUtilsVSE VoltScript Extension",
"version": "1.0.4",
"module": "osutilsvse",
"repository": "volt-mx-marketplace"
}
"StreamVSE": {
"library": "StreamVSE VoltScript Extension",
"version": "1.0.4",
"module": "streamvse",
"repository": "volt-mx-marketplace"
}
"WebVSE": {
"library": "WebVSE VoltScript Extension",
"version": "1.0.4",
"module": "webvse",
"repository": "volt-mx-marketplace"
}
"XmlVSE": {
"library": "XMLVSE VoltScript Extension",
"version": "1.0.3",
"module": "xmlvse",
"repository": "volt-mx-marketplace"
}
"ZipVSE": {
"library": "ZipVSE VoltScript Extension",
"version": "1.0.4",
"module": "zipvse",
"repository": "volt-mx-marketplace"
}
"ZuluVSE": {
"library": "ZuluVSE VoltScript Extension",
"version": "1.0.4",
"module": "zuluvse",
"repository": "volt-mx-marketplace"
}
Troubleshooting
If the VoltScript Dependency Manager fails, review the information printed to the console. An atlas-settings.json will be required for dependencies pulled from GitHub or from a web server that requires authentication. The dependencies will be downloaded to the .vss directory in the user's home before being copied to the project. If using a dev container, this will be the user's home in the container.
Platform Support
VoltScript Extensions need to be compiled for specific platforms:
- .dll are extensions for Windows. Remember, VoltScript only supports 64-bit Windows.
- .so are extensions for Linux-x64. Currently VoltScript only support Linux-x64. Linux-aarch64 support will follow later, but will require different files.
- .dylib are extensions for MacOS. Platform libraries for MacOS can be cross-compiled, so the same file can be used on MacOS with Intel or ARM processor.
You will need to ensure the VoltScript project and dependency management is set up to support all runtime platforms, both for development and deployment.