#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 Changed 9 years ago by
comment:2 Changed 9 years ago by
In [o30952] - see #josm11090 - add Manifest property that indicates the plugin can load at runtime
comment:3 Changed 9 years ago by
In [o30953]: see #josm11090 - reverter plugin is ready for load at runtime
comment:5 Changed 9 years ago by
In [o30955]: see #josm11090 - building_tools: add Manifest property that indicates the plugin can load at runtime
comment:7 Changed 9 years ago by
In [o30958]: see #josm11090 - utilsplugin2 is ready for load at runtime
comment:8 Changed 9 years ago by
Cc: | skyper added |
---|
comment:9 Changed 9 years ago by
Milestone: | → 15.02 |
---|
comment:11 Changed 9 years ago by
In [o30962]: see #josm11090 - plugins ready for load at runtime:
OpeningHoursEditor, mirrored_download, photo_geotagging, photoadjust,
piclayer, roadsigns, simplifyarea, tag2link, turnrestrictions
comment:12 follow-up: 15 Changed 9 years ago by
Ticket #6396 has been marked as a duplicate of this ticket.
comment:13 Changed 9 years ago by
Cc: | olejorgenb stoecker added |
---|
comment:14 Changed 9 years ago by
Priority: | normal → major |
---|
comment:15 follow-up: 17 Changed 9 years ago by
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 Changed 9 years ago by
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 Changed 9 years ago by
Component: | Plugin → Core |
---|---|
Keywords: | plugin load restart added |
comment:19 Changed 9 years ago by
comment:20 follow-up: 31 Changed 9 years ago by
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 Changed 9 years ago by
comment:23 follow-up: 24 Changed 9 years ago by
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 Changed 9 years ago by
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
comment:25 follow-up: 28 Changed 9 years ago by
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 Changed 9 years ago by
Description: | modified (diff) |
---|
comment:27 Changed 9 years ago by
Cc: | lpechacek added |
---|
comment:28 Changed 9 years ago by
Replying to Mkyral:
I'll check the possibility of dropping of the plugin with the Czech community.
great! :)
comment:30 follow-up: 32 Changed 9 years ago by
In [o31023] - fixed utilsplugin2 for load without restart
comment:31 follow-up: 35 Changed 9 years ago by
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!
comment:32 follow-up: 33 Changed 9 years ago by
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 Changed 9 years ago by
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])
comment:34 follow-up: 37 Changed 9 years ago by
Will doing all this work for making plugins to be loaded without a restart possibly help fix #6725?
comment:35 follow-up: 36 Changed 9 years ago by
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.
comment:36 follow-up: 38 Changed 9 years ago by
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 Changed 9 years ago by
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 Changed 9 years ago by
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 Changed 9 years ago by
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 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
In 8017/josm: