User login

Better Registration and Login Workflow for Drupal 8, allowing logging in or registering while posting content

Better Registration / Login Workflow

A DCSF (DrupalCon San Francisco) Developer Talk Proposal, revised and updated for DrupalCon Chicago, based on a longstanding Drupal usability wish.

PowerPoint presentation from Core Conversation (available in other formats on request).

The Problem (Scenario)

A returning user comes to a Drupal site. Note this is a person who has already been through the registration process, gotten past a captcha, confirmed her e-mail address, and generally jumped through flaming hoops. She starts to leave a comment, and is halfway through when she realize she is not logged in, and would rather have the comment properly linked to her account. She copies her comment to a text file because she knows that if she logs in via another tab, she'll still have to reload the page where she is commenting. She follows a login/register link and enters her username and e-mail and... password twice? Oh no, this is the registration form. She clicks the login tab. Both her username and e-mail she just typed are cleared now, even though the site is using login toboggan and could have re-used either. Drat, she's forgotten her password. Click another tab, and her e-mail/username are cleared again, even though she was switching between both in her seven attempts at remembering which e-mail or username and password she used. She gets her reset password link in the e-mail five minutes later and doesn't remember what she was commenting on, or why.

This is not how a content management system treats its friends.

When someone comes to a Drupal site that would like them to participate, registering and logging in should be

  • easy
  • part of the flow of engaging with the site for the first time or re-engaging with the site

What should NOT happen is before they can do anything, they have to login or register. Or that they can get halfway into something, and then have to take a detour to login or register. The current process should be moved to contrib in the Misery module.

The current architecture of tabs to actual different pages must go. Instead, the options login or register should be radio buttons within one form, and this form should be able to work with the submit button of any form it is placed in. Register or login while posting a node!

One form will allow information to always be passed back, and any recurring fields (username, primary e-mail address, password) to retain data after errors even when switching between methods of signing onto the site.

Need to solve: placeholder values user for content for during account creation / verification?

Possible Resources:

catch56 RT: @chx1975: Drupal 7 multistep node forms are easy http://drupal4hu.com/node/246

More chx: http://drupal.org/project/multiform

Create unified login/registration page patch to LoginToboggan.

Update: Mockingbird just set the standard. As soon as you are done typing your e-mail address, it queries its database, and if it doesn't have your e-mail, it changes the form from login to register! ("Welcome! Looks like you're a new user. Just choose a password to register.") Sweet.

Presentations

Attached below are the mini problem / solution presentation submitted for the developer talk (as PDF) and the start of a longer actual presentation (in Open Document Presentation format).

Searched words: 
workflow registration lazy login easy sign-up drupal core developer summit reg flow

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.