.. index:: Plugins .. _plugins: ************* QGIS Plugins ************* .. only:: html .. contents:: :local: QGIS has been designed with a plugin architecture. This allows many new features and functions to be easily added to the application. Some of the features in QGIS are actually implemented as plugins. .. _core_and_external_plugins: Core and External plugins ========================= QGIS plugins are implemented either as **Core Plugins** or **External Plugins**. :ref:`Core Plugins ` are maintained by the QGIS Development Team and are automatically part of every QGIS distribution. They are written in one of two languages: **C++** or **Python**. Most of External Plugins are currently written in Python. They are stored either in the 'Official' QGIS Repository at https://plugins.qgis.org/plugins/ or in external repositories and are maintained by the individual authors. Detailed documentation about the usage, minimum QGIS version, home page, authors, and other important information are provided for the plugins in the Official repository. For other external repositories, documentation might be available with the external plugins themselves. External plugins documentation is not included in this manual. To install or activate a plugin, go to :menuselection:`Plugins` menu and select |showPluginManager| :menuselection:`Manage and install plugins...`. Installed external python plugins are placed under the :file:`python/plugins` folder of the active :ref:`user profile ` path. Paths to Custom C++ plugins libraries can also be added under :menuselection:`Settings --> Options --> System`. .. index:: single: Plugins; Plugin manager .. _managing_plugins: The Plugins Dialog =================== .. _setting_plugins: The Settings tab ---------------- At the bottom of the left panel, the |transformSettings| :guilabel:`Settings` tab is the main place you can configure which plugins can be displayed in your application. You can use the following options: * |checkbox| :guilabel:`Check for Updates on Startup`. Whenever an installed plugin has update available, QGIS will inform you :guilabel:`Every Time QGIS starts`, :guilabel:`Once a Day`, :guilabel:`Every 3 Days`, :guilabel:`Every Week`, :guilabel:`Every 2 Weeks` or :guilabel:`Every month`. * |checkbox| :guilabel:`Show also Experimental Plugins`. QGIS will show you plugins in early stages of development, which are generally unsuitable for production use. For these plugins, you can install either the stable or the experimental version, and at any moment switch from one to the other. * |checkbox| :guilabel:`Show also Deprecated Plugins`. These plugins are usually unmaintained because they have replacement functions in QGIS, a lack of maintainers, they rely on functions that are no longer available in QGIS... They are generally unsuitable for production use and appear grayed in the plugins list. By default, in the :guilabel:`Plugin Repositories` section, QGIS provides you with its official plugin repository with the URL ``https://plugins.qgis.org/plugins/plugins.xml?qgis=version`` (where ```` represents the exact QGIS version you are running). To add external author repositories, click |symbologyAdd| :guilabel:`Add...` and fill in the :guilabel:`Repository Details` form with a name and the URL. The URL can be of ``http://`` or ``file://`` protocol type. The default QGIS repository is an open repository and you don't need any authentication to access it. You can however deploy your own plugin repository and require an authentication (basic authentication, PKI). You can get more information on QGIS authentication support in :ref:`authentication` chapter. If you do not want one or more of the added repositories, they can be disabled from the Settings tab via the |symbologyEdit| :guilabel:`Edit...` button, or completely removed with the |symbologyRemove| :guilabel:`Delete` button. .. _figure_plugins_settings: .. figure:: img/plugins_settings.png :align: center The |transformSettings| :guilabel:`Settings` tab Browsing the plugins -------------------- The tabs ........ The upper tabs in the :guilabel:`Plugins` dialog provide you with lists of plugins based on their install, creation or update status. Depending on the plugins settings, available tabs can be: * |showPluginManager| :guilabel:`All`: shows all the available plugins in the enabled repositories * |pluginInstalled| :guilabel:`Installed`: shows both the plugins you installed and the core plugins that are installed by default and you can not uninstall * |plugin| :guilabel:`Not installed`: shows uninstalled or not yet installed plugins in the enabled repositories * |plugin-new| :guilabel:`New`: shows plugins released since the last :guilabel:`Check for Updates on Startup` * |plugin-upgrade| :guilabel:`Upgradeable`: shows installed plugins that have published a more recent version in the repository * |pluginIncompatible| :guilabel:`Invalid`: shows all installed plugins that are currently broken for any reason (missing dependency, errors while loading, incompatible functions with QGIS version...) At the top of the tabs, a :guilabel:`Search` function helps you find any plugin using metadata information (author, name, description, tag,...). .. _figure_plugins_all: .. figure:: img/plugins_all.png :align: center Searching a plugin from the |showPluginManager| :guilabel:`All` tab The Plugins ........... Select a plugin and you will have some metadata displayed in the right panel: * information on whether the plugin is experimental or has an experimental version available (if :guilabel:`Show also Experimental Plugins` is checked) * summary and description * rating vote(s) (you can vote for your preferred plugin!) * tags * some useful links to the home page, tracker and code repository * author(s) * version(s) available with link to download page in the repository, or path to local folder for installed plugins The :guilabel:`Plugin Manager` dialog allows you to interact with the latest version of the plugins. When enabled, the experimental version can be shown only if it is more recent than the latest stable version. Depending on the active tab, whether the selected plugin is installed, you will be given some of the following options: * :guilabel:`Install`: installs the latest stable version of the selected plugin * :guilabel:`Install Experimental Plugin`: installs the experimental version of the selected plugin * :guilabel:`Reinstall Plugin`: installs the same stable version of the plugin e.g. after it has failed to load * :guilabel:`Reinstall Experimental Plugin`: installs the same stable version of the plugin e.g. after it has failed to load * :guilabel:`Upgrade Plugin`: upgrades selected plugin to its latest stable version * :guilabel:`Upgrade Experimental Plugin`: upgrades selected plugin to its experimental version * :guilabel:`Upgrade All`: upgrades all installed plugins to their more recent stable or experimental version (depending on whether their previously installed version was stable or experimental). * :guilabel:`Downgrade Plugin`: moves from the experimental version of the plugin to its previous stable version * :guilabel:`Downgrade Experimental Plugin`: moves from an experimental version of the plugin to its latest published experimental version. This may occur when playing with a not yet published version. * :guilabel:`Uninstall Plugin`: removes the installed plugin from the user profile An installed plugin displays a |checkbox| checkbox on its left. Uncheck it to temporarily deactivate the plugin. Right-click on a plugin in the list and you will be able to sort the plugins list by various metadata. The new order applies to all the tabs. Sort options are: * :guilabel:`Sort by Name` * :guilabel:`Sort by Downloads` * :guilabel:`Sort by Vote` * :guilabel:`Sort by Status` * :guilabel:`Sort by Date Created` * :guilabel:`Sort by Date Updated` The Install from ZIP tab ------------------------ The |installPluginFromZip| :guilabel:`Install from ZIP` tab provides a file selector widget to import plugins in a zipped format, e.g. plugins downloaded directly from their repository. Encrypted files are supported. .. _figure_plugins_install_zip: .. figure:: img/plugins_install_zip.png :align: center The |installPluginFromZip| :guilabel:`Install from zip` tab .. Substitutions definitions - AVOID EDITING PAST THIS LINE This will be automatically updated by the find_set_subst.py script. If you need to create a new substitution manually, please add it also to the substitutions.txt file in the source folder. .. |checkbox| image:: /static/common/checkbox.png :width: 1.3em .. |installPluginFromZip| image:: /static/common/mActionInstallPluginFromZip.png :width: 1.5em .. |plugin| image:: /static/common/plugin.png :width: 1.5em .. |plugin-new| image:: /static/common/plugin-new.png :width: 1.5em .. |plugin-upgrade| image:: /static/common/plugin-upgrade.png :width: 1.5em .. |pluginIncompatible| image:: /static/common/plugin-incompatible.png :width: 1.5em .. |pluginInstalled| image:: /static/common/plugin-installed.png :width: 1.5em .. |showPluginManager| image:: /static/common/mActionShowPluginManager.png :width: 1.5em .. |symbologyAdd| image:: /static/common/symbologyAdd.png :width: 1.5em .. |symbologyEdit| image:: /static/common/symbologyEdit.png :width: 1.5em .. |symbologyRemove| image:: /static/common/symbologyRemove.png :width: 1.5em .. |transformSettings| image:: /static/common/mActionTransformSettings.png :width: 1.5em