Wait! Looks like we don't have enough information to add this to bug database. Please follow this template bug format.
  1. #1
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    104
    Vote Rating
    3
    gatherworks is on a distinguished road

      0  

    Default Project Inspector Quick Open

    Project Inspector Quick Open


    In a big project, it becomes real hard to find the class that you are looking for and many hours are wasted each day scrolling up and down the list trying to find something. So I have been asking for a better way to do this for a while. Now that Architect is not messing up SVN anymore, I was able to try the new Quick Open in Architect 2.2 and I am a little disappointed.

    I search for something and nothing makes sense to me. I get a long list and i expect something near the top to be what I am looking for... however it does not even contain the word that I entered most of the time.

    Can someone please explain to me what this new Quick Open is and what I should expect from it.

    Also, I really need a way to find any class or view that contains a word that I search for... It should be anywhere in the class name or title. That is what I was hoping this would be

  2. #2
    Sencha - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default


    Quote Originally Posted by gatherworks View Post
    however it does not even contain the word that I entered most of the time.

    Can someone please explain to me what this new Quick Open is and what I should expect from it.

    Also, I really need a way to find any class or view that contains a word that I search for... It should be anywhere in the class name or title.
    Hrm Could you give us some examples of the class names and what you are searching for?

    The algorithm provides priority to classnames and packages.

    As for some examples:
    If we are searching for "ist" and there are two results "list" and "isthmus", we will prefer "isthmus" since it is the beginning of the word.
    If we are searching for "List" and there are two results "foo.List" and "VoterList", we will prefer "foo.List" because we break up on the package.

    Exact matches always get the most priority and other than that we require that what is entered is at least 30% of the word:
    http://en.wikipedia.org/wiki/Fuzzy_string_searching

    This allows us to pick up some results that you perhaps misspelled, etc
    Aaron Conran
    @aconran
    Sencha Architect Development Team

  3. #3
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    104
    Vote Rating
    3
    gatherworks is on a distinguished road

      0  

    Default


    Thanks - must be something with my project then, because I am not seeing the results as described.

    Where should I email the project to?

  4. #4
    Sencha - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default


    Quote Originally Posted by gatherworks View Post
    Where should I email the project to?
    architect.feedback at sencha.com and reference this thread; give us some details about what you are searching for; etc
    Aaron Conran
    @aconran
    Sencha Architect Development Team

  5. #5
    Sencha - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default


    After looking through the project, the problem was Quick Open only searches top level classes and looks for their classnames.

    It does NOT currently look for itemId or id.
    Aaron Conran
    @aconran
    Sencha Architect Development Team

  6. #6
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    104
    Vote Rating
    3
    gatherworks is on a distinguished road

      0  

    Default


    Thanks for taking a look.

    The confusing part is that when you search for "volunteer", you get a long list of things that makes no sense... instead of an empty list. So the assumption is that something inside must be matching it, but it is not what is expected.

    My recommendation would be to have an empty list instead of a list that is totally wrong.

    Also, it would be really helpful if it searches itemId, Id and titles on windows. Any plans to add that?

    PS: After playing with it some more, it mostly works great. My initial searches gave results that made no sense causing the initial disappointment. Now I love it

  7. #7
    Sencha - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default


    Some debugging/technical details.

    We match for anything that is 30% like a word. We handle transpositions, missing characters, etc

    basically the problem is that all of these results are over 30% like the word "volunteer". We split it each classname up by their namespaces; and always put priority on classes (rather than namespaces). What we don't account for... (yet) is if a search term is almost as long as what we are searching against and is still such a low % match then we should exclude it.

    adminapp.view.onlineusers:0.4545454545454546
    adminapp.model.duetxmodel:0.30000000000000004
    adminapp.view.accountpref:0.36363636363636365
    adminapp.view.studentedit:0.36363636363636365
    adminapp.view.courseedit:0.30000000000000004
    adminapp.model.uprefmodel:0.30000000000000004
    adminapp.model.statemodel:0.30000000000000004
    adminapp.model.stimemodel:0.30000000000000004
    adminapp.model.ttimemodel:0.30000000000000004
    adminapp.model.qtestmodel:0.30000000000000004
    adminapp.store.levelstore:0.30000000000000004
    adminapp.view.quizanswers:0.36363636363636365
    adminapp.store.duetxstore:0.30000000000000004
    adminapp.store.adminstore:0.30000000000000004
    adminapp.store.phonestore:0.30000000000000004
    adminapp.store.monthstore:0.30000000000000004
    adminapp.store.qbankstore:0.30000000000000004
    adminapp.model.accountmodel:0.33333333333333337
    adminapp.model.countrymodel:0.33333333333333337
    adminapp.model.studentmodel:0.33333333333333337
    adminapp.model.levelmodel:0.30000000000000004
    adminapp.view.teacheredit:0.36363636363636365
    adminapp.store.statestore:0.30000000000000004
    adminapp.store.stimestore:0.30000000000000004
    adminapp.store.ttimestore:0.30000000000000004
    adminapp.store.qteststore:0.30000000000000004
    adminapp.store.enrollstore:0.36363636363636365
    adminapp.store.countrystore:0.33333333333333337
    adminapp.store.accountstore:0.33333333333333337
    adminapp.store.studentstore:0.33333333333333337
    adminapp.model.documentmodel:0.3846153846153846
    adminapp.view.enrollpreface:0.3076923076923077
    adminapp.store.endtimestore:0.33333333333333337
    adminapp.store.invoicestore:0.33333333333333337
    adminapp.store.holidaystore:0.33333333333333337
    adminapp.store.timelinestore:0.3076923076923077
    adminapp.store.calendarstore:0.3076923076923077
    adminapp.store.documentstore:0.3846153846153846
    adminapp.model.opstudentmodel:0.3571428571428571
    adminapp.view.teachertxlist:0.3076923076923077
    adminapp.model.teachermodel:0.33333333333333337
    adminapp.store.teacherstore:0.33333333333333337
    adminapp.store.termsetstore:0.33333333333333337
    adminapp.store.opfamilystore:0.3076923076923077
    adminapp.store.shortcutstore:0.3076923076923077
    adminapp.store.timezonestore:0.3076923076923077
    adminapp.store.opstudentstore:0.3571428571428571
    adminapp.store.cmsthemestore:0.3076923076923077
    adminapp.store.onlineuserstore:0.33333333333333337
    adminapp.model.onlineusermodel:0.33333333333333337
    adminapp.view.admin_teacherpay:0.3125
    adminapp.controller.application:0.4
    adminapp.store.opfamilystudentstore:0.30000000000000004
    adminapp.controller.windowcontroller:0.4
    adminapp.controller.desktopcontroller:0.4
    adminapp.controller.teachercontroller:0.4
    Aaron Conran
    @aconran
    Sencha Architect Development Team

  8. #8
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    104
    Vote Rating
    3
    gatherworks is on a distinguished road

      0  

    Default


    Thanks for the research. At least we understand why it is behaving the way it does... the challenge is that the results are not logical for human beings.

    Maybe the algorithm is too aggressive? How about showing only things above a high number (such as 90%) and then an option in the menu to show more... then you can show these?

Thread Participants: 1