-
Notifications
You must be signed in to change notification settings - Fork 50
red_account
Accounts are created from the register module, usually after clicking a registration link on the home or login page.
Registration is by email address and password, but future enhancements may allow accounts without email.
Email address is entered, and desired password is entered twice.
A checkbox is provided to accept the terms of use and a link points to either a generic TOS or a site specific page which is safe from overwrite during software update. In the U.S. and Europe the checkbox also agrees that the person is over 13 years of age to comply with child privacy laws. This checkbox and text may be removed by a site, and the form must not fail if it is removed.
Email is checked via ajax (when the field loses focus) that it is in an allowed email domain and is a valid DNS email address. If this check fails, a visual failure indicator is presented with an error message from the server. Otherwise a "good" indicator is presented.
The email address is also checked for prior existence, since it is a login credential there can only be one per server.
The password is checked for minimum length and that both entered passwords match. These are checked via ajax after each field loses focus, and failire or success indicators (and error message) displayed if they are not adequate.
The administrator can set the minimum password length (and complexity requirements in a future enhancement).
The TOS and age checkbox is validated when the "submit" button is pressed and an ajax success/failure indication provided that the terms must be accepted (unless they have been disabled on this site).
Registration is saved to database.
A vendor plugin hook may be called to provide subscription and possibly payment information. In the absence of a vendor plugin at this stage, flow continues to "manage identities" page.
The manage identities page is available from the personal settings menubar (or directly linked after registration) and allows one to list identities, switch to an identity, or create a new identity. This may be either one page or two (preferably 2), the first page being management, and the second being a new identity form.
Existing identities are listed with some basic information about each. Each entry may be edited or directly acessed (and the identity made current for this session).
The new identity form provides
Identity type - this can one of
- normal profile
- blog
- community forum
- private forum
- soapbox
[other types may be provided]
Identity name - this does not have to be unique. It may be unicode. It must be present.
Identity username - this follows email and url rules, lowercase US-ASCII and the first character must be a letter.
A checkbox to import the identity from another system or file. This will be covered later as "identity importation". When imprting, the name and username do not have to be present. We will discover them.
As the name is typed, callbacks are made to downgrade the unicode if possible and autofill the username field with a legal entry. We will try
- firstname
- firstname + last initial
- firstname + random 4 digits
- fullname
- fullname + random 4 digits
- the text "id" followed by an indeterminate number of digits if the unicode name cannot be transliterated.
If the username is edited after auto-complete, we will verify that it is unique and display an error indicator if it is invalid or unavailable. The error message should provide an alternative suggestion based on the input which is unique and valid.
It should also be prominently noted that the username is called a "webbie" and is important in making friends, and possibly note that it is permanent and cannot be changed. The full webbie address "user@host" should be displayed and updated on the page as the field is updated.
This may require its own page. You will be asked to provide an existing webbie or a file location.
If a webbie, you will authenticate to the old server and acquire the identity and address book info via secure API.
If a file, upload the file (json format) and extract the necessary info.
A checkbox indicates whether your new identity will become primary or just be a secondary (post) location. A primary location holds your preferred profile.
Again we will use ajax wherever possible to validate input as the form is filled out.
As the information is acquired, we will autofill an identity creation form with the returned results, and again check that inputs are valid. An identity can be created with a new username if the old one is in use on this system.
Once submitted, a message queue is created to notify all your contacts of the new location and indicate to them whether it is primary.