#3636 closed defect (duplicate)
check for and install plugin updates before loading plugins
Reported by: | tordanik | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | |
Keywords: | Cc: |
Description
Currently, JOSM doesn't update plugins when it is started. After updating JOSM itself, some plugins might need to be updated, too. The dialog required for updating plugins in a user-friendly way, however, is accessible only after JOSM has been started and has failed to load the plugin, displaying an error message that doesn't even hint at the fact that a plugin update will probably solve the problem.
A possible solution would be
- check for plugin updates when JOSM is started
- if plugins available: display dialog with list of updateable plugins, allowing users to choose to update plugins or to continue without update (see Firefox behavior for inspiration)
- continue to start JOSM, load plugins etc.; no restart should be required
Filing this as defect (rather than enhancement) as the lack of this feature will inevitably lead to error messages for users who do not manually replace plugin files.
Example for an error message that was caused by an old plugin:
"Could not load plugin openstreetbugs. Delete from preferences?"
Console output:
Revision: Path: trunk URL: http://josm.openstreetmap.de/svn/trunk Repository Root: http://josm.openstreetmap.de/svn Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Revision: 2221 Node Kind: directory Last Changed Author: jttt Last Changed Rev: 2221 Last Changed Date: 2009-09-30 21:04:36 +0200 (Wed, 30 Sep 2009) loading graphview loading openstreetbugs java.lang.NoClassDefFoundError: org/openstreetmap/josm/gui/historycombobox/HistoryChangedListener at org.openstreetmap.josm.plugins.osb.gui.OsbDialog.<init>(OsbDialog.java:89) at org.openstreetmap.josm.plugins.osb.OsbPlugin.<init>(OsbPlugin.java:76) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:184) at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:169) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:148) Caused by: java.lang.ClassNotFoundException: org.openstreetmap.josm.gui.historycombobox.HistoryChangedListener at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 11 more
If I decide to keep the plugin, I will get the same error message again the next time I start JOSM - unless I update the plugin, of course. I've seen similar errors with other JOSM versions - this error isn't the problem itself, it's just an example.
Attachments (0)
Change History (2)
comment:1 by , 16 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Closed as duplicate of #3391.