Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add-on: Adds an unpackaged Add-on to facilitate the development and testing of Add-ons. #17239

Open
hwf1324 opened this issue Oct 2, 2024 · 4 comments

Comments

@hwf1324
Copy link
Contributor

hwf1324 commented Oct 2, 2024

Is your feature request related to a problem? Please describe.

Currently we can develop Add-on's on an ad-hoc basis via the scratchpad catalogue, but there are several problems with this.

When we want to test the Add-on on different versions of NVDA, we may need to copy and paste the modified original file frequently.
Especially if you need to interact with applications that have administrator privileges.

There is also the inconvenience when we want to develop and test the source code of an Add-on cloned from GitHub.

Describe the solution you'd like

For cases where a complete Add-on structure exists, you can manually specify the unpacked Add-on directory from which to load the Add-on, and perhaps also the corresponding manifest.ini

When there is no manifest.ini, this directory behaves like scratchpad.

Describe alternatives you've considered

Manually create hard links without NVDA processing.

Additional context

Follow-up to #6277

@seanbudd
Copy link
Member

seanbudd commented Oct 2, 2024

Thanks for opening this. I have a couple of clarifying questions

When we want to test the Add-on on different versions of NVDA, we may need to copy and paste the modified original file frequently.

If you are doing this from source, and keeping the file in the scratchpad, wouldn't you just need to git checkout the release tag of NVDA you want, without copy/pasting?

There is also the inconvenience when we want to develop and test the source code of an Add-on cloned from GitHub.

Can this be fixed by cloning into the scratchpad dir? If that can't be done now, it would be a useful structure to support

For cases where a complete Add-on structure exists, you can manually specify the unpacked Add-on directory from which to load the Add-on, and perhaps also the corresponding manifest.ini

Where would you like to specify this? Can you elaborate more on the UX. My proposal on #6277 was to add something to advanced settings to allow adding additional scratchpad directories

@hwf1324
Copy link
Contributor Author

hwf1324 commented Oct 2, 2024

If you are doing this from source, and keeping the file in the scratchpad, wouldn't you just need to git checkout the release tag of NVDA you want, without copy/pasting?

Yes, I should add cases where I need to interact with applications that have administrator rights.

Can this be fixed by cloning into the scratchpad dir? If that can't be done now, it would be a useful structure to support

Unless the repository's root directory holds the Add-on source code, and only the individual Add-on types, this should be unlikely.

Where would you like to specify this? Can you elaborate more on the UX.

For the presence of manifest.ini, I'm not sure. add-on store or add-on store settings panel might be good.

My proposal on #6277 was to add something to advanced settings to allow adding additional scratchpad directories

For the scratchpad directory, I agree with the

@CyrilleB79
Copy link
Collaborator

Some thoughts:

  1. To test with various versions of NVDA, it's often much quicker to have many installers or portable versions and to pass them the same -c path\to\config parameter.

  2. The scratchpad has some limitation with respect to a real add-on folder:

  • no possibility to call init translation function
  • no possibility to test two or more add-ons in the same time (except if you mix their files)
  • To be checked: maybe the new addition of symbol dictionaries is not supported since it needs the manifest

@XLTechie
Copy link
Collaborator

XLTechie commented Oct 2, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants