Публікація плаґіна

Якщо після створення плаґіна ви вирішите, що він може знадобитися й іншим користувачам, не бійтеся опублікувати його в Офіційний репозиторій плаґінів. На цій сторінці ви також знайдете інструкції з підготовки пакету, слідуванням яким позбавить вас від проблем з встановленням плаґіна через Менеджер плаґінів. Якщо ж вам необхідно створити свій власний репозиторій — створіть простий файл XML, який описує всі плаґіни та їх метадані. Приклад такого файлу можна знайти на сторінці Python Plugin Repositories.

Please take special care to the following suggestions:

Metadata and names

  • avoid using a name too similar to existing plugins
  • if your plugin has a similar functionality to an existing plugin, please explain the differences in the About field, so the user will know which one to use without the need to install and test it
  • avoid repeating “plugin” in the name of the plugin itself
  • use the description field in metadata for a 1 line description, the About field for more detailed instructions
  • include a code repository, a bug tracker, and a home page; this will greatly enhance the possibility of collaboration, and can be done very easily with one of the available web infrastructures (GitHub, GitLab, Bitbucket, etc.)
  • choose tags with care: avoid the uninformative ones (e.g. vector) and prefer the ones already used by others (see the plugin website)
  • add a proper icon, do not leave the default one; see QGIS interface for a suggestion of the style to be used

Code and help

  • do not include generated file (ui_*.py, resources_rc.py, generated help files…) and useless stuff (e.g. .gitignore) in repository
  • add the plugin to the appropriate menu (Vector, Raster, Web, Database)
  • when appropriate (plugins performing analyses), consider adding the plugin as a subplugin of Processing framework: this will allow users to run it in batch, to integrate it in more complex workflows, and will free you from the burden of designing an interface
  • include at least minimal documentation and, if useful for testing and understanding, sample data.

Офіційний репозиторій плаґінів

Офіційний репозиторій плаґінів знаходиться за адресою http://plugins.qgis.org/.

Щоб повноцінно користуватися офіційним репозиторієм, необхідно отримати OSGeo ID на порталі OSGeo.

Після завантаження плагіна на сервер, він буде перевірений та схвалений адміністрацією і ви отримаєте повідомлення.

TODO:
Insert a link to the governance document

Права

Офіційний репозиторій плаґінів працює за такими правилами:

  • кожний зареєстрований користувач може додавати плагіни

  • адміністратори можуть схвалювати та відкликати всі версії плаґінів

  • всі версії плаґінів користувачів, які мають дозвіл plugins.can_approve, схвалюються автоматично після завантаження на сервер

  • користувачі, що мають дозвіл plugins.can_approve і знаходяться у списку власників плаґіна, можуть схвалювати версії цього плаґіна, завантажені іншими користувачами

  • плаґін може бути видалений з репозиторію лише адміністрацією та власником плаґіна

  • якщо користувач без дозволу plugins.can_approve завантажує нову версію плаґіна, то ця версія не буде схвалена, навіть якщо плаґін був схвалений раніше

Довірче управлення

Адміністрація може довіряти окремим авторам плаґінів шляхом надання дозволу plugins.can_approve.

Панель адміністрування дозволяє видати необхідні дозволи як автору так і всім власникам плаґіна.

Перевірка

Під час завантаження плаґінів на сервер їх метадані автоматично імпортуються та перевіряться.

Ось список основних правил перевірки, про які необхідно знати перед публікацією плаґіна в офіційному репозиторії:

  1. the name of the main folder containing your plugin must contain only ASCII characters (A-Z and a-z), digits and the characters underscore (_) and minus (-), also it cannot start with a digit
  2. обов’язково повинен бути файл metadata.txt

  3. всі обов’язкові метадані, описані в metadata table, повинні бути заповненими

  4. значення поля version метаданих повинно бути унікальним

Структура плаґіна

Щоб пройти перевірку, стиснений (.zip) пакет плагіна повинен мати певну структуру. Оскільки плаґіни розпаковуються у домашньому каталозі користувача, до директорії плаґінів, вони повинні знаходитися кожний у своєму каталозі всередині файлу .zip. Обов’язковими файлами є лише metadata.txt та __init__.py. Але не завадить також мати README та іконку. Нижче показано структуру пакета плаґіна

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
  |-- resources.qrc
  |-- resources_rc.py
  `-- ui_Qt_user_interface_file.ui