Extension:CIForms

This extension allows rapid creation of forms, either standard forms with input fields aimed at receiving data from visitors, or forms with multiple choice questions or even Cloze tests to be used as teaching tools for current students or to engage prospective ones.

All forms include automatic validation, are protected by the latest version of Google recaptcha and have been inspired by this extension at Wikiversity and they diverge from it mainly because the submitted data are sent to the provided email address, rather than used to compute a score.

Please check Help:Extension:CIForms for detailed examples.

Usage

 * https://culturaitaliana.org/wiki/How_it_works/Forms_and_quizzes

Setup
First ensure that the parameter  of your wiki is set to true, and that either   is set to some value, or   (all of them to be put in the file LocalSettings.php) contains the sender email address of your forms.

Conversely,  contains the email address to which the form data will be dispatched once submitted by the visitor, which will be used all the times that the   parameter is missing from the form's template. (precisely a parser function).

The same applies form  and , they will be used as long as   and   are not specified within the form.

$wgCIFormsSenderEmail = $wgPasswordSender;

$wgCIFormsSubmitEmail = '[your email]';

$wgCIFormsGoogleRecaptchaSecret = '[google recaptcha secret]';

$wgCIFormsGoogleRecaptchaSiteKey = '[google site key]';

$wgCIFormsSuccessMessage = 'The form has been sent, thank you!';

$wgCIFormsErrorMessage = 'We couldn\'t send your form, please try again or contact the support at '. $wgCIFormsSubmitEmail;

Example
This is the simplest example of a form with inputs

Please visit this page Help:Extension:CIForms for additional examples and here for their visualization

Known issues

 * Visual editor will comment the wiki-code representing nested form sections on save, this can be avoided either saving the page using source editing, or not using nested form sections
 * the template is interpreted rigorously and the parser function does not try to fix little mistakes in the parameters, like missing pipes (|) or wrong parameters. This might be updated in future