jywarren / plots2

The Public Lab website!
http://publiclab.org
GNU General Public License v3.0
17 stars 2 forks source link

Login is confusing #85

Closed btbonval closed 10 years ago

btbonval commented 11 years ago

The Join button goes to /signup The Log in dropdown selection Log in does to /login The Log in dropdown selection Register goes to /users/new

On /login, it says "Use your PublicLaboratory.org username to login", but actually it expects an OpenID URL. The OpenID field is not labeled.

On /login, the link for "register on this site" goes to /register

Are /register and /users/new and /signup synonymous?

On /login, the link for "create an account on the new site" goes to /join, which is just a wiki that doesn't explain anything relevant to Alpha. The "create an account on the new site" link should forward to the registration page, although that is redundant with the next line requesting the visitor go to /register.

btbonval commented 11 years ago

in routes.rb:

  match 'register' => 'users#create'
  match 'signup' => 'users#new'

users/new must be automatically forwarded to users#new by Rails.

users#new in the UsersController:

  def new
    @user = User.new
  end

users#create is considerably more involved; it is functionally different.

btbonval commented 11 years ago

users#create seems to specifically handle OpenID users.

So "register" on /login is for OpenID, while "Register" in the login button and the Join button both do something far simpler.

jywarren commented 11 years ago

The login uses OpenID, but only as a backend; only existing accounts/usernames from PublicLaboratory.org will be accepted. So the login process is:

It is confusing, but the current use case is that only existing public laboratory members would be using it (it's an alpha site). We still need to:

a) somehow fold the current /register page into the /login page (other auth systems I've seen do this, i don't see why we can't) since they present the same interface to users of the old site. b) deprecate the /join page, as it's only informational, and integrate relevant information into the /register page c) make a new /register page, which should look more like the (currently dummy) /signup page, and be for completely new users.

Jeff

jywarren commented 11 years ago

Sorry, the /register page seems also to be expecting some parameters, which it shouldn't. The current "create an account on the new site" page is /users/new. That routing should be fixed.

btbonval commented 11 years ago

reopening because this is still confusing.

When /signup fails to validate, it forwards over to /register instead of forwarding back to /signup, even though it is the same page on publiclab.org.

On my local test system, /signup is fine while /register is all kinds of messed up: username is missing as a field, errors are not displayed, etc. This might be due to my work on #195 , but regardless, it is confusing to have both /signup and /register. I'd recommend using render :action => :register from /signup and not mapping anything to users.create

btbonval commented 11 years ago

The username field missing was fixed by adding @action = create, but the /signup and /register pages treat radio buttons differently. This implies there is some copy/paste going on which is probably not necessary.

jywarren commented 10 years ago

I think this is closeable due to /signup being consistent throughout; the only way to get to /register without going directly is once you've submitted the form at /signup. But feel free to reopen if you think that's a problem!