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

A better experience for first time plugin manager users #284

Open
timlinux opened this issue Mar 6, 2024 · 7 comments
Open

A better experience for first time plugin manager users #284

timlinux opened this issue Mar 6, 2024 · 7 comments

Comments

@timlinux
Copy link
Member

timlinux commented Mar 6, 2024

QGIS Enhancement: A better experience for first time plugin manager users

Date 2024/03/06

Author Tim Sutton (@timlinux)

Contact tim@kartoza.com

maintainer @timlinux

Version QGIS 3.38 and beyond

Summary

For a long time I have been unhappy about our security posture with regards to python plugins. Today I happened to see that Jupyter gives their users exactly the experience I think we should be giving our users, so I decided to actually write this QEP.

image

Proposed Solution

For any new profile or new install, block the plugin manager until the user has explicitly accepted the terms, an adapted version of which I provide below:

The QGIS development team is excited to have a robust third-party plugin community. Although we do a basic review of third-party plugins, this review process is not exhaustive and some plugins may introduce security risks or contain malicious code that runs on your machine. Moreover in order to work, this plugin manager needs to fetch data from web services. Do you agree to activate this feature?

I really like the visual design approach they took, making the 'accept' button RED and the 'deny' button gray.

Affected Files

Probably these:

  • QGIS/src/ui/qgspluginmanagerbase.ui
  • QGIS/src/app/pluginmanager/qgspluginmanager.h
  • QGIS/src/app/pluginmanager/qgspluginmanager_texts.cpp
  • QGIS/src/app/pluginmanager/qgspluginmanager.cpp

Performance Implications

None

Further Considerations/Improvements

None

Backwards Compatibility

Would be great to backport this to LTR

Issue Tracking ID(s)

Votes

(required)

@nyalldawson
Copy link
Contributor

+1

@mach0
Copy link
Member

mach0 commented Mar 7, 2024 via email

@ismailsunni
Copy link

Will it affected pre-installed plugin or plugin that installed manually (e.g. copying the plugin to the profile directory) ? Or only the plugin manager dialog only?

@timlinux
Copy link
Member Author

timlinux commented Mar 7, 2024

@ismailsunni the idea would be to 'cover' the plugins dialog with this message the first time it is used. So it would have no effect if you already have plugins installed manually in the plugin dir.

@haubourg
Copy link
Member

I would also add in the future some scanner feature that prevents compiled binaries to be silently shipped

@elpaso
Copy link

elpaso commented Mar 16, 2024

+1

@DelazJ
Copy link

DelazJ commented Mar 17, 2024

+1

For any new profile or new install, block the plugin manager until the user has explicitly accepted the terms

I guess this means we need to think about our Core plugins currently available through this dialog, namely Processing, metasearch... whether they are moved out of the manager dialog, or we only block access to third-party plugins once in the manager dialog.

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

7 participants