IvyDE
  1. IvyDE
  2. IVYDE-104

Make the classpath entries order configuration UI more intuitive

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0.alpha1
    • Fix Version/s: 2.0.0.beta1
    • Component/s: classpath container
    • Labels:
      None
    • Environment:

      Eclipse 3.3.2

      Description

      The display listing of libraries resolved in Eclipse package explorer should be in some kind of predictable order. It can be frustrating when you are looking through a long list of libraries and can't see the one you are looking for fast.

      Right now, libraries are listed in what appears to be random order and should either be in order of resolution or (preferrably) sorted order by library name.

        Activity

        Hide
        Maarten Coene added a comment -

        There is an option on the IvyDE configuration page to order the resolve libraries alphabetically.
        Did you activate that option?

        Show
        Maarten Coene added a comment - There is an option on the IvyDE configuration page to order the resolve libraries alphabetically. Did you activate that option?
        Hide
        Jason A. Guild added a comment -

        I just found that option, activated it, and it does seem to work.

        However it's a bit obscure to look in the workspace Ivy preferences for it.

        I was thinking you should be able to use the context menu on the ivy.xml classpath icon in the package explorer to select an 'Order By' item and choose an ordering from a list of supported orderings. I'd imagine that the only two orderings that matter are resolution order and name order.

        When IvyDE supports project-specific configurations for IvyDE, this ordering preference would be stored there and override whatever the workspace Ivy preferences have as defaults.

        Show
        Jason A. Guild added a comment - I just found that option, activated it, and it does seem to work. However it's a bit obscure to look in the workspace Ivy preferences for it. I was thinking you should be able to use the context menu on the ivy.xml classpath icon in the package explorer to select an 'Order By' item and choose an ordering from a list of supported orderings. I'd imagine that the only two orderings that matter are resolution order and name order. When IvyDE supports project-specific configurations for IvyDE, this ordering preference would be stored there and override whatever the workspace Ivy preferences have as defaults.
        Hide
        Nicolas Lalevée added a comment -

        IvyDE does support project specific configuration so you can set this by project. Enter in the configuration of the classpath container and look at the "Advanced" tab (http://ant.apache.org/ivy/ivyde/history/latest-milestone/cp_container.html)

        Show
        Nicolas Lalevée added a comment - IvyDE does support project specific configuration so you can set this by project. Enter in the configuration of the classpath container and look at the "Advanced" tab ( http://ant.apache.org/ivy/ivyde/history/latest-milestone/cp_container.html )
        Hide
        Jason A. Guild added a comment -

        This issue was not about project-specific preferences for IvyDE. I understand that IvyDE supports this, but it's broken in 2.00alpha1 and doesn't appear to have an override for library ordering anyway, so please read on:

        It is about how to order the resolved libraries and I think IvyDE UI could stand improvements in this area. You should be able to use the context menu on the ivy.xml classpath icon in the package explorer to select an 'Order By' item and choose an ordering from a list of supported orderings. I'd imagine that the only two orderings that matter are resolution order and name order. That is my suggestion for an improvement.

        Please look more closely at issues before making an irrelevant offhand comment and closing it as "invalid".

        Show
        Jason A. Guild added a comment - This issue was not about project-specific preferences for IvyDE. I understand that IvyDE supports this, but it's broken in 2.00alpha1 and doesn't appear to have an override for library ordering anyway, so please read on: It is about how to order the resolved libraries and I think IvyDE UI could stand improvements in this area. You should be able to use the context menu on the ivy.xml classpath icon in the package explorer to select an 'Order By' item and choose an ordering from a list of supported orderings. I'd imagine that the only two orderings that matter are resolution order and name order. That is my suggestion for an improvement. Please look more closely at issues before making an irrelevant offhand comment and closing it as "invalid".
        Hide
        Nicolas Lalevée added a comment -

        Sorry but it wasn't clear in your comment that you are only requesting for adding a shortcut for a feature that already exists.

        it's broken in 2.00alpha1

        could you be more precise about what is broken ?

        and doesn't appear to have an override for library ordering anyway

        Doesn't the option "Order alphabetically the classpath entries" feeds your need ?

        Then about that shortcut in a context menu I am afraid that will not be possible in the general case. In the case the project is not configured "locally", and is relying on the global configuration, having a entry to configure the order locally has no sense.

        Show
        Nicolas Lalevée added a comment - Sorry but it wasn't clear in your comment that you are only requesting for adding a shortcut for a feature that already exists. it's broken in 2.00alpha1 could you be more precise about what is broken ? and doesn't appear to have an override for library ordering anyway Doesn't the option "Order alphabetically the classpath entries" feeds your need ? Then about that shortcut in a context menu I am afraid that will not be possible in the general case. In the case the project is not configured "locally", and is relying on the global configuration, having a entry to configure the order locally has no sense.
        Hide
        Jason A. Guild added a comment - - edited

        Sorry for the confusion. I mixed multiple points together hastily.

        Editing and applying workspace-level options works just fine as you expect, including the "Order alphabetically the classpath entries" feature. However:

        1. The feature is one of many (and last) on a busy property screen which caused me to miss it in the first place. It should be made more prominent.
        2. I don't like the UI (a check box for that), because it doesn't give any indication what order the libraries will be display in when it is NOT checked...which was one reason for my opening this issue in the first place – the displayed libraries didn't appear to be in any order to me. Instead, I propose this option be exposed as a drop box or radio group with two items "resolution", "alphabetical" to make it clear. If other orderings/groupings make sense (e.g. grouped by organization) then those should be listed there as well.

        In 2.00alpha1, enabling project-specific Ivy-configuration is broken for me. When I enable the project-specific configuration the whole plugin blows up and I lose my classpath container entirely. But that is beside the point...even if it was working properly, my other point is that the project-specific Ivy configuration page/screen does not ALSO have a way to specify an project-specific ordering for display of libraries which is separate from the workspace configuration. Perhaps this is not so important though.

        Then about that shortcut in a context menu I am afraid that will not be possible in the general case. In the case the project is not configured "locally", and is relying on the global configuration, having a entry to configure the order locally has no sense.

        After thinking a bit about this, I see what you mean about the inconsistent semantics. I was attempting address my #1 above, thinking that adding an item to the context menu would make the option more prominent.

        Though my suggestions may not be optimal, I think my points #1 and #2 above are legitimate usability problems which should be addressed. Thanks for your patience.

        Show
        Jason A. Guild added a comment - - edited Sorry for the confusion. I mixed multiple points together hastily. Editing and applying workspace-level options works just fine as you expect, including the "Order alphabetically the classpath entries" feature. However: The feature is one of many (and last) on a busy property screen which caused me to miss it in the first place. It should be made more prominent. I don't like the UI (a check box for that), because it doesn't give any indication what order the libraries will be display in when it is NOT checked...which was one reason for my opening this issue in the first place – the displayed libraries didn't appear to be in any order to me. Instead, I propose this option be exposed as a drop box or radio group with two items "resolution", "alphabetical" to make it clear. If other orderings/groupings make sense (e.g. grouped by organization) then those should be listed there as well. In 2.00alpha1, enabling project-specific Ivy-configuration is broken for me. When I enable the project-specific configuration the whole plugin blows up and I lose my classpath container entirely. But that is beside the point...even if it was working properly, my other point is that the project-specific Ivy configuration page/screen does not ALSO have a way to specify an project-specific ordering for display of libraries which is separate from the workspace configuration. Perhaps this is not so important though. Then about that shortcut in a context menu I am afraid that will not be possible in the general case. In the case the project is not configured "locally", and is relying on the global configuration, having a entry to configure the order locally has no sense. After thinking a bit about this, I see what you mean about the inconsistent semantics. I was attempting address my #1 above, thinking that adding an item to the context menu would make the option more prominent. Though my suggestions may not be optimal, I think my points #1 and #2 above are legitimate usability problems which should be addressed. Thanks for your patience.
        Hide
        Nicolas Lalevée added a comment -

        For your primary issue, I will make a combo box in place of the check box.

        In 2.00alpha1, enabling project-specific Ivy-configuration is broken for me. When I enable the project-specific configuration the whole plugin blows up and I lose my classpath container entirely. But that is beside the point...even if it was working properly, my other point is that the project-specific Ivy configuration page/screen does not ALSO have a way to specify an project-specific ordering for display of libraries which is separate from the workspace configuration. Perhaps this is not so important though.

        That is weird because in the 2.0.0.alpha1, it is possible.
        Could you check the version you are running ? (look for an "org.apache.ivyde.eclipse" in Help>About Eclipse SDK>Plugins Details)

        But I agree with you, there are a lot of configuration fields in the UI, and this can be confusing. And more option are coming with IVYDE-13 and IVYDE-106. I think we need a little of refactoring here, see IVYDE-119 I have just opened.

        Show
        Nicolas Lalevée added a comment - For your primary issue, I will make a combo box in place of the check box. In 2.00alpha1, enabling project-specific Ivy-configuration is broken for me. When I enable the project-specific configuration the whole plugin blows up and I lose my classpath container entirely. But that is beside the point...even if it was working properly, my other point is that the project-specific Ivy configuration page/screen does not ALSO have a way to specify an project-specific ordering for display of libraries which is separate from the workspace configuration. Perhaps this is not so important though. That is weird because in the 2.0.0.alpha1, it is possible. Could you check the version you are running ? (look for an "org.apache.ivyde.eclipse" in Help>About Eclipse SDK>Plugins Details) But I agree with you, there are a lot of configuration fields in the UI, and this can be confusing. And more option are coming with IVYDE-13 and IVYDE-106 . I think we need a little of refactoring here, see IVYDE-119 I have just opened.
        Hide
        Jason A. Guild added a comment -

        That is weird because in the 2.0.0.alpha1, it is possible. Could you check the version you are running ? (look for an "org.apache.ivyde.eclipse" in Help>About Eclipse SDK>Plugins Details)

        I am definitely running 2.0.0.alpha1 as reported by Help>About Eclipse SDK>Plugins Details. However, I am using a build from SVN that I produced myself which was several weeks ahead of the actual 2.0.0.alpha1 release so I don't 100% know that changes were made which affect my experience in the official alpha release.

        I'll try to make some time to install the official release and see if the problem still manifests itself.

        Show
        Jason A. Guild added a comment - That is weird because in the 2.0.0.alpha1, it is possible. Could you check the version you are running ? (look for an "org.apache.ivyde.eclipse" in Help>About Eclipse SDK>Plugins Details) I am definitely running 2.0.0.alpha1 as reported by Help>About Eclipse SDK>Plugins Details. However, I am using a build from SVN that I produced myself which was several weeks ahead of the actual 2.0.0.alpha1 release so I don't 100% know that changes were made which affect my experience in the official alpha release. I'll try to make some time to install the official release and see if the problem still manifests itself.
        Hide
        Nicolas Lalevée added a comment -

        So I have put combo boxes in place of the check boxes.
        If you really have issues with the project specific settings Jason, please open another Jira issue.

        Show
        Nicolas Lalevée added a comment - So I have put combo boxes in place of the check boxes. If you really have issues with the project specific settings Jason, please open another Jira issue.

          People

          • Assignee:
            Nicolas Lalevée
            Reporter:
            Jason A. Guild
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development