a new key
This change moves the old "app/plugin_installer/checkOnStart" setting
key to a new "plugins/automatically-check-for-updates" key, and
switches the default value to enable automatic checks
This is designed to switch all existing QGIS users to the new
default behavior of checking for plugin updates at startup (at
a maximum of once every 3 days).
It is intended to offer a better QGIS experience to our users,
by proactively informing all users when plugins should be
updated, ensuring that ALL users are more likely to upgrade
plugins and get the bug fixes for plugins promptly.
Enterprise users who have customised this setting in their
deployments will need to adapt their scripts for the new
setting key.
instead of manually
Too many QGIS users use outdated plugins without even realising it,
leading to an overall buggier QGIS experience then they should have...
manually in the plugin manager, then force a reload of the repositories
and don't rely on cached copies of the repo manifest
Otherwise it's not possible to force a refresh on certain types of
plugin repositories where it's not possible to modify the Cache-Control
attribute of the repo
Note that to avoid unnecessary server load, we still use cached
copies during startup and by default. It's only when a user explicitly
hits the "Reload all repositories" button that we force a non-cached
fetch.
Fixes#34351
Implementation of QEP 132:
Manage python cross-plugins dependencies
A new optional metadata entry will be added to metadata.txt: plugin_dependencies
The metadata will contain a comma separated list of plugin names, with a format similar
of the one used by pip, with optional version.
After a successful plugin installation, if the plugin has any unsatisfied dependency,
a dialog will pop-up with the list of unmet dependencies and the user
will be able to choose if she wants to install or upgrade the
dependencies or ignore them.
Example metadata:
plugin_dependencies = QuickMapServices==0.19.10.1,QuickWKT
Funded by GISCE-TI S.L.
And allow these to be retrieved from QgsNetworkRequestParameters.
This allows logging code to identify the area of code where a request
originated from, making debugging much easier!
Tag all requests created with appropriate class name and IDs
utils.findPlugins() checks for the existence of an __init__.py which
results in an attempt to enable a plugin without an __init__.py being
blocked with the only notification being a message in the Plugins log:
WARNING Plugin "<name>" is not compatible with this version of QGIS.
It will be disabled.
This is not very informative, especially because it is the same message
used for a metadata version mismatch.
Adding this check to Plugins.getInstalledPlugin(), which already
duplicates the metadata checks from utils.findPlugins(), results in the
plugin being marked as broken in the Plugins dialog.
* Remove deprecated Qgis::WKBType and API cleanup
Renames QgsWKBTypes to QgsWkbTypes
Replaces usage of the enums:
* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType
Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)
Renames some SSLxxx to SslXxx and URIxxx to UriXxx
* Fix build warnings and simplify type handling
* Add a fixer to rewrite imports
* The forgotten rebase conflictThe forgotten rebase conflicts
* QgsDataSourcURI > QgsDataSourceUri
* QgsWKBTypes > QgsWkbTypes
* Qgis.WKBGeom > QgsWkbTypes.Geom
* Further python fixes
* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions
* Fix tests
* Python 3 updates
* [travis] pull request caching cannot be disabled
so at least use it in r/w mode
* Fix python3 print in plugins