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

(#119) Overhaul package moderation docs #624

Conversation

pauby
Copy link
Member

@pauby pauby commented Dec 16, 2022

Description Of Changes

Overhauling the package moderation docs to make them easier to follow for both moderators and maintainers going through the process.

Motivation and Context

Many reasons. #119 has the best explanation.

Testing

  • I have previewed these changes using the Docker Container or another method before submitting this pull request.

Change Types Made

  • Minor documentation fix (typos etc.).
  • Major documentation change (refactoring, reformatting or adding documentation to existing page).
  • New documentation page added.
  • The change I have made should have a video added, and I have raised an issue for this.
    • Issue #

Change Checklist

  • Requires a change to menu structure (top or left hand side)/
  • Menu structure has been updated

Related Issue

#119

As part of the Moderation documentation overhaul, I want to use Mermaid diagrams. The version of Statiq.Web we use does not support this so we need to update. This is the latest version available at the time.
@pauby pauby marked this pull request as draft December 16, 2022 18:21

By safety - we check that the package scripts do not do anything devious and that you get the software that the package indicates you are getting. Please note that the underlying software may contain crapware/malware (although it is usually not installed when allowing Chocolatey to install silently). This is not checked for currently, but we have plans for checking this in licensed versions of Chocolatey because a feature doing that is not free for us to provide.
* Safety: we check that the package scripts do not do anything devious and that you get the software that the package indicates you are getting. Please note that the underlying software may contain [crapware](https://www.computerhope.com/jargon/c/crapware.htm) / malware (although it is usually not installed when allowing Chocolatey to install silently). This is not checked for currently, but we have plans for checking this in licensed versions of Chocolatey because a feature doing that is not free for us to provide.
Copy link
Member

Choose a reason for hiding this comment

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

Probably would be good to add in a note about scanning here, because malware is checked for with the scanner.

* `software`: The underlying software that the package assists in installing.
* `installer`: The native software installer, usually packaged as MSI, NSIS, InstallShield, Wise, Squirrel, or some other flavor.
* `Package Validator`: The [package validation service](xref:package-validator) checks the quality of a package based on requirements, guidelines and suggestions for creating packages for the Chocolatey Community Repository. We like to think of Package Validator as unit testing for packages. It is validating that everything is as it should be and meets the minimum requirements for a package on the Chocolatey Community Repository.
* `Package Verifier`: The [package verifier service](xref:package-verifier-service) checks the correctness (that the package actually works), that it installs and uninstalls correctly, has the right dependencies to ensure it is installed properly and can be installed silently. The verifier runs against both submitted packages and existing packages (checking every two weeks that a package can still install and sending notice when it fails). We like to think of the verifier as integration testing. It’s testing all the parts and ensuring everything is good.
Copy link
Member

Choose a reason for hiding this comment

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

And add a section about the scanner here as well.


* ProjectUrl - it's required for the community feed
* The authors field (software author/vendor) is not being used for the maintainers field (exception: when the maintainer is also the author)
* The copyright is used appropriately. Look at anything you can find that states the copyright.
* If there is a license available, it **must** be included in the licenseUrl.
* Is the title appropriate?
* At least something written in the description. It should be sufficient to explain the software.
Copy link
Member

Choose a reason for hiding this comment

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

Probably should add a note about the description minimum length, or reword this.

### Package Metadata in the Nuspec file

* `<id>`
This is the name of the package itself and must exist to be able to use the `choco pack` command to create a package. This will contain the package name provided to the `choco new` command automatically. An example would be `<id>microsoft-teams.install</id>`See [naming your package](#naming-your-package) for more information and guidance.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
This is the name of the package itself and must exist to be able to use the `choco pack` command to create a package. This will contain the package name provided to the `choco new` command automatically. An example would be `<id>microsoft-teams.install</id>`See [naming your package](#naming-your-package) for more information and guidance.
This is the name of the package itself and must exist to be able to use the `choco pack` command to create a package. This will contain the package name provided to the `choco new` command automatically. An example would be `<id>microsoft-teams.install</id>`. See [naming your package](#naming-your-package) for more information and guidance.

* The `<projectUrl>` field must contain a valid URL to the project. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.
* The `<authors>` field must not be the same as the `<owners>` field, _except_ when the maintainer and the software author are the same. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.
* The `<copyright>` field must contain a valid copyright for the project. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.
* The `<licenseUrl>` field must contain a valid URL that points to th elicense for the project. Note that this should not be a generic license definition but the location of where the license is stated within the project. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* The `<licenseUrl>` field must contain a valid URL that points to th elicense for the project. Note that this should not be a generic license definition but the location of where the license is stated within the project. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.
* The `<licenseUrl>` field must contain a valid URL that points to the license for the project. Note that this should not be a generic license definition but the location of where the license is stated within the project. See [package metadata](xref:create-packages#package-metadata-in-the-nuspec-file) for more information on what this field should contain.

@@ -166,6 +147,21 @@ Logically, the version is based on the lowest compatible version. But if you don

**See also:** [NuGet Version Reference](http://docs.nuget.org/docs/reference/versioning)

### Package Metadata in the Nuspec file
Copy link
Member

Choose a reason for hiding this comment

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

Should this part be made into a fragment, as similar information is provided earlier in this PR.

@pauby pauby closed this Jun 1, 2024
@pauby pauby deleted the doc/easier-understanding-moderation-process branch June 1, 2024 11:05
@TheCakeIsNaOH
Copy link
Member

@pauby are you planning on taking another go at this, or is the issue available for someone else to be assigned to it?

@pauby
Copy link
Member Author

pauby commented Jun 3, 2024

@TheCakeIsNaOH was an overzealous branch cleanup. I've raised #1002 to cover it.

or is the issue available for someone else to be assigned to it

You are welcome, as is anybody else, to contribute to this. Just a heads-up though, my goal is to completely rewrite the moderation docs rather than updating them.

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.

3 participants