graylog2-server icon indicating copy to clipboard operation
graylog2-server copied to clipboard

Filtered dropdown widget for users

Open patrickmann opened this issue 3 years ago • 1 comments

What?

Introduce a new drop-down widget that only shows a limited number of users by default. Let's say you have 5000 users in the database. Opening the drop-down would only show the first 50 or 100 entries. Users need to enter a filter criteria to get access to the other entries. We use something like that for the stream selection on the search page.

It should be easy to re-use the widget for other entities besides users. In particular the Search for users and teams drop-down in the sharing dialog which suffers from the same problem.

Why?

When a large number of users are present in Graylog, certain user-related API requests slow and take a long time. There are several issues that contribute to this:

  • backend: determining permissions for a user is complex and there is no obvious way to speed that up
  • frontend: dropdown widget is not designed to render thousands of users; it is slow and there are glitches in rendering
  • transmitting a large JSON payload is time-consuming

This was first raised in #12453, which contains the discussion of pros and cons of various solutions.

Notes

Consider reverting the interim fix #12743 if it is no longer useful.

patrickmann avatar Jun 06 '22 06:06 patrickmann

I will pass this to Ousmane since he already invested a lot of time and effort on it

gally47 avatar Jul 11 '22 09:07 gally47