Extension:Semantic Signup

The SemanticSignup extension lets you add additional fields to the user registration form, which get placed on the new users' user page, as well as stored semantically. When a user goes to register, they are redirected to the SemanticSignup special page, where, in addition to the usual account data, they are given additional fields to enter, via a form defined using the Semantic Forms extension. When the form is submitted, the standard account information is used to register the new user account, while the additional data is used to populate the user's new user page, at User:username.

Requirements
SemanticSignup requires:


 * MediaWiki 1.16 or above
 * Semantic MediaWiki 1.5 or above. 1.6 or above recommended.
 * Semantic Forms 1.9 or above. 2.2 or above recommended.
 * PHP 5.2 or above

Code and download
You can download the Semantic Signup code, in .zip format, here.

You can also download the code directly via Git from the MediaWiki source code repository. From a command line, you can call the following:

To view the code online, including version history for each file, go.

Installation
Insert the following lines into your LocalSettings.php after the inclusion of Semantic Forms:

Getting started
Create a semantic form for user pages (see the Semantic Forms manual for details). Use the function to insert the user account input fields (e.g. username, password and all that stuff) into this form - this is required for the form to be suitable for account registration.

You will also need to set the form and bot name settings, as described in the configuration section below. Not doing this will result in errors.

Configuration
Configuration of SemanticSignup is done by adding to the $egSemanticSignupSettings array in your LocalSettings.php file. These statements need to be placed AFTER the inclusion of SemanticSignup. The options are listed below.

Form name
You must specify the name of the form you want to use for signup. If your form is called "Signup form", you should add the following to LocalSettings.php:

Bot name
You must specify the name of the user that will create each new user page. This user needs sufficient privileges to create new pages in the User: namespace. If the name of the user is "Joe Admin", add the following to LocalSettings.php:

Require name
By default, a real name is not required during the registration process. To require it, add the following to LocalSettings.php:

Use CAPTCHA
If you have the ConfirmEdit extension installed in order to have a "CAPTCHA" test to try to block spam-bots, then by default SemanticSignup will use that same CAPTCHA during registration. To avoid this, add the following to LocalSettings.php:

Internationalization
SemanticSignup is fully internationalized. Translation of SemanticSignup messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.