You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Thomas Bernhard (JIRA)" <de...@cayenne.apache.org> on 2007/10/19 13:30:52 UTC

[JIRA] Created: (CAY-888) CM Usability: Object Select Query Improvements

CM Usability: Object Select Query Improvements
----------------------------------------------

                 Key: CAY-888
                 URL: https://issues.apache.org/cayenne/browse/CAY-888
             Project: Cayenne
          Issue Type: New Feature
          Components: CayenneModeler GUI
            Reporter: Thomas Bernhard
            Assignee: Andrus Adamchik


Object Select Query UI should be smarter and more usable:
#1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.

#2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").

#3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
    [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12936#action_12936 ] 

Kevin Menard commented on CAY-888:
----------------------------------

You're right.  I've been dealing with Web apps too long.  There it is customary to bubble up an error message on a field.  My only complaint about tooltips is that for some messages they are simply too long.  But, there likely isn't much that can be done about that.

I've been unable to reproduce the root not being set.  If I do, I'll let you know.

I committed the second patch.  The code quality was very good.  I only had to make minimal changes.  Before I close the issue, however, can you please investigate persisting the split pane sizes?  It's definitely nice to be able to change the pane sizes on the orderings and prefetches, but those values are lost as soon as the Modeler is closed.  If they could be saved in preferences on a per project basis, that would be ideal.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Menard closed CAY-888.
----------------------------

       Resolution: Fixed
    Fix Version/s: 3.0

I think things are good to go as of Andrey's third patch.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>             Fix For: 3.0
>
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888-3.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Andrey Razumovsky (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Razumovsky updated CAY-888:
----------------------------------

    Attachment: patch-CAY-888.txt

#1. Done.  works this way: some time after end of user's input (currently 1,5 sec) qualifier text field is verified and set red if something's wrong (and tooltip shows the error message).
Advanced checking include standard syntax checking, and, as mentioned before, checking that all paths can be resolved for query root. If root is not selected, this is skipped.
If you have any ideas of what else to check, please tell me.

#2. Done
#3 Done.


> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Andrey Razumovsky (JIRA)" <de...@cayenne.apache.org>.
    [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12874#action_12874 ] 

Andrey Razumovsky commented on CAY-888:
---------------------------------------

While #2 and #3 subtasks are plain and simple, the first one is more complicated. The problem is that Expression.fromString() succeeds without any exceptions even if some attributes are typed wrong and absent in entity (and that seems to be Users' main headache). So the only think i can suggest here is to iterate through AST tree and check ASTPath nodes.  
What do you think about this idea? Otherwise, we'll be able to perform only weak checking (and it already exists, actually).

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
    [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914#action_12914 ] 

Kevin Menard commented on CAY-888:
----------------------------------

This patch breaks the Query Root selector as well.  Arrow keys do not scroll through the list properly and it appears that even after a choice is made, it's not persisted.  I.e., I can switch to the "Orderings" tab and it will tell me that no query root has been selected yet.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
    [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12942#action_12942 ] 

Kevin Menard commented on CAY-888:
----------------------------------

The new wrapped tooltips look great.  I added a closing </html> to your code since it seemed to be missing one.

The preference locations wouldn't save with my existing preferences.  I had to blow them out in order for anything to work.  This may be fine however as I've had to do this several times with the Cayenne 3 milestones anyway.

I'm going to commit the code to close out the issue.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888-3.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Menard reassigned CAY-888:
--------------------------------

    Assignee: Kevin Menard  (was: Andrus Adamchik)

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Andrey Razumovsky (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Razumovsky updated CAY-888:
----------------------------------

    Attachment: patch-CAY-888-2.txt

As for #1, I actually had no plans to show any popups. I mean that tooltip text for the textfield is set with error description (the one is visible when you pause the mouse on the field). That's the way it is done in most IDEs. User types something, then checking goes after some delay, if something's wrong text usually goes curved underline (we've got a single textfield, so that's just red background). When you move mouse to the malformed text, you see detailed description. So i changed nothing in this part (if you have any suggestions - please tell me).

The patch (it must be applied to rep code) cleans imports and fixes the bug with incorrect scrolling (unexpected popup hiding). Now, the name in the tree changes only after the focus is lost for the combo.
I still cannot reproduce the root not being set ("persisted"). If this continues to occur, please tell me more about the consequence of actions and enviroment it happened at.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Ari Maniatis (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ari Maniatis updated CAY-888:
-----------------------------

    Affects Version/s: 3.0M5

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>    Affects Versions: 3.0M5
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>             Fix For: 3.0
>
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888-3.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Andrey Razumovsky (JIRA)" <de...@cayenne.apache.org>.
     [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Razumovsky updated CAY-888:
----------------------------------

    Attachment: patch-CAY-888-3.txt

Done. Divider locations or orderings and prefetches are now saved in preferences (two different properties). As for tooltips, I added line breaks so now tooltip looks exactly as exception message. Hope this helps

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888-2.txt, patch-CAY-888-3.txt, patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAY-888) CM Usability: Object Select Query Improvements

Posted by "Kevin Menard (JIRA)" <de...@cayenne.apache.org>.
    [ https://issues.apache.org/cayenne/browse/CAY-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913#action_12913 ] 

Kevin Menard commented on CAY-888:
----------------------------------

I can verify that #2 & #3 work as advertised.  I cannot get #1 to work, however.  The field turns red, but I never see a tooltip.  The error message does get printed to the console, however.

Also, there seemed to be a lot of unnecessary import statements leftover.  They're simple enough to clean-up, but if you need to generate another patch, please remove them.

> CM Usability: Object Select Query Improvements
> ----------------------------------------------
>
>                 Key: CAY-888
>                 URL: https://issues.apache.org/cayenne/browse/CAY-888
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: CayenneModeler GUI
>            Reporter: Thomas Bernhard
>            Assignee: Kevin Menard
>         Attachments: patch-CAY-888.txt
>
>
> Object Select Query UI should be smarter and more usable:
> #1 Qualifier field shouldn't be just a dummy text filed. It should be smarter, with validations, or even some sort of completion
> or live checking so that the user quickly can do what he wants and be sure that it's OK. Because this dummy field is very error prone, many CM users avoid "Named Queries". I must admint - even myself - I always type something wrong there.
> #2 When selecting a QueryRoot -> e.g to Person, than the Query Name should be changed too to "PersonQuery", but only in the case the user hasn't manually changed that field to something else than the default generated by CM at dialog open. This is very user friendly (many IDEs offer such "variable suggestion").
> #3 Orderings and Prefetches tab panes should use a JSplitPane to separte the upper and the lower zones. For entities with many fields, the users always have to scroll because one can't simply drag a split pane to adapt the size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.