-
Notifications
You must be signed in to change notification settings - Fork 5
Conversation
Would it make sense to try to simplify the UI a bit more? Some ideas below:
Not related to the UI, but shouldn't we rename packages to start with org.eclipse.hawk? |
Hi Dimitris, |
Thanks for your comments, Dimitris! BTW, there are also graph change listener plugins which should be listed as well. There is one for Modelio, for instance. I agree with the package renaming, but I wouldn't do it in this PR just yet :-). I'll do that outside this PR while we wait for any other comments from the CQ. |
Here is what I've done:
Done for most extension points (metamodel/model factories, model updaters, graph change listeners, query languages, vcs managers, dbs). When unavailable, I added the
Done and this makes the dialog that creates a new index change accordingly
It is not in an advance tab in the creation dialog but in the Eclipse preferences. Surely it would be good to add an advance button in the creation dialog and in the Hawk View. The following image shows this view where depending on the selected hawk instance the enabled/disabled plugins change. I've also rearranged all the Hawk preferences under a Hawk category. The following view is trying to follow the suggestion in Issue #14
They have been renamed to a human readable version. I'll leave the removal of v2 to Antonio. |
Hi Beatriz, Thanks for your work! Using human-readable names sounds great, and it appears that we can finally change the existing plugins on Hawk instances (which has been a long overdue feature). We're almost there, but I think we need a little bit of polish:
Once this goes through, we should add a feature request for enabling/disabling plugins in remote Hawk instances. |
Hi Antonio,
I did this because of the extension point that makes the "Hawk Servers" View fall under the Hawk category. I removed it and didn't complain so I guess is not needed.
Updated in latest commit.
Updated in latest commit. Not sure if I am missing any.
Updated in latest commit.
At some point I was confused with this, when we create a hawk instance with the UI dialog the label to choose the graph says "Backend". I renamed it to avoid my confusion but It could go back though it might make more sense to chance to createGraphDatabase as the interface (IGraphDatabase) and maybe update the UI label to say Database?
I've removed the updater plugin table. It doesn't make sense but somehow I understood that it was a necessary option. I have a question: an index only uses an updater from what I understand, if so, would it make sense to change the updater checkbox table into a combo box?
I've removed the query language plugin table. Is there a way we can identify relevant query mechanisms for the current index configuration instead of listing them all? For example if I have a time aware index which has to use greyback does it make sense to provide OrientDB SQL?
Not that I am aware of.
I agree, for the time being I've disabled the removal of plugins that happened when unchecking. We can go back to this when we have done more testing.
Updated in last commit. The updater checkbox table looks awkward but if we change to a combo box it might look better.
See previous comment. |
Thanks for your quick work! I think we should change the updater table to use radio buttons or a combo box, yes. We do not have any API right now to detect if a query engine is compatible with a certain backend / updater. We may want to have that, but I think that should go to a separate issue - could you file that as an enhancement request? |
Let me know when you change to the combobox and I'll try this out again :-). |
Hi Betty - any updates on this? |
Hi Antonio, sorry for the delay. I had some issues trying to update the plugins when there are factory type changes (either local or remote). There is only a method |
Thanks for the comment! I have added in b19c680 a new verb to the Hawk Thrift API called I have also tweaked all Hawk plugin types so they implement a base |
Thanks for doing this Antonio! I have now successfully rebased my changes onto the latest commit on master. Thanks for adding the The
I think the |
Oh, I see the problem. In fact, the The remote implementation will still return a list of IHawkPlugin implementations, but these will be simple data holders and will be devoid of any real functionality. |
The local Hawk factories are still going to return null: in these cases, you will need to rely on the HManager. We want Hawk to be usable outside OSGi, so all the OSGi-based extensibility is concentrated there.
Done: IHawkFactory#listPlugins now returns a In short, you should try the factory's (BTW, you will have to rebase your branch on top of the latest master: Github is reporting conflicts. See above.) |
dd62e99
to
89db535
Compare
Hey, is this ready to try out? |
Hi Antonio, yes it is. I have added the combo box, and merged all our changes. Sorry I had to squash and force-push. Plugin updates are working fine depending on the type of factory. You can try it out. |
I'm trying this out now. I have noticed a few minor niggles in the UI - for instance, the list of plugins was being updated every time anything was touched, and not just the factory / remote instance URL. I have fixed that, and I've improved a few strings here and there and added sorting of updaters and backends. I am noticing some issue with the EMF model parser not being picked up on creation - looking into this now. |
I have merged this into master, with a number of fixes and minor tweaks on top. I had to add query engines after all into the configuration. The indexer needs to have the query engines registered into it for computing derived features, after all :-). Thanks for your work! |
Thanks Antonio! Glad it's been merged :) |
Hi,
I modified the UI to make the different kinds of required plugins clearer. The output is the following:
Let me know if you have any comments.