Closed Bug 248533 Opened 20 years ago Closed 13 years ago

Implement typeahead feature for email addresses.

Categories

(Bugzilla :: Bugzilla-General, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 490923

People

(Reporter: gupta_anima, Unassigned)

Details

Attachments

(4 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

I am creating a new bug to load files from AOL codebase to implement this
functionality.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #151637 - Flags: review?
Attachment #151638 - Flags: review?
Attachment #151639 - Flags: review?
Anima: sorry for the delay, the Bugzilla team is pretty busy nowadays :).

We need review on those 3, I've requested it, feel free to do it yourself if you
post newer versions of the patch.

Mainly, we prefer one big patch upon which to do review; if you can suply that,
it would be great!

How does your code handle the scalability issue? The whole list of users is
downloaded into the browser and then autocomplete searches within it, or
communication with the Bugzilla server happens after each keystroke?

If the whole list of usernames is downloaded, we will have scalability issues
(on b.m.o., aka bugzilla.mozilla.org, there are thousands of accounts and that
might be a little harsh to download). Besides there will be privacy issues as
well (the whole emails will be available for download). If it's going to pass
design review and code review at all, it's going to have to be a parameter
(probably boolean) in order to be able to switch off for large Bugzillas with a
large user base.

The ideal solution would be something in the lines of Google Suggest
auto-completion - http://www.google.com/webhp?complete=1&hl=en .

http://developers.slashdot.org/article.pl?sid=04/12/18/0139249&from=rss is an
interesting pointer on how things work. As far as I know it uses a RPC on via
JS's XMLHttp object. If you could research / provide such functionality in the
core Bugzilla code it would be great! Thanks!
Assignee: justdave → gupta_anima
Comment on attachment 151639 [details]
perl code to create the usercache

A few things...

First, patches need to be build as unified diffs and globals.pl is going away.

Second, the list of users each user may see will vary.	It is not possible 
(and is both a security problem and a privacy problem) to permit a client to
fetch the entire user list.

At a bare minimum, this needs an enable/disable (default = disabled).  However,
this is something that would be very useful if you can fix the underlying
problems.

I suggest you look at creating a new CGI that serves requests from specific
users and fetches LIMITed numbers of users starting from a certain point. 
Naturally, the list returned depends on the user who is asking as well as the
start-point of the request.

Having done that, the client can wait until the user has typed the first
several letters and then fetch a block of viewable email addresses.

It may or may not be possible to do this for any reasonable sized site using a
simple typeahead.  However, you could make a picker that pops up and shows a
section of the list.  Since each action to navigate the list could fetch
another block, you would not need to have many hundreds or thousands of names
being slurped by javascript.
Attachment #151639 - Flags: review? → review-
Anima: it would be also very cool if you could estimate when this will get done,
and set the target accordingly.

We have a scheduled feature freeze for Bugzilla 2.20 on 15th of March, so if you
think it would get done by then (review cycles included), feel free to set the
target to 2.20. The other freezes are 6 month apart, so 2.22 is on 15th of
September 2005 and so on. Feel free to pick the one most suitable according to
your estimee.

If you don't have time for it now but might plan to do it in the future, set the
target to future. If you don't have time at all reassign this bug to
nobody@bugzilla.org.
folks,

callion is the brain behind this feature implementation - I only happened to
attach the patch from the customized product - sorry cannot be much help here.
Assignee: gupta_anima → nobody
i was messing around with this a few months back.

i have an incomplete but functional version right now, but there's still quite a
bit of work to do.
Comment on attachment 151637 [details]
autocompletion engine/js code

Removing r? until comment 4 is addressed.
Attachment #151637 - Flags: review?
Attachment #151638 - Flags: review?
here's what i've done so far.  it's not close to review ready.
from memory i was having issues with javascript global variables.
QA Contact: mattyt-bugzilla → default-qa
In late 2006, I welded WICK (http://sourceforge.net/projects/wick/) into my installation of Bugzilla 2.17.6.

Big-picture problems that I don't care about with our corporate installation:

   o Security as mentioned.  We have >200 users on our Bugzilla system; all of them are sent to the client as a Javascript array.  On a public installation, they could easily be grabbed on the client side, and used for malicious purposes.  For internal corporate use, you probably already have access to everyone's e-mail address.

   o Scalability.  Is a feature like this useful on a public installation with 1000s of users?  I'm not sure.  Regardless, with 1000s of users, this code will have to be changed in order to make it more friendly to the server.  I am envisioning a background lookup on each keystroke.  (This is actually on the WICK todo list for some time:  "Add support for data retrieved over an XmlHttpRequest, before user-interaction, and during user-interaction.")  Even with a background lookup, though, it would be possible to grab large lists of addresses (Everything matching "XXX") easily.


Definitely there is huge value to this feature in an office setting.  You know the person's last name but aren't sure how to spell it.  Or, you want to add four people to a cc: list and they all have very long names.  Using auto-completion like this requires just a few taps and then the comma or the tab key, a few more taps and another comma, etc.  If you use Gmail (or even Yahoo mail?), you know what I'm talking about.

WICK looks good and behaves just like the GMail lookup/auto-complete.  I am more than happy to post patches to Bugzilla here.  This feature requires template updates as well as some source updates.  It has been running here for 1.5 years, and users are very pleased with it (would not be without it now that they have it).

(http://en.wikipedia.org/wiki/Bsd_license)

According to the SF project page, WICK uses the BSD license.  Thus, the code can be redistributed, but the original copyright notice must remain in place.  (correct?)

I can attach patches, but it sounds like there are objections to the problems listed above, it may be a waste of time.  
Assignee: nobody → general
Is this obsoleted by the work in bug 386600?
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: