From cfe22f52562b0be0bf87ab75339903db81ea7ae2 Mon Sep 17 00:00:00 2001 From: Sean Budd Date: Tue, 28 Mar 2023 15:37:00 +1100 Subject: [PATCH 1/3] Update Add-on Manifest spec descriptions --- source/addonHandler/__init__.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/addonHandler/__init__.py b/source/addonHandler/__init__.py index d28257281e5..dff7fdf45e8 100644 --- a/source/addonHandler/__init__.py +++ b/source/addonHandler/__init__.py @@ -720,15 +720,17 @@ def createAddonBundleFromPath(path, destDir=None): def _report_manifest_errors(manifest): log.warning("Error loading manifest:\n%s", manifest.errors) + class AddonManifest(ConfigObj): """ Add-on manifest file. It contains metadata about an NVDA add-on package. """ configspec = ConfigObj(StringIO( """ # NVDA Add-on Manifest configuration specification # Add-on unique name +# Suggest convention is lowerCamelCase. name = string() -# short summary (label) of the add-on to show to users. +# short summary (label) of the add-on to show to users. summary = string() # Long description with further information and instructions @@ -737,7 +739,8 @@ class AddonManifest(ConfigObj): # Name of the author or entity that created the add-on author = string() -# Version of the add-on. Should preferably in some standard format such as x.y.z +# Version of the add-on. +# Should be in .. format. version = string() # The minimum required NVDA version for this add-on to work correctly. @@ -747,8 +750,9 @@ class AddonManifest(ConfigObj): # Must be greater than or equal to minimumNVDAVersion lastTestedNVDAVersion = apiVersion(default="0.0.0") -# URL for more information about the add-on. New versions and such. -url= string(default=None) +# URL for more information about the add-on, e.g. a homepage. +# Should begin with https:// +url = string(default=None) # Name of default documentation file for the add-on. docFileName = string(default=None) From 406a087236e51862f54a255193098c10f100ddde Mon Sep 17 00:00:00 2001 From: Sean Budd Date: Tue, 4 Apr 2023 11:12:54 +1000 Subject: [PATCH 2/3] make suggested convention clear --- source/addonHandler/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/addonHandler/__init__.py b/source/addonHandler/__init__.py index dff7fdf45e8..a630d58ff0f 100644 --- a/source/addonHandler/__init__.py +++ b/source/addonHandler/__init__.py @@ -727,7 +727,7 @@ class AddonManifest(ConfigObj): """ # NVDA Add-on Manifest configuration specification # Add-on unique name -# Suggest convention is lowerCamelCase. +# Suggested convention is lowerCamelCase. name = string() # short summary (label) of the add-on to show to users. @@ -740,7 +740,7 @@ class AddonManifest(ConfigObj): author = string() # Version of the add-on. -# Should be in .. format. +# Suggested convention is .. format. version = string() # The minimum required NVDA version for this add-on to work correctly. From cfb8596189d6085f8cd7642acfb205d160a37aa4 Mon Sep 17 00:00:00 2001 From: Sean Budd Date: Tue, 18 Apr 2023 15:53:35 +1000 Subject: [PATCH 3/3] update changes --- user_docs/en/changes.t2t | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/user_docs/en/changes.t2t b/user_docs/en/changes.t2t index efcdb379bbd..a7ebd3d1f91 100644 --- a/user_docs/en/changes.t2t +++ b/user_docs/en/changes.t2t @@ -62,6 +62,14 @@ Instead NVDA reports that the link has no destination. (#14723) == Changes for Developers == Please refer to [the developer guide https://www.nvaccess.org/files/nvda/documentation/developerGuide.html#API] for information on NVDA's API deprecation and removal process. + +- Suggested conventions have been added to the add-on manifest specification. +These are optional for NVDA compatibility, but are encouraged or required for submitting to the add-on store. +The new suggested conventions are: + - Using ``lowerCamelCase`` for the name field. + - Using ``..`` format for the version field (required for add-on datastore). + - Using ``https://`` as the schema for the url field (required for add-on datastore). + - - Added a new extension point type called ``Chain``, which can be used to iterate over iterables returned by registered handlers. (#14531) - Added the ``bdDetect.scanForDevices`` extension point. Handlers can be registered that yield ``BrailleDisplayDriver/DeviceMatch`` pairs that don't fit in existing categories, like USB or Bluetooth. (#14531)