#11090 closed enhancement (fixed)
install and load plugins without restart
Reported by: | bastiK | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | 15.02 |
Component: | Core | Version: | |
Keywords: | plugin load restart | Cc: | skyper, olejorgenb, stoecker, lpechacek |
Description (last modified by )
It should be possible to install and load plugins without a restart of JOSM.
Attachments (0)
Change History (44)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
In [o30952] - see #josm11090 - add Manifest property that indicates the plugin can load at runtime
comment:3 by , 10 years ago
In [o30953]: see #josm11090 - reverter plugin is ready for load at runtime
comment:5 by , 10 years ago
In [o30955]: see #josm11090 - building_tools: add Manifest property that indicates the plugin can load at runtime
comment:7 by , 10 years ago
In [o30958]: see #josm11090 - utilsplugin2 is ready for load at runtime
comment:8 by , 10 years ago
Cc: | added |
---|
comment:9 by , 10 years ago
Milestone: | → 15.02 |
---|
comment:11 by , 10 years ago
In [o30962]: see #josm11090 - plugins ready for load at runtime:
OpeningHoursEditor, mirrored_download, photo_geotagging, photoadjust,
piclayer, roadsigns, simplifyarea, tag2link, turnrestrictions
follow-up: 15 comment:12 by , 10 years ago
Ticket #6396 has been marked as a duplicate of this ticket.
comment:13 by , 10 years ago
Cc: | added |
---|
comment:14 by , 10 years ago
Priority: | normal → major |
---|
follow-up: 17 comment:15 by , 10 years ago
Replying to Don-vip:
Ticket #6396 has been marked as a duplicate of this ticket.
#6396 is about reloading plugins at runtime, i.e. first unloading it and then loading it again. This is a much more ambitious project and beyond the scope of the current ticket. olejorgenb provided a patch that proves it is technically possible, but I think a lot more "boring" stuff would need to be done before it worked properly.
comment:17 by , 10 years ago
Replying to bastiK:
#6396 is about reloading plugins at runtime, i.e. first unloading it and then loading it again. This is a much more ambitious project and beyond the scope of the current ticket. olejorgenb provided a patch that proves it is technically possible, but I think a lot more "boring" stuff would need to be done before it worked properly.
OK :)
comment:18 by , 10 years ago
Component: | Plugin → Core |
---|---|
Keywords: | plugin load restart added |
comment:19 by , 10 years ago
follow-up: 31 comment:20 by , 10 years ago
It would be nice if also the table at Plugins displays if the plugin supports "install without restart". With this more prominent display it would maybe push some plugin developpers to update their plugin.
comment:22 by , 10 years ago
follow-up: 24 comment:23 by , 10 years ago
I have some problems to make it work with opendata [o31004:31009]. I have a reentrant call to the EDT when the plugin is loaded at runtime and I'm not sure ho to fix it.
comment:24 by , 10 years ago
Replying to Don-vip:
I have some problems to make it work with opendata [o31004:31009]. I have a reentrant call to the EDT when the plugin is loaded at runtime and I'm not sure ho to fix it.
The future.get()
in ModuleHandler.loadLocallyAvailableModuleInformation()
locks in combination with EventQueue.invokeAndWait(...)
in PleaseWaitRunnable.doRealRun()
.
This has worked before, because the method was only called in main
thread, but now the plugins are loaded in EDT. Possible fixes:
- Spawn a background thread to call
loadModules()
in theOdPlugin
constructor - Don't use
PleaseWaitRunnable
, but callReadLocalModuleInformationTask.realRun()
directly inModuleHandler.loadLocallyAvailableModuleInformation()
- Use continuation style like in, e.g. in
PluginPreference.UpdateSelectedPluginsAction
follow-up: 28 comment:25 by , 10 years ago
Hi,
Tracer, Tracer-testing and pointInfo plugins updated, tested and released.
The czechaddress is obsolete as we have working address import from Czech RUIAN database. I'll check the possibility of dropping of the plugin with the Czech community.
comment:26 by , 10 years ago
Description: | modified (diff) |
---|
comment:27 by , 10 years ago
Cc: | added |
---|
comment:28 by , 10 years ago
Replying to Mkyral:
I'll check the possibility of dropping of the plugin with the Czech community.
great! :)
follow-up: 32 comment:30 by , 10 years ago
In [o31023] - fixed utilsplugin2 for load without restart
follow-up: 35 comment:31 by , 10 years ago
Replying to Klumbumbus:
It would be nice if also the table at Plugins displays if the plugin supports "install without restart". With this more prominent display it would maybe push some plugin developpers to update their plugin.
Good idea, done!
follow-up: 33 comment:32 by , 10 years ago
Replying to bastiK:
In [o31023] - fixed utilsplugin2 for load without restart
This should be commented better as it is not obvious when reading it, that installAdapters()
must be called this way to avoid problems. I think anyone could accidentally revert this change.
comment:33 by , 10 years ago
Replying to Don-vip:
Replying to bastiK:
In [o31023] - fixed utilsplugin2 for load without restart
This should be commented better as it is not obvious when reading it, that
installAdapters()
must be called this way to avoid problems. I think anyone could accidentally revert this change.
Alright :) (In [o31026])
follow-up: 37 comment:34 by , 10 years ago
Will doing all this work for making plugins to be loaded without a restart possibly help fix #6725?
follow-up: 36 comment:35 by , 10 years ago
Replying to bastiK:
Replying to Klumbumbus:
It would be nice if also the table at Plugins displays if the plugin supports "install without restart". With this more prominent display it would maybe push some plugin developpers to update their plugin.
Good idea, done!
Could you please use the old design method again? You new design of the tables wastes so much padding space, that the table becomes nearly unreadable even on my large screens.
follow-up: 38 comment:36 by , 10 years ago
Replying to stoecker:
Could you please use the old design method again? You new design of the tables wastes so much padding space, that the table becomes nearly unreadable even on my large screens.
I don't see how you can change the background color in the simple syntax.
pipe style:
some |
---|
example |
html style:
some |
---|
example |
comment:37 by , 10 years ago
Replying to rickmastfan67:
Will doing all this work for making plugins to be loaded without a restart possibly help fix #6725?
Nope, this is unrelated.
comment:38 by , 10 years ago
Replying to bastiK:
Replying to stoecker:
Could you please use the old design method again? You new design of the tables wastes so much padding space, that the table becomes nearly unreadable even on my large screens.
I don't see how you can change the background color in the simple syntax.
Use this trick:
http://trac-hacks.org/browser/translatedpagesmacro/0.11/translatedpages/translatedpages.py#L369
http://trac-hacks.org/browser/translatedpagesmacro/0.11/translatedpages/translatedpages.py#L445
Generate the table normal and change color with a regexp before passing the HTML back.
comment:40 by , 10 years ago
Replying to bastiK:
Should be fixed.
Fine. I also fixed the icon meta data a bit to say yes/no instead of a useless link :-)
comment:41 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
In 8017/josm: