Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Manager overhaul #43

Open
5 of 12 tasks
alexbruy opened this issue Mar 31, 2016 · 21 comments
Open
5 of 12 tasks

Plugin Manager overhaul #43

alexbruy opened this issue Mar 31, 2016 · 21 comments
Assignees

Comments

@alexbruy
Copy link

alexbruy commented Mar 31, 2016

While Plugin Manager was improved in QGIS 2.x it still missed some important functionality:

  • it is not possible to easily install plugin from local plugin package (e.g. downloaded from author's site). Of course one can extract and copy file to the plugins directory but this is not very user friendly. Also users often confuses with two places: plugins directory inside QGIS tree (<QGIS root>/python/plugins) and user's plugins directory (~/.qgis2/plugins)
  • there is no support for directory-based plugins repositories
  • Authentication per single plugin: if 401 Unauthorised returned, ask for credentials (the same on repository xml as well as zip file requests)
  • Look for a CHANGELOG file and display it in case the relevant metadata key is empty.
  • An API for (un)installing plugins. With multiple plugins at once, without unwanted popups.
  • Access to the Plugin Manager's UI is quite limited, e.g. it is not possible to start Plugin Manager with predefined filter string
  • Don't lock the interface by the progress window when installing a plugin. Annoying when installing many plugins one by one.
  • Merge Plugin Manager with Resourse Sharing plugin. This way we will have single platform for sharing all kinds of resources in QGIS.

More ideas from Martin:

  • do not load all plugins on startup just to check if they are not broken - if I understand correctly this check is done with all plugins, including the disabled ones, so loading QGIS gets slow with increasing number of installed plugins even if they are disabled (please correct me if I am wrong)
  • fetch repository updates in background - avoid the modal dialog when user wants to open plugin manager
  • make the plugin info page nicer

...and from Matthias:

  • Markdown syntax for changelogs
@nyalldawson
Copy link
Contributor

@alexbruy is this something which requires an API break?

@alexbruy
Copy link
Author

alexbruy commented Apr 8, 2016

Not sure if API break required, maybe it can be implemented without breaking API just extending it.

@mach0
Copy link
Member

mach0 commented Apr 8, 2016

But I guess for 3.0 API breaks would be allowed anyway - so it is a good chance to get the plugin manager into a perfect state and learn from what is missing now.

@borysiasty borysiasty self-assigned this Sep 2, 2016
@alexbruy
Copy link
Author

alexbruy commented Sep 7, 2016

Another possible improvement — replace or merge Plugin Manager with new Resourse Sharing plugin developed during GSoC. This way we will have single platform for sharing all kinds of resources in QGIS

@pcav
Copy link
Member

pcav commented Sep 7, 2016

+1

@wonder-sk
Copy link
Member

wonder-sk commented Jan 27, 2017

[copied to the issue description]


More ideas :-)

  • fetch repository updates in background - avoid the modal dialog when user wants to open plugin manager
  • do not load all plugins on startup just to check if they are not broken - if I understand correctly this check is done with all plugins, including the disabled ones, so loading QGIS gets slow with increasing number of installed plugins even if they are disabled (please correct me if I am wrong)
  • make the plugin info page nicer

@borysiasty
Copy link
Member

@alexbruy what do you mean by directory-based plugins repositories?

@alexbruy
Copy link
Author

@borysiasty I mean local repositories without web-server. E.g. directory with plugin packages and XML file (or even without it). This can be useful in situations when setting-up web-server is not possible, like small computer class or workshops when there is no internet access.

@borysiasty
Copy link
Member

@alexbruy: what about just using the file:// protocol? It works properly at mine, on Debian and Windows. Or is it too inconvinient for end users?

@alexbruy
Copy link
Author

Fine for me.

@NathanW2
Copy link
Member

NathanW2 commented Oct 28, 2017 via email

@borysiasty
Copy link
Member

borysiasty commented Oct 28, 2017

@NathanW2 yep, works for me in 2.14 (with file:///c:/blahblah and file:///c:\blahblah notation on Windows). It's just QNetworkRequest. What I didn't test (and probably doesn't work) is a local network. Let me know if you observe any problems.

@NathanW2
Copy link
Member

NathanW2 commented Oct 28, 2017 via email

@rduivenvoorde
Copy link

Reading this thread, may I add another argument to either not even load any plugin, or load them whenever QGIS itself is loaded?
I've had several requests from people here in NL which try to run QGIS in thin client environments, be it either citrix or vmware based stuff. But ALL see that QGIS (and then especially the python part) loads awfully slow (like in >2-4 minutes the first cold start). Some report it is a problem with virus scanners (which apparently have to check every *.pyc file then....) others don't know, but blame python (as even in their osgeo4w environments starting the python interpreter takes ten's of seconds.
If anybody has hints: please let me know.
BUT in either case: not preloading plugins would be a win for this setups.

@NathanW2
Copy link
Member

NathanW2 commented Oct 28, 2017 via email

@NathanW2
Copy link
Member

NathanW2 commented Oct 28, 2017 via email

@m-kuhn
Copy link
Member

m-kuhn commented Oct 28, 2017

what should a plugin do if it's disabled?

@borysiasty
Copy link
Member

borysiasty commented Nov 4, 2017

Ok, so we can remove the preloading: qgis/QGIS#5532

Do we want to merge it now and prepare a nicer error reporting for enabled plugins for 3.2?

@NathanW2 I'm curious what solution do you have? :) My idea is to make a better error dialog and store the changelog for later display in the manager, so the plugin is only marked as an invalid after a failed loading (and only for the session lifetime).

@borysiasty
Copy link
Member

@wonder-sk @rduivenvoorde @alexbruy, how do you like the solution above?

@wonder-sk
Copy link
Member

wonder-sk commented Nov 6, 2017

hi @borysiasty ! Do you mean qgis/QGIS#5532 to avoid preloading of plugins? I like that!

@borysiasty
Copy link
Member

@wonder-sk yes, just didn't want to disable an existing feature without common enthusiasm ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants