nvaccess / addon-datastore Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
PR #35 demonstrates a potential issue with automatic approval of PRs. Data in a prior submission can be changed, pass verification, and potentially auto-merged. In this case the author and license are changed. It would also be possible to change the download URL and SHA.
Some ways to address this:
Hi,
Follow-up of #89
There are add-ons that will have duplicate entries, more so if they use legacy add-on ID's. For example, Resource Monitor (add-on ID to use: resourceMonitor) is also listed under the ID of "rm". I myself will use the add-on name field from manifest as add-on ID and plan to submit Resource Monitor 23.04 under "resourceMonitor" ID.
The short names (legacy add-on files repo) were chosen to keep the add-on keys short to help translators translate add-on docs on community add-ons website easily (probably due to Ikiwiki limitations).
Thanks.
The add-on datastore system currently has:
stable
- Add-ons that are considered release quality for a released version of NVDA.beta
- Add-ons that are pre-release quality for a released version of NVDA.There is no category for "pre-release add-on for pre-release NVDA". This category is important to allow "dogfooding" by add-on developers to while developing against alpha. This is particularly important during compatibility breaking releases; NV Access wants to facilitate early feedback from add-on developers when changes are made to the NVDA API available for add-ons, for this there must be a low-friction way for add-on developers (and a dev audience) to test out the changes.
Adding a dev
version could, allowing submissions for Add-on API versions yet to be released (read: relaxing the Add-on API compatibility constraints imposed by the addon-datastore-validation repo when the submission is in the dev channel) could help to alleviate this, giving:
Ensure that definitions in the readme are updated to match.
Currently it says (in the Considerations section):
- Enable support in the store for 'beta' add-ons, for instance:
- add-ons being developed against alpha / beta NVDA.
- add-ons that want early feedback from end users.
- End users can choose "show me beta add-ons"
It should become:
- Enable support in the store for 'beta' and 'dev' add-ons, for instance:
- 'dev' add-ons are being developed against alpha / beta / rc NVDA, these would only be offered to alpha / beta / rc NVDA users.
- 'beta' add-ons are from authors who want early feedback from end users, signaling that not all edge cases are handled.
- End users of NVDA can select "show pre-release add-ons"
https://github.com/DraganRatkovich/newfon/releases/download/2023.2/Newfon-2023.2.nvda-addon
https://github.com/DraganRatkovich/Newfon
stable
MIT License
https://github.com/Nardol/dropbox/releases/download/2023.3/dropbox-2023.3.nvda-addon
https://github.com/Nardol/dropbox
stable
GPL v2
https://github.com/ruifontes/NVDARecorder/releases/download/2023.03/NVDARecorder-2023.03.nvda-addon
https://github.com/ruifontes/NVDARecorder
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/Newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/newfon
stable
GPL v2
https://github.com/leonardder/unicodebrailleinput
stable
GPL v2
https://github.com/Nardol/SayProductNameAndVersion
stable
GPL v2
https://github.com/opensourcesys/speechLogger/
stable
GPL v2
https://github.com/ruifontes/clipspeak/releases/download/2023.03.09/clipspeak-2023.03.09.nvda-addon
https://github.com/ruifontes/clipspeak
stable
GPL v2
https://github.com/opensourcesys/numpadNavMode/
stable
GPL v2
https://github.com/nvdaes/emule/releases/download/8.0.0/eMule-8.0.0.nvda-addon
https://github.com/nvdaes/eMule/
stable
GPL v2
https://github.com/nvdaes/controlUsageAssistant/
stable
GPL v2
https://github.com/leonardder/nvdaRd/releases/download/0.1.0/nvdaRd-0.1.0.nvda-addon
beta
GPL v2
https://github.com/hkatic/clock/releases/download/23.03.0/clock-23.03.0.nvda-addon
https://github.com/hkatic/clock
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/Newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/Newfon
stable
MIT License
https://github.com/nvdaes/clipContentsDesigner/
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/newfon/
stable
MIT
No response
Hi,
The following is considered a near-term goal:
Currently the add-on datastore contains multiple entries for the same add-on due to the migration from old add-on files repository to the datastore. For example, Add-on Updater is listed under both "nvda3208" (old add-on ID) and "addonUpdater" (new and official add-on ID). While we can use download links (repo addresses) to figure out how many add-ons are actually registered, presence of legacy and actual datastore entries can cause miscalculation of actual add-on count for various purposes such as statistics. Therefore, it is proposed to remove legacy add-on ID's from the datastore, subject to notes from authors/publishers to make the add-on count more realistic and to standardize on using add-on name field found in the actual add-on manifest as actual add-on ID.
Specifically:
Requirements:
Ideal timeline and process:
Thanks.
This may be especially important since:
Proposal:
https://github.com/opensourcesys/numpadNavMode/
stable
GPL v2
https://github.com/opensourcesys/speechLogger/
stable
GPL v2
https://github.com/ibrahim-s/searchWith/releases/download/2.4/searchWith-2.4.nvda-addon
https://github.com/ibrahim-s/searchWith/
stable
GPL v2
https://github.com/nvdaes/emoticons/releases/download/16.1/emoticons-16.1.nvda-addon
https://github.com/nvdaes/emoticons/
stable
GPL v2
https://github.com/opensourcesys/speechLogger/
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/newfon/
stable
MIT
What happens if an URL is not available anymore? E.g. deleting a GitHub release by mistake.
From the add-on author point of view, I guess that this version should be revoked and a new should be made. But what if the author do not revoke it? May an add-on be revoked due to a permanently broken link (or a modified SHA)?
Originally posted by @CyrilleB79 in #109 (comment)
A GitHub action should check the SHAs and ensure the URLs work for all versions of add-ons hosted in the add-on store.
https://github.com/josephsl/wintenApps/releases/download/23.03/wintenApps-20230310-dev.nvda-addon
https://github.com/josephsl/wintenApps
dev
GPL v2
Regardless of the documentation for a multilingual store, add-ons are translatable and this should be documented ASAP to avoid deletions or regressions, given that they are in fact translated, using the system created by @mhameed:
https://github.com/nvdaes/enhancedAnnotations/
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.3/newfon-2023.3.nvda-addon
https://github.com/DraganRatkovich/newfon
stable
GPL 2
https://github.com/nvdaes/reportSymbols/releases/download/9.0.0/reportSymbols-9.0.0.nvda-addon
https://github.com/nvdaes/reportSymbols/
stable
GPL v2
https://github.com/ruifontes/addonsHelp
stable
GPL v2
I tried to create an issue in mrConfig without success (not sure if they are disabled).
Many notifications are sent from Exbi server about mr commands not working. This should be fixed if possible.
Alternatively, it maybe announced that add-on maintainers should take care about translations (and or also regarding other questions) independently without depending on a central system.
BTW: This is done ia a project about which I was informed recently, where each person can publish plugins in pip repository without requiring to pass a review process, and the program has an option to install a plugin manager. Alternatively plugins can be installed from command line via pip, but the fact is that they can be included in the program directly without a central system. I think that two approaches are valid, and maybe good for developers to know what they should do:
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/newfon/
stable
MIT
No response
https://github.com/nvdaes/pcKbBrl/releases/download/2024.0.0/pcKbBrl-2024.0.0.nvda-addon
https://github.com/nvdaes/pcKbBrl/
stable
GPL v2
https://github.com/ruifontes/virtualReview
stable
GPL v2
https://github.com/opensourcesys/speechLogger/
stable
GPL v2
I believe making this proposal a reality would be a great milestone for NVDA biggest advantage being native updates for add-ons, transparent reviews, and hopefully easier additions to the translation system. It is also worth pointing out that at the moment new add-ons are not being added to the translation and in general current reviewers are waiting for NV Access to implement this before submitting new add-ons to the website. It would be great if you could provide any ETA for this @feerrenrut I understand that it might not be a priority for you therefore I would like to ask what we as a community could do to make this happen in a reasonable time frame - I am thinking rather in a technical terms, as the proposal seems to be discussed enough times and ironing any rough edges might be done when implementing.
https://github.com/leonardder/nvdaRd/releases/download/0.1.0/nvdaRd-0.1.0.nvda-addon
beta
GPL v2
https://github.com/ruifontes/wordCount/releases/download/2023.03.11/wordCount-2023.03.11.nvda-addon
https://github.com/ruifontes/wordCount
stable
GPL v2
Since yesterday, this add-on store repo is the repo where add-on submission should be asked, in replacement of old addonFiles repo.
However, there are still unclear points on how to submit a new add-on or an add-on update.
Today, all the documentation is in the main readme. The audience of this readme is for add-on authors, add-on submitters and add-on store developers. It contains:
I think that this readme should be split in various documents. More specifically from an add-on author point of view, the instructions on how to submit an add-on should not be mixed in the same document with add-on store requirements or design considerations. The repo's main readme could contain just a little intro and 3 linnks to these documents so that each audience only looks at the appropriate information.
The document targetting add-on authors and submitters (in case the submitter is not the author) should contain:
The following points should be updated/clarified:
Example is given for the NV Access add-on, 'NVDA - OCR':
If we are talking of NV Access (initial) version of this add-on it is not updated since 2020. And the version present in the migration of the store is the one forked and continued by Łukasz Golonka. So better use an example already present in the store rather than an add-on name that will probably never be in the store (addonId "ocr" instead "nvda-ocr")
Regarding the json file it is written:
<version>
is the add-on version in the form:Major.Minor.Patch
E.G. "2.4.1"
Is it a requirement? If yes, it is an additional information that needs to be provided since the "version" field in the manifest rather seems to match "addonVersionName" in the json.
Clarify these points:
Automated checks for common issues will complete. Either giving feedback or merging the PR.
As I understand this sentence, automated check completion can trigger automatic merge; even if not explicitely written, that's what the sentence seems to mean.
If I am not mistaken, automatic merging is only a project but not yet enabled. Current sitatuation should be documented, even if future project can also remain mentioned.
Some fields in the json are the same as the ones in the manifest (even if renamed); other ones are new.
A description of each field should be done, giving the correspondance (if any) in the manifest file in case the field name differ between json and manifest.
I think that two things should be addressed:
Hi,
While migrating my add-ons to the add-on store, I'm noticing that there are add-ons that will have add-on ID/folder name conflicts (I use add-on name field from the manifest as add-on ID). Examples include evttracker versus evtTracker (the latter is the add-on ID I plan to use), officedesk versus officeDesk, and possibly others. As much as I would like to use the add-on name from the manifest (camel case names) as add-on ID, if lowercase names are to be used, I'll abide by it. Note that the two examples I listed are add-ons I'm no longer maintaining.
Thanks.
Finally, add-ons are copied to the views branch as required, but sometimes this is done when another add-on is sent
transformDataToViews.yml workflow maybe run on schedule for example every hour instead of running it when PRs are marged?
Cheers.
https://github.com/ruifontes/applicationDictionary-
stable
GPL v2
https://github.com/nvdaes/pcKbBrl/releases/download/2023.0.0/pcKbBrl-2023.0.0.nvda-addon
https://github.com/nvdaes/pcKbBrl/
stable
GPL v2
https://github.com/leonardder/unicodebrailleinput
stable
GPL v2
https://github.com/DraganRatkovich/newfon/releases/download/2023.2.0/Newfon-2023.2.0.nvda-addon
https://github.com/DraganRatkovich/newfon/
stable
GPL v2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.