Register Plugin
The register plugin adds a public registration form with double opt-in to your Typemill website at /tm/register
. It also offers an optional Gumroad license feature for selling access. This plugin requires the email plugin to function properly. To use this plugin, you must have a MAKER-license.
This plugin was developed by trendschau.net (Sebastian Schürmanns), with the Gumroad feature added by Andreas Zettl.
Registration Features
- Creates a registration page at
/tm/register
. - Customize the registration form using YAML.
- Optional Gumroad license key field for selling access.
- Editable welcome page.
- Customizable confirmation email.
- Option to resend the confirmation email.
- Reminder for users to confirm their account.
- Auto-deletion of unconfirmed users.
- Set default user role (default is member).
Security Features
- Double opt-in process.
- Honeypot field for spam protection.
- Optional captcha for additional security.
- Backend input validation.
- Checks for existing usernames and emails.
- Filters out burner email addresses.
Installation and Setup
Before installing the register plugin, install and configure the mail plugin. It's recommended to send emails via SMTP to prevent blocking by email servers.
To install the register plugin:
- Download and unzip the plugin folder.
- Upload the files to the plugin folder of your Typemill installation.
- Complete the forms in the plugin settings.
You can access the public registration form at /tm/register
.
Important:
Test the registration form thoroughly before you link to it and make it publicly accessible.
Customizing the Registration Form
Define a unique public registration form in the plugin settings using YAML. Refer to the Typemill documentation for field definitions.
Important:
Do not remove or rename "username," "email," or "password" fields as they are essential for the plugin's functionality.
If you delete all definitions in the plugin settings, then the four standard-fields "username", "email", "password", and "gumroad" will appear.
Example: Standard Form
The YAML-definition of the four standard-fields "username", "email", "password", and "gumroad" look like this:
username:
type: text
label: username
placeholder: Username
required: true
email:
type: text
label: E-Mail-New
placeholder: Email
required: true
password:
type: password
label: Password
required: true
gumroad:
type: password
label: Gumroad Licence Key
required: true
Example: Legal Checkbox
The following form-definition removes the gumroad field and instead adds a legal checkbox that is required for a registration.
username:
type: text
label: username
placeholder: Username
required: true
email:
type: text
label: E-Mail-New
placeholder: Email
required: true
password:
type: password
label: Password
required: true
legal:
type: checkbox
label: Terms and conditions
checkboxlabel: I accept the [Terms and conditions](https://yoursite.com/terms) of this website
required: true
Example: Legal Hint
The following definition adds a simple paragraph with a legal hint at the end of the form:
username:
type: text
label: username
placeholder: Username
required: true
email:
type: text
label: E-Mail-New
placeholder: Email
required: true
password:
type: password
label: Password
required: true
legal:
type: checkbox
label: Terms and conditions
checkboxlabel: I accept the [Terms and conditions](https://yoursite.com/terms) of this website
required: true
hint:
type: paragraph
value: With your registration, you automatically accept our [Terms and conditions](https://yoursite.com/terms)
For more details on creating custom forms, visit the documentation about form-definitions.
Updates
Version 2.0.0
- Updated and deeply refactored for version 2.0.0 of Typemill
- Removed registration steps to simplify the process.
- Added all pre-defined text to settings.
- Added maker-license.
Version 1.3.0
- Switch to publicformdefinitions so the admin can define his own forms.
- Switch to new public forms logic with route and validation.
- Switch to new security-logic with optional build-in-captcha and google recaptcha.
- Add a gumroad licence check.
- Check burner email accounts.
- Send email domain to admin so he can check spam better.
- Create a tmp_user in session so other plugins (e.g. subscription) know the username even if user is not logged in yet.
- Deleted recaptcha from honeypot site.
- Fixed logic for registersteps, so you can hack before and after each step now.
- Fixed progress bar for welcome page
Version 1.2.0
- Choose the role for new registered users (requires Typemill Version 1.4.5)
Version 1.1.0
- Added an option to notify the admin when a new user has registered.
- Added an option to notify the admin when the user has confirmed his account.
- Removed the _ from the username in the login form after successful optin.