Community
Participate
Working Groups
Giving a user has both Browser and Eclipse windows open fullscreen on the same display it is hard to handle dragging and dropping between windows to install a plugin from marketplace page. It feels much more natural to just click the button on the website to start installing a plugin. Other tools already do this: * Gnome Extensions website does it using it's specific machinery allowing to check compatibility. Example: https://extensions.gnome.org/extension/19/user-themes/ * Telegram does it via custom `tg:` protocol prefix being handled by the app and a combination of JavaScript/iframe technics to make the UX seamless. Example: https://t.me/SergeMatveenko A custom protocol looks like a good thing to start with.
I think its a very good idea - I've looked in past how to actually do OS portable protocol handlers and I haven't found any consistently working options. If anyone knows I would be curious to know.
Sorry for moving back and forth. It indeed require MPC inside Eclipse IDE to have support for such feature before we can propagate its usage to Marketplace site.
Here is a good SO thread on the topic of the custom protocol handling.
https://stackoverflow.com/questions/1947209/registering-a-url-protocol-handler-in-a-multiple-platforms
Another way this can be done fairly reliably is to run a minimal webserver in the IDE that uses a port within a small range on localhost, and then have the website call out to that. There are some pitfalls like it not working from an https site (so redirect to http, call out, go back), but overall, this works fairly well. What would also need to be addressed is selecting the target Eclipse (and presenting it to the user in a recognizable way) if you have multiple instances running. I guess the easiest way would be to just pop up the installation request in all of them and letting the user cancel it in all but one.
(In reply to Carsten Reckord from comment #5) > Another way this can be done fairly reliably is to run a minimal webserver > in the IDE This would require the IDE to be started in order to work whereas protocol handlers could start the IDE
(In reply to Serge Matveenko from comment #4) > https://stackoverflow.com/questions/1947209/registering-a-url-protocol- > handler-in-a-multiple-platforms yes, I know of this and it doesn't work (at least when I looked last) as its dependent on non-OSS bits.
but yes - that is the direction to go on it.
> Another way this can be done fairly reliably is to run a minimal webserver in the IDE I don't think this is a good idea at all. This will require various firewallish software to be aware of Eclipse doing that. Also, having another port open even on a local machine is just another potential security hole. > yes, I know of this and it doesn't work (at least when I looked last) as its dependent on non-OSS bits. well, it's pretty simple to implement a custom url scheme on modern Linux, Mac, and Win by hands. https://superuser.com/a/309343/128127 https://support.shotgunsoftware.com/hc/en-us/community/posts/209485898-Launching-External-Applications-using-Custom-Protocols-under-OSX https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
I'm going to close this in favor of bug 536589, which has more detail on the approach we're going to take. *** This bug has been marked as a duplicate of bug 536589 ***