Skip to content

Publish to GitHub or a web server

Voltscript Build Manager currently supports two types of repository - GitHub and generic web servers that allow downloading content via a standard folder structure.

Publishing to GitHub

If publishing to GitHub, VoltScript's build manager will pull files from a release in a repository using standard GitHub APIs. For "latest" GitHub automatically redirects and knows which is the latest version, and the GitHub API returns the actual version number, so no additional work is required.

Note

Make a note of your repository name. This will be the library you need to pass to consumers.

When ready, create a Release. The tag you give the release, for example "1.0.0-RC1", will be the version you need to pass to consumers. The source code will automatically be created on the release. In addition, add the packaged files for the VoltScript Extension or VoltScript Library. You don't need to include .vss files or extensions from other external repositories, VoltScript build manager will automatically download those. However, if there are additional .vss files custom for this repository, you will need to include those.

Regardless of whether the repo is public or private, users will need to set up a Personal Access Token to pull down the release artifacts.

Publishing to a generic web server

When downloading from a web server, VoltScript Build Manager will build a URL using LIBRARY/VERSION/MODULE. To support "latest", your web server will need the latest version in two directories, one called "latest" and one with the actual version number. In addition, the "latest" directory will also need to include a file with the name version.txt, which includes just the actual current version number. This should be updated as you release a new version. So the version.txt file will just be, for example:

1.0.0

Publishing to Domino

Domino can be used as a generic web server repository, either putting the files directly on the server or in an NSF.

When put directly on the server, create a directory structure using LIBRARY/VERSION and put the modules and atlas.json in this directory. Anything prior to this will be the repository URL.

When put in an NSF, you can either:

  • Use File Resources, where the filename is LIBRARY/VERSION/MODULE. Its atlas.json would be LIBRARY/VERSION/atlas.json. If VERSION is latest, you would also need a LIBRARY/latest/version.txt file resource.
  • In Package Explorer view, right-click the WebContent directory and create a folder with the library name. Right-click that directory and create a folder for the version name. Then drag or paste your modules into that folder.

WebContent

Ensuring correct HTTP response codes

You can use basic authentication, even if session authentication is enabled for the server. However, by default, if authentication fails, you get an HTTP 200 result with a login page. This isn't what you want for REST API access. This can be circumvented by using a "Overrides Session Authentication" Web Site Rule document. For more information, see Authenticating a DAS Request from Other Types of Applications.

In Domino Directory, go to ConfigurationMessagingInternet Sites. Ensure there is an Internet Site document for the server. Open it up. Click Web SiteCreate Rule. Add a description, as appropriate. Change the Type of rule to Override Session Authentication. Set the Incoming URL pattern to an appropriate path for the requests, for example */VSRepo.nsf/*.

Requiring authentication

VoltScript Build Manager supports generic web servers that are secured for basic authentication. If credentials are found for a matching repository ID, they're added to the Basic Authentication header.