Page MenuHomePhabricator

"Check Availability" feature for usernames at registration interface
Closed, ResolvedPublic

Description

Author: svenmanguard

Description:
The proposal at VP:P was:

"I think Wikipedia should implement a "Check Availability" feature for usernames (as offered by YouTube) for editors who are newly registering at Wikipedia. As of now, if a username is already taken, the user have to retype the password and the annoying CAPTCHA after choosing a new username. Implementation of this proposed feature will save a lot of time"

( http://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28proposals%29#.22Check_Availability.22_feature_for_usernames )

As it achieved a unanimous consensus for support, I brought it here.

Sven


Version: unspecified
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=43816
https://bugzilla.wikimedia.org/show_bug.cgi?id=46995
https://bugzilla.wikimedia.org/show_bug.cgi?id=61704
https://bugzilla.wikimedia.org/show_bug.cgi?id=40648

Details

Reference
bz34447

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 12:17 AM
bzimport set Reference to bz34447.

svenmanguard wrote:

Apparently Jorm is already aware of this, and has a screenshot idea at http://en.wikipedia.org/wiki/File:AccountCreation-Proposal.png

I suppose we should tell him about this.

  • Bug 34569 has been marked as a duplicate of this bug. ***

ebe123_wiki wrote:

(In reply to comment #1)

Apparently Jorm is already aware of this, and has a screenshot idea at
http://en.wikipedia.org/wiki/File:AccountCreation-Proposal.png

I suppose we should tell him about this.

I have changed the assignee to him.

There is a Google Summer of Code project in the repository which gets us about 3/4ths of the way there for this bug. However, that code is fallow and likely abandoned.

I'm not sure when or if the Foundation will apply resources to this.

  • Bug 21416 has been marked as a duplicate of this bug. ***

akshay.leadindia wrote:

I have developed the extension SignupAPI as my Google Summer of Code project mentored by Jorm.
www.mediawiki.org/wiki/Extension:SignupAPI

This extension is aimed at solving this & several other issues surrounding the signup process. It is currently having an experimental status & I am working on making it deployment ready. Some issues (school,personal) over these months had made my progress slow but I am back now & will be actively contributing to get this extension deployed soon

sumanah wrote:

You can read more about Akshay's progress on this at https://www.mediawiki.org/wiki/User:Akshay.agarwal . I'm opening a separate bug to track its review towards deployment.

svenmanguard wrote:

@Sumana: Why?

Okay... well... please link us the bug if you are going to go ahead and stick it on another ticket.

Sven

sumanah wrote:

I added a dependency to bug 36225 - maybe your Bugzilla settings/preferences don't inform you of new dependency changes to a bug you reported?

I created a new bug because we generally create a new bug to review a new extension for deployment, per https://www.mediawiki.org/wiki/Writing_an_extension_for_deployment , to separate out the issue of that particular implementation from the problem brought up in this issue. Sorry for the inconvenience.

  • Bug 49973 has been marked as a duplicate of this bug. ***

*** Bug 43816 has been marked as a duplicate of this bug. ***

Akshay:
As per comment 6, I wonder what is missing here to close this as FIXED or WORKSFORME.
Does the SignupAPI extension basically work?
If so, this ticket should be closed and both potential deployment on WMF servers and followup bug reports should be handled in separate tickets.

(In reply to comment #13)

The proposal at VP:P was:

"I think Wikipedia should implement a "Check Availability" feature for
usernames (as offered by YouTube) for editors who are newly registering at
Wikipedia. As of now, if a username is already taken, the user have to retype
the password and the annoying CAPTCHA after choosing a new username.
Implementation of this proposed feature will save a lot of time"

( http://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28proposals%29#.22Check_Availability.22_feature_for_usernames )

As it achieved a unanimous consensus for support, I brought it here.

Sven

Isn't this something that should be done by E:AntiSpoof? It shouldn't matter if the reason they can't get the name is because there is an exact match or if it is too similar, it should "look" the same to them.

(In reply to comment #13)

Isn't this something that should be done by E[extension]:AntiSpoof? It shouldn't matter
if the reason they can't get the name is because there is an exact match or
if
it is too similar, it should "look" the same to them.

I think you're confused. AntiSpoof is only one of the many reasons a username can be rejected, think of TitleBlackList and probably AbuseFilter. This is a bug about core being able to handle properly the cases where the user picks the wrong username, rather than throw a punch at the user every time as it currently does.

(In reply to comment #14)

(In reply to comment #13)

Isn't this something that should be done by E[extension]:AntiSpoof? It shouldn't matter
if the reason they can't get the name is because there is an exact match or
if
it is too similar, it should "look" the same to them.

I think you're confused. AntiSpoof is only one of the many reasons a username
can be rejected, think of TitleBlackList and probably AbuseFilter. This is a
bug about core being able to handle properly the cases where the user picks
the
wrong username, rather than throw a punch at the user every time as it
currently does.

What I was saying was it shouldn't matter why the username is unacceptable, all of the reasons should be detected and returned to the user in the same manner. It shouldn't be "just" this name already exists in the database. It should be "This may be an unacceptable username, please try another or: $1" and $1 should be, if it is a titleblacklist, or antispoof, or abusefilter then "You may request this name from our account creation team" and if it is an exact match already in the database it should return something like "You may request to usurp this account if it is inactive". Or something of that nature. This means that as part of this extension, there needs to be hooks into all other extensions and pieces that could block a username from being created.

+1 for fixing this. Getting a user account is one of the first things a user does when editing Wikipedia, and i've recently had the pleasure of sitting next to a guy who spend no less than 30 minutes to find a non-taken, non 'too similar', etc. username. If i hadn't sat next to him and suggested other user names i'm pretty sure he would have never ended up editing Wikipedia in the first place.

I understand that it's a complex process of implementing this right, but even a simple check would be better than nothing...

(In reply to comment #15)

What I was saying was it shouldn't matter why the username is unacceptable,
all of the reasons should be detected and returned to the user in the same
manner.
It shouldn't be "just" this name already exists in the database. It should
be "This may be an unacceptable username, please try another or: $1" and $1
should be, if it is a titleblacklist, or antispoof, or abusefilter then "You
may request this name from our account creation team" and if it is an exact
match already in the database it should return something like "You may request
to usurp this account if it is inactive". Or something of that nature. This
means that as part of this extension, there needs to be hooks into all other
extensions and pieces that could block a username from being created.

There should be hooks that other extensions can use in order to interface correctly, rather.
And yeah, this is indeed the case that it should all be displaying it the same way, and it is also the case that it is important to display the different reasons - if a username is rejected for being too similar but indicates that it's just 'unavailable', odds are the user will try to make another one that's too similar to try to get around it. They need to know what exactly is wrong in order to address it.

Also I'm resetting assignment because the user in question has moved on, and the extension it was working on to appears to be dead.

akshay.leadindia wrote:

I would be more than happy to get my extension working for the current codebase and address this issue. Its been quite some time since I was active in MW development but I can get to speed with the current processes.

If this is something that we feel deserves a fix, please assign the same to me.

(In reply to comment #18)

If this is something that we feel deserves a fix, please assign the same to
me.

It definitely does, but please update this bug if/when you stop working on it. In case you need links, see [[mw:Developer hub]].

Change 114400 had a related patch set uploaded by Bartosz Dziewoński:
Warn on account creation when username is adjusted

https://gerrit.wikimedia.org/r/114400

Given lack of visible progress I implemented this myself.

MatmaRex: Is there a wiki where I can see this in action? Your patch looks good but I am not in a position to deploy it myself to test it.

Change 114400 merged by jenkins-bot:
Warn on account creation when username is adjusted

https://gerrit.wikimedia.org/r/114400

This should work well enough in core now; it doesn't cooperate with extensions, though (bug 40648).

Change 117437 had a related patch set uploaded by Bartosz Dziewoński:
Check validity and availability of usernames during signup via AJAX

https://gerrit.wikimedia.org/r/117437

Change 117437 merged by jenkins-bot:
Check validity and availability of usernames during signup via AJAX

https://gerrit.wikimedia.org/r/117437

Okay, so once again, per comment 24, this should work well enough in core now, but it doesn't cooperate with extensions (bug 40648).

swalling wrote:

(In reply to Bartosz Dziewoński from comment #27)

Okay, so once again, per comment 24, this should work well enough in core
now, but it doesn't cooperate with extensions (bug 40648).

Considering that the request is for "checking availability" but not necessarily "validate" I think this request is fulfilled. :)

Great work MatmaRex. This is going to make signup a lot easier for many many users.

Belated congratulations on your excellent work, Bartosz.

We featured this in the latest issue of Tech News that went out on Monday, March 17: https://meta.wikimedia.org/wiki/Tech/News/2014/12