Skip to content

Unified search introduction #9917

Description

@skjnldsv

Since the implementation of the ISearch component, apps have the possibility to add their search provider classes to our instance. One of the downside is the way it's been implemented.
Currently the script is looking for a specific div id on the page and IFF it's present the global search is enabled and added into this div.

That means if I add this div on the contacts app, for example, I will be able to search the FileSearchProvider on the contacts page... Which is a nonsense.

Changes

  • With the new standard on New search standard and user search #9912 we can register per-app javascript search handler.
  • This should stay this way. Search on the top right header need to stay this way.
  • In the meantime, the idea of a global search is great. I'm suggesting adding this for the whole instance with a popup similar to the contactsmenu.

Activity

  1. added this to the Netcloud 15 milestone on Jun 19, 2018
  2. self-assigned this
    on Jun 19, 2018
  3. binaryhq commented on Sep 9, 2018

    @binaryhq

    global search with a popup similar to contactsmenu would be ideal.

  4. MorrisJobke commented on Nov 5, 2018

    @MorrisJobke
    Member

    @skjnldsv Let's move this to 16

  5. MorrisJobke commented on Feb 25, 2019

    @MorrisJobke
    Member

    Let's move it to 17.

  6. jancborchardt commented on Mar 13, 2019

    @jancborchardt
    Member

    In the meantime, the idea of a global search is great. I'm suggesting adding this for the whole instance with a popup similar to the contactsmenu.

    @skjnldsv @daita As we talked about, this is what we had in earlier versions of Nextcloud. :) Some blast from the past screenshots I found:

    The issue is that this was not very well integrated. It creates a completely separate view (the popup) which is a different place. Right now, we directly show results where normally the content is displayed. We filter Contacts, Apps, Files directly where they are displayed normally. It’s very nice and integrated and we should keep it that way. We get the added benefit that the layout and all file actions are available directly there and we don’t need to duplicate.

    Search has 3 use-cases:

    1. You want to quickly find something in the current folder. (Filtering is enough here, and it’s very fast.)
    2. It might not be where you expect and it should search through the rest of the current app.
    3. Just because we can, we also display results from the rest of Nextcloud.

    Now the current search already does 1. and 2. for Files, and it’s reasonably nice and integrated. Adding results from other apps should also add it at the bottom, just like results from other places in Files – not change the whole interface. :)

    We can use the simple results layout we already use for search results from other places:

    • Image/thumbnail on the left
    • First primary row
    • Secondary row

    Search results from other places:
    Search results layout

    Mail app messages:
    Mail app layout

    Files recommendations:
    Layout recommendations

    Contacts:
    Contacts layout

    So you see it’s basically the same already, and that’s the layout we use for 2. (results from other folders) already, and can also use for 3. (results from other apps).

  7. removed this from the Nextcloud 17 milestone on Aug 1, 2019
  8. skjnldsv commented on Aug 1, 2019

    @skjnldsv
    MemberAuthor

    Now the current search already does 1. and 2. for Files, and it’s reasonably nice and integrated. Adding results from other apps should also add it at the bottom, just like results from other places in Files – not change the whole interface. :)

    I'm really not sure on this one.
    What if what you search have a lots of results? You get 4000px to scroll your current folder then 4000+ to scroll to search amongst other results ?
    I still feel like the ui is off here and not very performant 😃
    I think we can do better. How does other platforms do it?

    @jancborchardt regarding the design similitudes, I agree, looks very similar.
    If the files are displaying it as grid layout, how shall we display the results?
    Same design you screenshoted?
    Also, where does the unified search aim to be accessible? Only from files?
    From all apps is impossible as we have tons of different designs and we cannot inject elements without breaking something 😉

  9. jancborchardt commented on Aug 6, 2019

    @jancborchardt
    Member

    If the files are displaying it as grid layout, how shall we display the results? Same design you screenshoted?

    Yes. The results view from others should always be the same, independent of the view of the current app. Also compare Bookmarks app, which is a very special and fitting grid view – results from the same app should filter in the style of that app, but results from other places should have one common style.

    Also, where does the unified search aim to be accessible? Only from files?
    From all apps is impossible as we have tons of different designs and we cannot inject elements without breaking something wink

    Not only from Files for sure. :)

    • Possibly below the existing filters in the app-content-list
    • Or having a control/tooltip/something inside the search field or below it to "Show results from other apps" optionally

    Another bigger question is also the placement of search. Right now it’s in the top right, which is really difficult to discover. We could:

    • Do it like google and center it in the header and make it more obvious. This interferes with our app list of course, and is also maybe a bit too present? Also it doesn’t work well on mobile at all anyhow.
    • Put a search box in the top of the left navigation of every app. All the core apps basically have a left navigation now so this would be possible. It would make it very clear that primarily it filters the content from the current app.
  10. skjnldsv commented on Aug 6, 2019

    @skjnldsv
    MemberAuthor
    • Or having a control/tooltip/something inside the search field or below it to "Show results from other apps" optionally

    Then, maybe replace the entire view if enabled?
    A bit like github does with the 'search this repo' and 'search github'?

  11. jancborchardt commented on Aug 7, 2019

    @jancborchardt
    Member

    I’d say for this actually a modal is proper, as it shows content which is out of the current app. This is better than replacing the entire view, since with a modal your context is not completely lost.

  12. added this to the Nextcloud 20 milestone on Mar 30, 2020
  13. added and removed
    1. to developAccepted and waiting to be taken care of
    on Jul 6, 2020
  14. linked a pull request that will close this issueEnh/unified search #21971on Jul 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions