View Issue Details

IDProjectCategoryView StatusLast Update
0025666mantisbtuipublic2019-07-08 04:41
Reporterdregad Assigned To 
PriorityhighSeverityfeatureReproducibilityhave not tried
Status confirmedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0025666: Replace user selection list with an autocomplete widget progressive remote search
Description

The current user selection widget relies on an HTML SELECT widget, which is fine when there is a small number of entries in the list. However, when there are many users in the system (e.g. on this tracker, which has nearly 40K users as of this writing), the list is unwieldy or even useless, and causes a significant performance issue as it takes a significant amount of time for the server to load the list and the browser to render it (about 40 seconds on the computer I'm using now).

It should be replaced with another mechanism, e.g. an INPUT with autocomplete / progressive search, such as jQueryUI https://jqueryui.com/autocomplete/ or similar.

Although this topic has been discussed several times in the past (0017577, https://github.com/mantisbt/mantisbt/pull/1486 come to mind, but there are probably others references as well), it was never formally logged as a distinct issue AFAICT.

TagsNo tags attached.

Relationships

related to 0017577 assigneddregad Improve print_user_option_list() performance 
related to 0025658 new Require javascript 
has duplicate 0017962 closeddregad Implement auto-complete for reporter field in bug_update_page 
related to 0025901 acknowledgeddregad Manage project page loads ALL users 
related to 0025906 assignedsyncguru Add autocomplete inline popup menu for @mentions while typing 

Activities

dregad

dregad

2019-03-29 09:43

developer   ~0061797

For reference, here's an old attempt at tackling this https://github.com/dregad/mantisbt/commits/dynamic-reporter-select (probably a half-baked, semi-functional work-in-progress, I haven't actually looked at this code since 2015).

cproensa

cproensa

2019-03-29 10:19

developer   ~0061798

This has a dependecy on 0025658
A static alternative can't be offered without defeating this purpose:

  • Cant provide the current selection list as fallback, that's what we want to avoid
  • Cant provide some kind of popup strategy, because that also need js.

Regarding implementation:

  • We removed jqueryui time ago.
  • i see we already include typeahead, iirc, it's only used for very isolated cases. However, if we have a better alternative, those could be migrated too.
  • the server side is probably expected to be implemented by rest api
dregad

dregad

2019-03-29 11:08

developer   ~0061799

This has a dependecy on 0025658
A static alternative can't be offered without defeating this purpose:
Cant provide the current selection list as fallback, that's what we want to avoid

I tend to agree, but at the same time someone intent on not using JavaScript has to accept that Mantis will work in degraded mode, so I would not qualify this as a hard dependency. In other words, I think falling back to the current selection list would be acceptable in this case.

We removed jqueryui time ago.

I know, I just gave that as an example of what I meant by "autocomplete".
I have no particular preference or recommendation with regards to what library to use.

the server side is probably expected to be implemented by rest api

Right.

Issue History

Date Modified Username Field Change
2019-03-29 09:33 dregad New Issue
2019-03-29 09:33 dregad Relationship added related to 0017577
2019-03-29 09:43 dregad Note Added: 0061797
2019-03-29 09:44 dregad Status new => confirmed
2019-03-29 10:19 cproensa Note Added: 0061798
2019-03-29 11:08 dregad Note Added: 0061799
2019-03-29 11:10 dregad Relationship added related to 0025658
2019-07-05 04:38 dregad Relationship added has duplicate 0017962
2019-07-05 05:50 dregad Relationship added related to 0025901
2019-07-08 04:40 cproensa Relationship added has duplicate 0025906
2019-07-08 04:41 cproensa Relationship replaced related to 0025906