Modify

Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#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 stoecker, 16 years ago

Resolution: duplicate
Status: newclosed

comment:2 by stoecker, 16 years ago

Closed as duplicate of #3391.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.