This repo controls the file area of https://addons.nvda-project.org under files section.
This fork was created so that NV Access could review changes to the add-on website before they become active. Please create a pull request for required changes.
To include a new add-on:
- Host it (ideally on GitHub, the add-on template makes this easy).
- Fork this repo (nvaccess/addonFiles) into your own GitHub account.
- Create a new branch in your forked version of addonFiles.
- In your new branch, edit the get.php file, as described below.
- Push the new branch to your fork, and issue a pull request to merge it into this repository. When creating the pull request, be sure to follow the instructions that appear in the edit field on GitHub.
Your pull request will be reviewed, and if approved, will be merged, thus making your changes to get.php part of the official add-ons website as described below.
You need to make sure to have a unique key (add-on ID) in get.php for your add-on. We needed unique keys because Ikiwiki doesn't seem to like long links, such as would be formed by the full add-on name..
Find your add-on's existing entry in get.php, and change the URL to point to your new version's direct download (That is, usually the part ending with ".nvda-addon
").
The server pulls this repo once per hour, see nvaccess/mrconfig/automatic.crontab. After your pull request is approved and merged, and the next hourly update occurs, the new/updated add-on will be available from: https://addons.nvda-project.org/files/get.php?file=key
When there are changes to get.php, the following should be done for each updated entry:
- Check that the add-on URL is correct.
- Either by downloading the add-on, or
- With
curl -L -I
Full examplecurl -LI https://github.com/lukaszgo1/winWizard/releases/download/V5.0.2/winWizard-5.0.2.nvda-addon
.- This follows redirects, and just returns the header info.
- Look for
HTTP/2 200
in the final block.
- Ensure that the manifest is correct. Including API versions.
- This will require downloading the add-on, extracting it (or opening it with a tool like 7-zip), and reading the manifest.
- Only once the first NVDA Beta is released will the API be considered frozen, therefore 'lastTested' should not be set to that version until after the beta.