Outdated version of the documentation. Find the latest one here.

Publier votre extension

Une fois que l’extension est prête et que vous pensez qu’elle pourra être utile à d’autres, n’hésitez pas à la téléverser sur Dépôt officiel des extensions Python. Sur cette page, vous pouvez également trouver un guide d’empaquetage sur comment préparer l’extension pour qu’elle fonctionne correctement avec l’installateur d’extensions. Dans le cas où vous souhaitez mettre en place votre propre dépôt d’extensions, créez un unique fichier XML qui listera vos extensions ainsi que leur métadonnées Pour des exemples, consultez les autres dépôts d’extension.

Dépôt officiel des extensions Python

Vous pouvez trouver le dépôt officiel des extensions python à http://plugins.qgis.org/.

Afin d’utiliser le dépôt officiel, vous devez détenir un identifiant OSGEO, à partir du portail web OSGEO.

Une fois que vous avez téléversé votre extension, elle sera approuvée par un membre du staff et une notification vous sera adressée.

Permissions

Ces règles ont été implémentées dans le dépôt officiel des extensions:
  • tout utilisateur enregistré peut ajouter une nouvelle extension

  • les utilisateurs membres du staff sont habilités à approuver ou non chacune des versions de toutes les extensions

  • Les utilisateurs qui ont l’autorisation spéciale plugins.can_approve ont leurs versions d’extension automatiquement approuvées

  • Les utilisateurs ayant l’autorisation spéciale plugins.can_approve peuvent approuver les versions téléversées par d’autres, dès lors qu’ils sont dans la liste des *propriétaires * de l’extension

  • une extension particulière peut être effacée et éditer uniquement par les utilisateurs de l’équipe et par leurs propriétaires

  • Si un utilisateur ne disposant pas de la permission plugins.can_approve téléverse une nouvelle version, cette version de l’extension est automatiquement signalée comme non approuvée.

Trust management

Staff members can grant trust to selected plugin creators setting plugins.can_approve permission through the front-end application.

The plugin details view offers direct links to grant trust to the plugin creator or the plugin owners.

Validation

Plugin’s metadata are automatically imported and validated from the compressed package when the plugin is uploaded.

Voici quelques règles de validation auxquelles vous devriez faire attention quand vous souhaitez charger votre extension sur le dépôt officiel:

  1. le nom du dossier principal contenant votre extension ne doit contenir que des caractères ASCII (A-Z et a-z), des chiffres et les caractères underscore(_) et moins (-), sans cependant commencer par un chiffre

  2. metadata.txt est requis

  3. Toutes les métadonnées requises listées dans metadata table doivent être présentes.

  4. Le champ de métadonnée version doit être unique

Plugin structure

Following the validation rules the compressed (.zip) package of your plugin must have a specific structure to validate as a functional plugin. As the plugin will be unzipped inside the users plugins folder it must have it’s own directory inside the .zip file to not interfere with other plugins. Mandatory files are: netadata.txt and __init__.py But it would be nice to have a README.py and of course an icon to represent the plugin (resources.qrc). Following is an example of how a plugin.zip should look like.

plugin.zip
  pluginfolder/
  |-- i18n
  |   |-- translation_file_de.ts
  |-- img
  |   |-- icon.png
  |   `-- iconsource.svg
  |-- __init__.py
  |-- Makefile
  |-- metadata.txt
  |-- more_code.py
  |-- main_code.py
  |-- README.md
  |-- resources.qrc
  |-- resources_rc.py
  `-- ui_Qt_user_interface_file.ui