Server: Unified search: followups

Created on 3 Aug 2020  Â·  31Comments  Â·  Source: nextcloud/server

Providers

  • [x] #22011
  • [x] #22020 (@georgehrke)
  • [x] #22095
  • [x] Enabled apps #22102

Needed

Enhancements

  • [ ] Check the additional filters feature, interface for the "in:files" etc #22111
  • [x] Add global event #22526
  • [x] Users & apps filtering

Issues

  • [x] Sort results of currently active app first #22104
  • [x] The search icon should remain white even in dark mode
  • [x] Click load more on paginated type show the loading emptycontent
  • [x] Files are lib/composer/composernot showed with appropriate mime icons
  • [x] When you set the theming color to #FFFFFF and #181818 respectively the section headers are invisible on bright/dark theme.
  • [x] A problem might be that the search is not persistent, as soon as the unified search input is closed, the filtering is reset https://github.com/nextcloud/server/pull/22526#issue-476511478

Unrelated

Documentation

  • [ ] How to implement inner-app search (eventListener prevent default)
  • [ ] Update php API requirements
  • [ ] Simple example

Order

  • [-50] App search itself
  • [-1] Current app
  • [5] Files
  • [10] Comments
  • [15] Talk @nickvergessen
  • [20] Mail @ChristophWurst
  • [25] Contacts
  • [30] Calendar
  • [35] Tasks
  • [500] Settings
  • Install apps - Not implemented
  • Documentation - Not implemented

Future Improvements

  • [x] SHow placeholder instead of loader
  • [ ] Suggestions as emptycontent e.g. pre-filters
  • [ ] See how unified search relates to the Contacts menu (depending on how we improve the Contacts menu)
  • [ ] Alignment further to the right
  • [ ] In the case of Files, for a file or folder which is in the current folder we don’t really need to refresh for the scrollto highlight – possible enhancement?
  • [ ] Define criteria for relevant results and sort them first

cc @jancborchardt

2. developing enhancement pending documentation

Most helpful comment

Yep, @skjnldsv and I talked about this – the idea is indeed to have a universal search like Spotlight, GNOME search, iOS search etc. :) Including current apps, non installed apps, settings etc. :)

All 31 comments

When you set the theming color to #FFFFFF and #181818 respectively the section headers are invisible on bright/dark theme.

Can be fixed by using var(--color-primary-element) instead of just color-primary for the headers. :)

Apps ?
Users ?

@skjnldsv @nickvergessen This actually has a similar problem like Contacts Backend:
https://github.com/nextcloud/server/pull/22011/files#diff-7906ed6e5e203f2a8cdfd4849bc52ba2R99

At the time of registration in boot(), an app doesn't know whether the current user is admin / subadmin.
What i realized after commenting on the Contacts thing:
Since it just returns an empty list, it won't show a Contacts section in the result list, but the placeholder of the search field will still include "Search for ..., Contacts, ...".

Should we extend OCP\Search\IProvider with an isAvailableForUser(IUser $user) method?

We could add a function whether the search provider is applicable which is then invoked/checked when necessary.

Well i wouldn't add a search for apps. That's too confusing. Much more I would add a search for navigation entries, so e.g. searching Talk brings you to the talk app.

Much more I would add a search for navigation entries, so e.g. searching Talk brings you to the talk app.

I think that is a bit too much :thinking: :shrug:

I think that is a bit too much thinking shrug

I think this is a very desirable thing to have @skjnldsv. Every platform that has global search and apps has this feature.
On top of that, both on mobile and desktop operating systems the global search is becoming the main way people navigate and launch apps.

I think this is a very desirable thing to have @skjnldsv. Every platform that has global search and apps has this feature.
On top of that, both on mobile and desktop operating systems the global search is becoming the main way people navigate and launch apps.

Jan said yes! :rocket: So let's add this :tada: :wink:

...and I would also include the search for apps that are not installed, with a redirection to the app store, much like:

Peek 2020-08-04 12-40

(the first search is an installed app, the second one is a not installed app)

On a different note I think that in the future it would be nice to have more space for the results, so that we can include more actions and previews. Like putting it in a big dialog or do a complete UI overlay, similar to what respectively MacOS and Gnome do,

external-content duckduckgo com

Yep, @skjnldsv and I talked about this – the idea is indeed to have a universal search like Spotlight, GNOME search, iOS search etc. :) Including current apps, non installed apps, settings etc. :)

Hi all,
Excuse the offtopic..
I want to ask you about the future of fulltextsearch with this new framework? still have sense support it?
I have people asking me to implement it in my applications. :thinking:

Hey! :)
No problems!

I have people asking me to implement it in my applications.

Fulltextsearch or the unified search?

I have people asking me to implement it in my applications.

Fulltextsearch or the unified search?

Sorry. They ask for fulltextsearch and I understand that it will continue existing on NC 20, but my question is if there is any plan to decprecate it, since they will still be incompatible, but I think this new framework is much more interesting.

I don’t know about the technical underpinnings, but UX wise of course the new search should also be able to do full text search inside of documents.

I assume it’s mostly a question of the fulltextsearch app hooking in to the new unified search API?

You're right.
I guess that the correct proposal should be that fulltextsearch will be integrated as an provider of the unified search.

Since I don't really know where to ask this, or if it needs a separate issue, I just ask here:

What is the planned way to allow apps to filter their content. For the Tasks app, I used the searchBox to allow a user to filter the tasks. The shown tasks would immediately update.
With the searchBox gone, what is the alternative now?

For filtering we suggest an in-app solution, like you find in Talk right now.

The shown tasks would immediately update

@raimund-schluessler please clarify what that means? :)

The shown tasks would immediately update

@raimund-schluessler please clarify what that means? :)

I just meant that the task list would react to the search string locally, no server request needed. Sorry for the confusion.

We'll add a global event for this

We'll add a global event for this

This means an app can hook to the event of a changed search and react / filter locally? No additional in-app search input needed, right?

yes

Is this global event already in place? I couldn't find it in the code yet 😕

Edit: Sorry, I just saw the checkbox is still unticked. Is it planned to ship 20 with it?

Edit: Sorry, I just saw the checkbox is still unticked. Is it planned to ship 20 with it?

Yep, sorry I'm late! :(
We're having the call for this today at 11

I added a global event when changing the search query in https://github.com/nextcloud/server/pull/22526. Feedback is welcome!

  • [x] No results flashes briefly before a search
  • [ ] Do not show apps results if you're on /apps/settings/apps
  • [x] Add loading spinners on unfinished search providers requests
  • [x] Cancel requests on close
  • [ ] When the app does inline filtering and you click somewhere else and the popover closes, the popover doesn’t fully close but the search field still shows?

Can we please get the ability to Search for content based on Tags? Tags are already in the ecosystem, yet are not actually useful for display/searching.

@BloodyIron could you open a separate issue for that? Thanks :)

I was actually told to post it here :/

Yeah, just saw – sorry but that was misinformation :) It’s best to keep requests small and separate.

@BloodyIron , @jancborchardt I am sorry I spread misinformation, it wasn't my intention.

I suggested this issue as it seemed the right place to me. I was just trying to help

Was this page helpful?
0 / 5 - 0 ratings