Creating Member Sign-Up Forms

When you have membership features enabled, you can set up any number of members, each with a user profile and access rights to selected "member-only" pages.

In small organizations, or those with tightly controlled membership, the site admin can set up all member accounts. On sites where you simply want people to have to register for access to certain content, however, you can allow self-signup by providing the appropriate sign-up form on the site.

If you are charging for memberships, you can process payments separately and then manually enable access for each paid member's account. On a custom basis we can provde automatic member payment verification through Foxycart.

Creating a Sign-up Form

To create a sign-up form, click on the People tab of the site's control panel (on the tab itself, not any of the drop-down items). Click the Edit Signup Form Settings link in the advanced Membership Customization area.

If you have created a form for any other custom item type, this process will be familiar; it is almost identical.

On the Edit Form screen, you specify:

  • The CSS ID for the form (any valid CSS ID string)
  • The page that the form goes on. Typically you will choose New Page here and enter the slug for the signup page.
  • The success page. This is the page that is shown when the form submission has completed. Again, typically you will choose New Page here and enter the slug for the success page.
  • Check the box to have an email sent to someone when a new member joins.
  • Specify the subject line for the notification message, and to whom it should be sent.

The person who submitted the form is always sent a notification message, since this message provides the activation link they must use to set their password.

When you save the form definition, the form and success pages will be generated as necessary and the form will be dropped into place. (If the pages already exist, you must copy and paste the form into the desired page; the automated process will paste the code into new pages, but it will not modify existing pages.)

Form Details

The generated form contains three fields for the site visitor to fill out, “email”, “first_name”, and “last_name”. You may optionally replace the first_name and last_name fields with “name” by changing the associated markup (including the input element’s name attribute). Webvanta will attempt to parse a singular name into first_name and last_name parts automatically. The email field is the only required field to create an account.

Note: If you have created a User Profile with additional fields, that information must be added after the user logs in for the first time and sets their password. The site should then have an "Edit Profile" link that the user can follow to enter additional profile details.

The signup form contains a number of hidden fields that are required for the operation of the system. These form elements, their attributes, and the names/attributes of the other input elements must not be disturbed.

It is ok to apply additional CSS classes to the elements, and you can change the surrounding HTML markup at will.

The following hidden fields are required:

id purpose
email2 spam honey pot. Form will not be accepted if this field has any content
api_id a code unique to this account. Required. If it is missing or changed, the form will not work
form_id identical to the form element’s css ID, is must match, and must match the “CSS ID” item in the form definition in the CP
ajax either “json” or “html”. Controls how the app responds to the submit. html by default acts like normal form submission. Errors in form that require validation markup will re-render the page and do a page change as expected. You should make sure this page is not cached. Setting to json will have the back end return json objects with the success or error messages for the form.

Account Creation Flow

Once a form is submitted, on success, the system will render the “success page” set in the form definition. On the success page, the user object is available and set as the current “item”. You can then use WebvantaScript in the success page such as:

<w:kb:item>
  <h1>Howdy <w:name /></h1>
  <p>You join the esteemed company of your peers:</p>
</w:kb:item>

The new member will receive an activation email with a link to set their password and create their account. Until they do so, they will not be able to log in.

Once they set their password, they can edit their profile to fill in additional details.

Note: New User accounts are always created with “member” roles only. There is no way to change this from the form as a security precaution. If you want to grant additional roles to users, that must be done by an admin.