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

Improve and refactor documentation #109

Merged
merged 11 commits into from
Mar 7, 2023
Merged

Improve and refactor documentation #109

merged 11 commits into from
Mar 7, 2023

Conversation

seanbudd
Copy link
Member

@seanbudd seanbudd commented Mar 2, 2023

Closes #95

Issues fixed in this PR:

  • convertAddonManifest.py has been deleted as the issue form replaces this process. This python script was also an unintentional less polished duplicate of a script in the validation repo.
  • documentation is split into design/development docs, metadata schema information, and an add-on submission guide,
  • documentation is added on the latest and legacy end points
  • the submission process has been given a lot more detail, and largely rewritten
    • this is to add information on all the fields in the template, derived from the schema file

Suggested review style: git diff master --color-moved

@seanbudd
Copy link
Member Author

seanbudd commented Mar 2, 2023

@CyrilleB79 could you review this?

Copy link
Contributor

@CyrilleB79 CyrilleB79 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @seanbudd for this rework of the doc.

I have made a lot of comments and proposals. Feel free to ignore what seems unsuitable to you.

Note: I have reviewed in details the first page and the submission doc. Regarding the design doc, I have read it quickly and found no obvious issue. But I have not read it in details as the two other pages.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
[Read the submission guide](./docs/submitters/submissionGuide.md)

### Design overview
[Read the design overview](./docs/submitters/designOverview.md)

### About security
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not move this paragraph into designOverview.md?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this affects more than developers. I believe submitters, developers and other community contributors would find this information helpful.

docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
The URL should remain valid indefinitely.
GitHub release URLs are recommended.

Example: `"https://github.com/nvaccess/addon-datastore/releases/download/v0.1.0/myAddon.nvda-addon"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Real example here:

Suggested change
Example: `"https://github.com/nvaccess/addon-datastore/releases/download/v0.1.0/myAddon.nvda-addon"`
Example: `"https://github.com/nvdaes/placeMarkers/releases/download/24.0/placeMarkers-24.0.nvda-addon"`

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the benefit of a real example here?

docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
Refer to [addon-datastore-validation](https://github.com/nvaccess/addon-datastore-validation) for more information on automated checks.
GitHub requires manual approval for the automated checks to run on an author's the first submission to the repository.
1. If the checks pass, the PR should be merged automatically.
However, a human review process may be required.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When is human review required? Are you speaking of first author's submission as already written above? Or something else?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is more appropriate to keep this vague until the process has been tested and finalised.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another example: changing an add-on file, deleting a file, changing the casing of an add-on ID.

@josephsl
Copy link
Contributor

josephsl commented Mar 3, 2023 via email

@nvdaes
Copy link
Sponsor Contributor

nvdaes commented Mar 4, 2023 via email

@nvdaes
Copy link
Sponsor Contributor

nvdaes commented Mar 4, 2023 via email

@CyrilleB79
Copy link
Contributor

@nvdaes IMO the current PR should be merged as soon as possible since people are already expected to use this documentation to submit their add-ons. And this PR is already a great clarification for users (add-on authors).

If all cannot yet be described clearly because there are still unknown inputs or decisions to be made (e.g. regarding versioning), a subsequent PR can be opened for further modification of the documentation.

@nvdaes
Copy link
Sponsor Contributor

nvdaes commented Mar 4, 2023 via email

Co-authored-by: Cyrille Bougot <cyrille.bougot2@laposte.net>
[Read the submission guide](./docs/submitters/submissionGuide.md)

### Design overview
[Read the design overview](./docs/submitters/designOverview.md)

### About security
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this affects more than developers. I believe submitters, developers and other community contributors would find this information helpful.


### About security
Ensuring that an add-on is safe to run is a difficult challenge that isn't addressed here.
However, the metadata for a new submission (add-on release) can be confirmed to match its manifest
description.
Additionally, add-on file integrity can be enforced via a Sha256 checksum.
Additionally, add-on file integrity can be enforced via a SHA256 checksum.
The checksum allows NVDA to ensure that add-on releases are immutable.

### Human review process / code audit
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this information is more relevant to other parties than submitters: including developers, add-on reviewers, and other community members.

### Manual file creation
On a new branch, copy the `_template_addon_release.json` file.
- Rename and move the file to `addons/<addonID>/<version>.json`
- `<addonID>` is the ID of the add-on. This should match the `name` field in the add-on manifest, e.g. "speechPlayer"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a fictional example is better, perhaps something that never existed is better.

Suggested change
- `<addonID>` is the ID of the add-on. This should match the `name` field in the add-on manifest, e.g. "speechPlayer"
- `<addonID>` is the ID of the add-on. This should match the `name` field in the add-on manifest, e.g. "speechMagic"

docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
The URL should remain valid indefinitely.
GitHub release URLs are recommended.

Example: `"https://github.com/nvaccess/addon-datastore/releases/download/v0.1.0/myAddon.nvda-addon"`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the benefit of a real example here?

docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
docs/submitters/submissionGuide.md Outdated Show resolved Hide resolved
Optional.
If the addon has a homepage where users can get more information about the addon, you can specify it here.

Example: `"https://github.com/nvaccess/addon-datastore"`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain the benefit of an real example here?
I think pointing to one might imply a convention on homepage design, which is definitely not the case.
Homepages can be anything e.g. GitHub readmes or personal websites.

@seanbudd
Copy link
Member Author

seanbudd commented Mar 7, 2023

@nvdaes I've updated this to include the new issue form submission.

@nvdaes
Copy link
Sponsor Contributor

nvdaes commented Mar 7, 2023

I've seen the explanation about issues and seems good.

@seanbudd
Copy link
Member Author

seanbudd commented Mar 7, 2023

@CyrilleB79 - I am going to merge this as it greatly improves the current state of documentation, and there is a time pressure on getting these out.
Feel free to respond to this review further and a subsequent PR will be opened, or open a new issue/PR yourself suggesting changes.

@seanbudd seanbudd merged commit 1cadb63 into master Mar 7, 2023
@seanbudd seanbudd deleted the improveDocumentation branch March 7, 2023 21:18
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

Successfully merging this pull request may close these issues.

Add-on submission and other doc clarification
4 participants