Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unified search introduction #9917

Closed
skjnldsv opened this issue Jun 19, 2018 · 8 comments · Fixed by #21971
Closed

Unified search introduction #9917

skjnldsv opened this issue Jun 19, 2018 · 8 comments · Fixed by #21971
Assignees
Labels
Milestone

Comments

@skjnldsv
Copy link
Member

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.
@skjnldsv skjnldsv added enhancement design Design, UI, UX, etc. 1. to develop Accepted and waiting to be taken care of feature: search labels Jun 19, 2018
@skjnldsv skjnldsv added this to the Netcloud 15 milestone Jun 19, 2018
@skjnldsv skjnldsv self-assigned this Jun 19, 2018
@nextcloud-bot nextcloud-bot added the stale Ticket or PR with no recent activity label Jul 20, 2018
@binaryhq
Copy link

binaryhq commented Sep 9, 2018

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

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Sep 9, 2018
@MorrisJobke
Copy link
Member

@skjnldsv Let's move this to 16

@MorrisJobke
Copy link
Member

Let's move it to 17.

@jancborchardt
Copy link
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).

@skjnldsv skjnldsv removed this from the Nextcloud 17 milestone Aug 1, 2019
@skjnldsv
Copy link
Member Author

skjnldsv commented Aug 1, 2019

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 😉

@jancborchardt
Copy link
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.

@skjnldsv
Copy link
Member Author

skjnldsv commented Aug 6, 2019

  • 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'?

@jancborchardt
Copy link
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.

@skjnldsv skjnldsv added this to the Nextcloud 20 milestone Mar 30, 2020
@skjnldsv skjnldsv added 2. developing Work in progress and removed 1. to develop Accepted and waiting to be taken care of labels Jul 6, 2020
@jancborchardt jancborchardt linked a pull request Jul 27, 2020 that will close this issue
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants