Организация и работа с репозиториями расширений QGIS
по адресу 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.
Для этого:
- Подключим, если оно еще не подключено расширение «Plugin Installer» («Модули → Управление модулями»)
- Вызовем установщик расширений «Модули → Загрузить модули» и перейдем на закладку «Репозитории». Исходно в ней содержится только один, официальный репозиторий
Чтобы добавить остальные, нажмем на кнопку Добавить сторонние репозитории, добавятся все остальные, среди которых будет и репозиторий GIS-Lab
Если по какой-то причине у вас это не получилось, можно добавить репозиторий вручную («Добавить»)
Имя: GIS-Lab Адрес: http://gis-lab.info/programs/qgis/qgis-repo.xml
На закладке параметры включим проверку новых версий при старте и включите отображение экспериментальных модулей
- Перейдем на закладку расширений. Если все было сделано правильно, в списке расширений будут указаны неколько расширений и из нашего репозитория, которые можно тут же установить, обновить или удалить
- Включим автоматическое обновление при загрузке QGIS («Проверять обновления при запуске»). Теперь, если будет увеличена версия расширения в XML, QGIS даст знать с помощью сообщения в строке статуса программы, что расширение изменилось и его можно обновить. Щелчок на надпись откроет установщик расширений
Либо в самом установщике расширений