Fix temporary "users" input on add existing users

Bug #327187 reported by Paul Everitt
4
Affects Status Importance Assigned to Milestone
KARL3
Fix Released
Medium
Balazs Ree

Bug Description

In community membership, the Add Existing User needs a variation on the tagbox. The former is described in the text below.

If we run out of time, we can stick to the KARL2 behavior.

Paul wrote:

"""
I have another potential use of the tagbox-style
autocomplete. I'd like to get an estimate for its use, and see if it
is worthwhile investigating it.

In KARL2, when you create a new community, you are sent to a screen to
add existing KARL users to that community. You can send them an email
message that lets them know they were added.

IIRC, you add existing users one-by-one. Meaning, you get the
autocomplete, but only to choose one user. You then type a message.

That kind of sucks, because you have to repeat the process over and
over. Wouldn't it be nice if we had something like the tagbox, where
you can lookup a person using autocomplete, press enter, lookup
another person, repeat (and remove someone if you changed your mind),
then send a single email message?

There might be some sharp edges on this. Foremost, validation. If we
want to allow the form to fail in any way and return whatever they
typed, we might have a use case that the tagbox doesn't cover. We
could choose to cover this by doing validation during onchange
(meaning, pressing enter or clicking "Add User"). Meaning, we send a
message to the server, it says no, we present an error message
preventing that "caplet" from being created.

Also, it isn't like the normal tagbox case, where we update as we
type. It's more like the tag-on-adding use case.

We would have to parameterize more of the tagbox, e.g. the text for
the button.

Anyway, I want to be careful about going beyond the basics of "Port
KARL2". We don't *HAVE* to improve the user experience on that screen.

Note that, if we *DO* think it is realistic, I'll ask similar
questions for the "Invite New User" screen. :^)
"""

And Balazs replied:
"""
Validation does work on the Add Blog page. So we can do the same, plus
we can add constraints to the taglist value as well.

If we follow this approach we would also use the tagbox in form-mode in
these use cases, which means we don't need any ajax to happen, just let
the values submitted and get the server do the right thing.

If, the form validation fails, then the user gets back the previously
entered values, this also works on Add Blog.

Which means yes extra work, but we may be able to choose a way to do it
similarly in each of these usecases.

Maybe, even if we decide we want this we can keep it as low priority,
and only spend time on it when we see that we are good with the
schedule.
"""

Revision history for this message
Chris McDonough (chrism-plope) wrote :

I don't see the autocomplete stuff working, although when I hit "add" I do get a box. But submitting the form results in the server rejecting it due to a validation error for the users box; I think the field names are wrong in the POST data.

Changed in karl3:
assignee: nobody → ree
importance: Undecided → Medium
milestone: none → m2
Revision history for this message
Paul Everitt (paul-agendaless) wrote :

I assigned this to Balazs and added Chris as a subscriber. I want to talk quickly about the KARL2 behavior:

- When typing in the input box, the user is typing information about the FirstName+LastName, not the username.

- If you type "Jona" or "jona", then one of the autocomplete entries will say "Jonathan Hooper".

- If you type "Hoo" or "hoo", then one of the autocomplete entries will say "Jonathan Hooper".

- Stated differently, the autocomplete matches on the first letters of the first name or last name.

- If you press arrow down and press enter, or click the button, or click the entry in the autocomplete, a bubble will be made that says "Jonathan Hooper".

- At the same time, a hidden input field will have a value of jhooper as the username.

- When submitted, we care care about jhooper, not Jonathan Hooper.

Balazs Ree (ree)
Changed in karl3:
status: New → In Progress
Balazs Ree (ree)
Changed in karl3:
status: In Progress → Fix Committed
Changed in karl3:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.