Once the source code is fetched from the GitHub repository, the detailed instructions are located in the readme.md file located at the root of the repository. The instructions explain how to build, run, debug the Open Source Desktop Client.
Distributing a custom build package may be a challenging task, as VMS is using 1-click update mechanism (see "Updating Nx Witness"). By default, the code connects to the default update server and if trying to update, it overwrite the custom build with the official release (depending on the OEM brand that is used).
Developers will need to handle updates to the open-source client themselves. It is necessary to create a custom update server (see "Distributing Custom System Components through 1-Click Updates") and redirect the custom Desktop Client to connect to a specific Update Server so updates can be distributed to their users (see below).
Redirecting the Update Server URL
By default, the Desktop Client connects to the official update server (https://updates.vmsproxy.com/default/releases.json). To distribute custom updates for the Desktop Client and/or custom ARM Server, it is necessary to redirect to your custom update server.
This should be done for the current Desktop Client that initiates the update and the target one that should be on the update server.
The URL of the Update Server is specified in the customization package (see ”Obtaining Customization Package for the Open Source Desktop Client").
Additionally, it is possible to change the Update Server URL locally for the Desktop Client already installed.
To do so, modify the updateFeedUrl value in nx_system_updates.ini. This parameter points to the URL where it will download the correct releases.json file.
- Create an empty nx_system_updates.ini file for the Desktop Client or Server (see https://support.networkoptix.com/hc/en-us/articles/4410047158167-How-to-Create-ini-Files-for-Nx-Witness- for details).
- Restart the Desktop Client or Server to auto generate parameters in the .ini file.
- Open nx_system_updates.ini
- Modify the updateFeedUrl="" with the location of your update server.
For example: updateFeedUrl="http://127.0.0.1:7002/custom/releases.json"
Note: Remember to uncomment the line to activate this parameter.
- Save changes.
To be able to distribute the updates through a custom update server, all system components should be downloaded and have the same versions and build numbers.