Организация и работа с репозиториями расширений QGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/qgis-repo.html


Как создать и использовать хранилище расширений QGIS.

Разработка расширений для QGIS может вестись на C++ и Python. Разработка на Python, помимо того, что является более простой, быстрой и кросс-платформенной, еще и имеет мощную децентрализованную систему распространения результатов. Каждый автор расширения имеет возможность быстро организовать систему полуавтоматического его распространения через свой сайт. Средства самого QGIS позволяют подключать и отслеживать обновление расширений, происходящие на веб-сайте автора. К сожалению, из-за сложностей связанных с компиляцией и установкой, эта возможность работает пока только для расширений, написанных на языке Python.

Эта статья рассказывает, как автор расширения может создать репозиторий, а пользователь им воспользоваться.

Создание репозитория

Допустим расширение разработано, проверенно и работает локально. Создание репозитория заключается в пакетировке расширения и создании специального файла XML описания репозитория.

Пакет с расширением должен представлять из себя архив папки с набором всех необходимых файлов расширения, например:

/testplugin
|
+- __init__.py
|
+- icon.png
|
+- plugin.py
|
+- resources.py

Архив должен быть создан с помощью архиватора ZIP.

После того, как расширение запакетировано, надо настроить его описание, являющееся частью XML файла репозитория.

Пример XML файла с описанием плагина, расположенного в репозитории выглядит следующим образом:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="plugins.xsl" ?>
<plugins>
  <pyqgis_plugin name="TestPlugin" version="0.1.29">
    <description>This is the test plugin</description>
    <homepage>http://gis-lab.info/qa/qgis-dev-python.html</homepage>
    <qgis_minimum_version>1.0</qgis_minimum_version>
    <file_name>testplugin.zip</file_name>
    <author_name>GIS-Lab</author_name>
    <download_url>http://gis-lab.info/programs/qgis/testplugin.zip</download_url>
  </pyqgis_plugin>
</plugins>

При добавлении в репозиторий еще одного расширения, добавляется еще один блок

<pyqgis_plugin></pyqgis_plugin>

и все что содержится в нем.

Разберем по пунктам:

  • pyqgis_plugin — начало описания расширения, содержит параметры названия name="TestPlugin" и последней версии version="0.1.29" расширения.
  • description — строка описание расширения
  • homepage — домашняя страница
  • qgis_minimum_version — минимальная версия QGIS под которой будет работать расширение
  • author_name — автор расширения
  • download_url — ссылка на пакет расширения (файл zip)

Итак, после того, как этот файл создан и загружен на сервер, можно сказать, что репозиторий создан и работает.

Работа с репозиторием в QGIS

Для получения расширения теперь нам не обязательно рассылать его само, достаточно дать ссылку на репозиторий. Например, репозиторий расширений GIS-Lab:

http://gis-lab.info/programs/qgis/qgis-repo.xml

Подключимся к этому репозиторию из QGIS.

Для этого:

  1. Подключим, если оно еще не подключено расширение «Plugin Installer» («Модули → Управление модулями»)
    Qgis-repo-01.gif
  2. Вызовем установщик расширений «Модули → Загрузить модули» и перейдем на закладку «Репозитории». Исходно в ней содержится только один, официальный репозиторий
    Qgis-repo-02.gif

    Чтобы добавить остальные, нажмем на кнопку Добавить сторонние репозитории, добавятся все остальные, среди которых будет и репозиторий GIS-Lab

    Qgis-repo-07.gif

    Если по какой-то причине у вас это не получилось, можно добавить репозиторий вручную («Добавить»)

    Имя: GIS-Lab
    Адрес: http://gis-lab.info/programs/qgis/qgis-repo.xml
    
    Qgis-repo-03.gif

    На закладке параметры включим проверку новых версий при старте и включите отображение экспериментальных модулей

    Qgis-repo-08.gif
  3. Перейдем на закладку расширений. Если все было сделано правильно, в списке расширений будут указаны неколько расширений и из нашего репозитория, которые можно тут же установить, обновить или удалить
  4. Включим автоматическое обновление при загрузке QGIS («Проверять обновления при запуске»). Теперь, если будет увеличена версия расширения в XML, QGIS даст знать с помощью сообщения в строке статуса программы, что расширение изменилось и его можно обновить. Щелчок на надпись откроет установщик расширений
    Qgis-repo-04.gif

    Либо в самом установщике расширений

    Qgis-repo-05.gif

Ссылки по теме