This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 527579 - Make "Install" button work via clicking rather than dragging
Summary: Make "Install" button work via clicking rather than dragging
Status: CLOSED DUPLICATE of bug 536589
Alias: None
Product: MPC
Classification: Technology
Component: Install (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement with 1 vote (vote)
Target Milestone: 1.8.0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 351303
Blocks:
  Show dependency tree
 
Reported: 2017-11-21 16:07 EST by Serge Matveenko CLA
Modified: 2019-02-14 08:28 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Serge Matveenko CLA 2017-11-21 16:07:28 EST
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.
Comment 1 Max Rydahl Andersen CLA 2017-11-21 16:48:51 EST
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.
Comment 2 Mickael Istria CLA 2017-11-22 02:07:37 EST
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.
Comment 3 Serge Matveenko CLA 2017-11-22 03:04:04 EST
Here is a good SO thread on the topic of the custom protocol handling.
Comment 5 Carsten Reckord CLA 2017-11-22 04:45:52 EST
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.
Comment 6 Mickael Istria CLA 2017-11-22 04:59:20 EST
(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
Comment 7 Max Rydahl Andersen CLA 2017-11-22 07:36:10 EST
(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.
Comment 8 Max Rydahl Andersen CLA 2017-11-22 07:37:01 EST
but yes - that is the direction to go on it.
Comment 9 Serge Matveenko CLA 2017-11-22 07:48:59 EST
> 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
Comment 10 Carsten Reckord CLA 2019-02-14 08:28:03 EST
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 ***