From 844dd0da042574a6277cc03babd319cce624ff90 Mon Sep 17 00:00:00 2001 From: Xpirix Date: Thu, 13 Feb 2025 09:50:05 +0300 Subject: [PATCH 1/2] Add docs for apporval process --- qgis-app/docs.py | 14 ++- .../templates/plugins/plugin_sidebar.html | 6 ++ qgis-app/templates/flatpages/docs.html | 3 +- .../templates/flatpages/docs_approval.html | 101 ++++++++++++++++++ .../templates/flatpages/docs_publish.html | 12 +-- qgis-app/urls.py | 3 +- 6 files changed, 129 insertions(+), 10 deletions(-) create mode 100644 qgis-app/templates/flatpages/docs_approval.html diff --git a/qgis-app/docs.py b/qgis-app/docs.py index 68eb0665..40b6d889 100644 --- a/qgis-app/docs.py +++ b/qgis-app/docs.py @@ -2,7 +2,6 @@ from django.utils.translation import gettext_lazy as _ - def docs_publish(request): """ Renders the docs_publish page @@ -11,4 +10,15 @@ def docs_publish(request): request, "flatpages/docs_publish.html", {}, - ) \ No newline at end of file + ) + + +def docs_approval(request): + """ + Renders the docs_approval page + """ + return render( + request, + "flatpages/docs_approval.html", + {}, + ) diff --git a/qgis-app/plugins/templates/plugins/plugin_sidebar.html b/qgis-app/plugins/templates/plugins/plugin_sidebar.html index 12306fb1..f15c7f95 100644 --- a/qgis-app/plugins/templates/plugins/plugin_sidebar.html +++ b/qgis-app/plugins/templates/plugins/plugin_sidebar.html @@ -117,6 +117,12 @@ Publish a plugin + {% url 'docs_approval' as docs_approval_url %} +
  • + + Approval process + +
  • {% comment %}
  • Manage a plugin diff --git a/qgis-app/templates/flatpages/docs.html b/qgis-app/templates/flatpages/docs.html index fb2491a5..c40d2e06 100644 --- a/qgis-app/templates/flatpages/docs.html +++ b/qgis-app/templates/flatpages/docs.html @@ -1,5 +1,6 @@ {% extends BASE_TEMPLATE %} -{% block leftbar %} +{% block menu %} +{{ block.super }} {% include "plugins/plugin_sidebar.html" %} {% endblock %} diff --git a/qgis-app/templates/flatpages/docs_approval.html b/qgis-app/templates/flatpages/docs_approval.html new file mode 100644 index 00000000..29c24860 --- /dev/null +++ b/qgis-app/templates/flatpages/docs_approval.html @@ -0,0 +1,101 @@ +{% extends 'flatpages/docs.html' %} + +{% block content %} +
    +

    Plugin approval process

    +

    + The approval of plugins is primarily carried out by contributors. Currently, + the primary contributor is Admire Nyakudya (addloe@gmail.com). Do not + hesitate to get in touch with him if you have any questions about the plugin + approval process. +

    +

    The approval process involves the following steps.

    +
    New Plugins
    +

    All new plugins follow the rough guidelines outlined below:

    +
      +
    • + Plugin metadata.txt should be properly populated with working links i.e.: +
        +
      • + Plugin home page - This link should direct users to a page on a + website that describes the plugin functionality. If you do not have a + dedicated page on your website that describes plugin usage, please use + the README in the repository or use the code repository as the link. + Any other links will result in the plugin being rejected. +
      • +
      • + Tracker - This should link to the issue tracker in your code + repository. +
      • +
      • + Code repository - This should link to the code repository. It is + expected that the code in the repository is accessible and not a zip + file. The repository should also be publicly accessible. Plugins that + utilize binaries will not be approved. If you feel that there is no + way to provide your plugin without binaries, please reach out to the + QGIS Developers mailing list to motivate your case or the QGIS PSC for + further discussions. +
      • +
      +
    • +
    +

    + Note: Plugins cover a whole range of domains which the person doing the + approval might not be versed with. With such an expectation, we will try to + do random tests (random plugins will be selected) to see if the plugin + installs and runs without crashing QGIS. We also expect plugins to be + cross-platform, working on Unix systems and Windows. In the list of + published plugins, we have a diverse range of plugins offering different + functionality. We encourage plugin developers to collaborate on plugins + offering the same functionality as developing plugins with functionality + that is almost similar. If you need to enhance a particular plugin, we are + able to facilitate this with an existing author. For issues relating to the + transfer of ownership, or updating any other metadata about existing + plugins, please do not hesitate to contact us through the QGIS Developer + mailing lists. +

    +
    Existing Plugins (New updates)
    +

    + These are plugins that are already in use and being enhanced by new versions + being uploaded. During the approval process, we expect the following: +

    +
      +
    • + Properly update metadata to include a changelog. This will be beneficial + for users to understand what has changed between versions. +
    • +
    • Properly annotate versions with new version numbers.
    • +
    • + We will also check the metadata.txt links i.e. plugin homepage, tracker, + etc. to see if they are still working. +
    • +
    +

    + Note: Testing will also be done randomly to see if the plugin still works + and does not crash QGIS. +

    +

    + We try to publish/approve plugins daily with the exception of weekends. If + you have uploaded a plugin on Friday-Sunday, it will most likely be approved + on Monday. During extended holiday periods, the timelines might be even + longer. We also take into consideration that contributors live in different + parts of the world with different public holidays. This might also impact + the timelines for approval. +

    +
    +

    dai nomi dei campi)

    + +
    +
    +{% endblock %} diff --git a/qgis-app/templates/flatpages/docs_publish.html b/qgis-app/templates/flatpages/docs_publish.html index ce394e80..eb18d984 100644 --- a/qgis-app/templates/flatpages/docs_publish.html +++ b/qgis-app/templates/flatpages/docs_publish.html @@ -1,5 +1,4 @@ -{% extends "flatpages/docs.html" %} - +{% extends 'flatpages/docs.html' %} {% block content %}
    @@ -40,13 +39,14 @@

    Requirements

  • If the plugin has an external dependency, this needs to be clearly stated in the About metadata field; you can include a short guide to install - Python libs as needed, or opint to existing guides, e.g. for Windows + Python libs as needed, or opint to existing guides, e.g. for Windows: "Installing Python packages in QGIS 3 (for Windows)" + >Installing Python packages in QGIS 3 (for Windows)"
  • Don't include binaries
  • +
  • The size of the plugin package should not exceed 20MB
  • -

    Recommendations

    +

    Recommendations

    -

    Tips and Tricks

    +

    Tips and Tricks

    Recommendations