Bug 950315 - Use AJAX for the component list when creating bugs
Use AJAX for the component list when creating bugs
Status: CLOSED CURRENTRELEASE
Product: Bugzilla
Classification: Community
Component: Creating/Changing Bugs (Show other bugs)
4.2
Unspecified Unspecified
unspecified Severity unspecified (vote)
: ---
: ---
Assigned To: Simon Green
tools-bugs
: Performance
: 950310 (view as bug list)
Depends On:
Blocks: 1016162
  Show dependency treegraph
 
Reported: 2013-04-10 00:55 EDT by Roman Joost
Modified: 2014-10-27 17:51 EDT (History)
9 users (show)

See Also:
Fixed In Version: 4.4.0009
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-03 20:45:41 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Roman Joost 2013-04-10 00:55:38 EDT
Description of problem:
The performance report from Jason identified a problem with the page load when filing/querying Fedora specific bugs. The Fedora component list shows more than 16000 entries and growing.

This causes a performance problem and a usability problem.

More information:

https://engineering.redhat.com/trac/eng-infra/wiki/PerformanceReportBugzillaFeb2013#a3.3VariableContentinBugzillasHTMLpages

How reproducible:
100%


Steps to Reproduce:
1. File a new bug report against Fedora and choose a component.
  
Actual results:
The selection is too long.

Expected results:
A shorter or rather narrowed down list of components.

Additional info:
Specification on how to implement this follows.
Comment 2 Simon Green 2013-04-15 00:04:59 EDT
*** Bug 950310 has been marked as a duplicate of this bug. ***
Comment 6 Petr Spacek 2013-09-10 03:41:14 EDT
I tried to enter a bug at https://sgreen.bugzilla.devel.redhat.com/bug950315/enter_bug.cgi and I found this:
'Component Description' is not shown and updated if I hover with mouse inside the row with component but outside of the text. See attached picture to see what I mean.

The 'Component Description' is not updated if I click to the row but outside of the text.

It would be nice if 'Component Description' indicates somehow that browser waits for data refresh. On my system (located in Brno office) it takes 3-4 seconds to get new data to the box. Some intermediate text like '... looking for Component Description, please wait ...' could be nice.

Anyway, thank you for working on this!
Comment 7 Jeff Bastian 2013-09-10 12:06:18 EDT
Can this be used for the component list on Advanced Searches too?  The Refresh Components button is ok, but it's still slow.

Also, sometimes I want to search multiple components if I'm not sure which component might be the root cause of the problem.  For example, if I want to search for bugs on both abrt and libreport, I can
  1. click the first component in the list
  2. type 'abrt' and it will jump down to abrt and select it
  3. now, I have to scroll down to libreport which is tricky
     when the list is so long
  4. finally, CTRL-click on libreport to add it to the selection

It would be really nice if I could just enter "abrt, libreport, libfoo" in a field to search for all 3 components at once.
Comment 8 Petr Spacek 2013-09-11 04:07:33 EDT
(In reply to Petr Spacek from comment #6)
BTW, would it be possible to use AJAX for populating standard form list? I.e. add a text box above the old list and avoid custom implementation of the drop-down list? It would solve issues I described in comment #6.
Comment 9 Kevin Fenzi 2013-09-11 12:52:20 EDT
Also, would it be possible to look at using this same list in other places where component list is currently being created/sent? For example, when re-assigning a bug, instead of waiting for the entire list if we could just enter the new component that would be much quicker/easier.
Comment 10 Simon Green 2013-09-18 20:50:49 EDT
(In reply to Petr Spacek from comment #6)
> I tried to enter a bug at
> https://sgreen.bugzilla.devel.redhat.com/bug950315/enter_bug.cgi and I found
> this:
> 'Component Description' is not shown and updated if I hover with mouse
> inside the row with component but outside of the text. See attached picture
> to see what I mean.

I fixed the problem with it updating, but not the hover. I don't think this can be fixed.
 
> The 'Component Description' is not updated if I click to the row but outside
> of the text.

Fixed.
 
> It would be nice if 'Component Description' indicates somehow that browser
> waits for data refresh. On my system (located in Brno office) it takes 3-4
> seconds to get new data to the box. Some intermediate text like '... looking
> for Component Description, please wait ...' could be nice.

We now have the little spinny wheel in place while the AJAX call is being made.


(In reply to Kevin Fenzi from comment #9)
> Also, would it be possible to look at using this same list in other places
> where component list is currently being created/sent? For example, when
> re-assigning a bug, instead of waiting for the entire list if we could just
> enter the new component that would be much quicker/easier.

That is something we will consider a little later. I want to see how this goes before implementing it in other screens. In the show bug screen, the list is only shown if you click the '(edit)' link next to the component (exception is the Fedora product under Chrome, do to a limitation in Chrome).

Please try the link again, and let me know if you have any additional feedback. Thanks.

  -- simon
Comment 11 Petr Spacek 2013-09-19 02:45:08 EDT
(In reply to Simon Green from comment #10)
> (In reply to Petr Spacek from comment #6)
> > I tried to enter a bug at
> > https://sgreen.bugzilla.devel.redhat.com/bug950315/enter_bug.cgi and I found
> > this:
> > 'Component Description' is not shown and updated if I hover with mouse
> > inside the row with component but outside of the text. See attached picture
> > to see what I mean.
> 
> I fixed the problem with it updating, but not the hover. I don't think this
> can be fixed.

I belive that this problem could be solved if you use implementation based on comment #8 - use standard list form instead of list drawn by Javascript.

> > It would be nice if 'Component Description' indicates somehow that browser
> > waits for data refresh. On my system (located in Brno office) it takes 3-4
> > seconds to get new data to the box. Some intermediate text like '... looking
> > for Component Description, please wait ...' could be nice.
> 
> We now have the little spinny wheel in place while the AJAX call is being
> made.
Nice. Could you add test "Searching component list ..."/"Waiting for server ..." (or something like that) besides the spinning wheel? I'm from old school and I like explanatory texts :-)

Good work! It seems nice!
Comment 12 Simon Green 2013-10-03 20:45:41 EDT
This change is now live. If there are any issues, do not reopen this bug.
Instead, you should create a new bug and reference this bug.

  -- simon

Note You need to log in before you can comment on or make changes to this bug.