MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: beta
Description Allows for forms with auto-validation, multiple choice questions and cloze tests
Author(s) (thomas-topway-ittalk)
Latest version 1.0 (2021-02-03)
License GNU General Public License 2.0 or later
Example culturaitaliana.org
Translate the CIForms extension if it is available at translatewiki.net

Check usage and version matrix.

The CIForms extension allows for 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.



This is the simplest example of a form with inputs

{{#CI form: 
title = Contact form
| submit = abc@test.org
| first and last name [] *
| email [email] *
| your message [textarea] *

List of parametersEdit

attribute scope description
type CI form or CI section type of form or section: "inputs", "inputs responsive", "multiple choice" or "cloze test"
title CI form or CI section form or section title
submit CI form email address to which the filled-in form will be dispatched
success message CI form the message displayed after submission of the form if the form has been correctly sent
error message CI form the message displayed after submission of the form if there was any issue sending the form
suggestions CI form or CI section with type "cloze test" list of comma separated words to be used as a reference to complete the various answers and shown in a box above the answers
list-type CI form or CI section with type "multiple choice questions" the list type of the answers, can be "none", "ordered", "unordered", "letters", "number", or whatever value listed here
max answers CI form or CI section with type "multiple choice questions" maximum number of answers

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


  • Download and place the file(s) in a directory called CIForms in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'CIForms' );
  • Configure as required.
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


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

Conversely, $wgCIFormsSubmitEmail 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 submit parameter is missing from the form's template. (precisely a parser function).

The same applies form $wgCIFormsSuccessMessage and $wgCIFormsErrorMessage, they will be used as long as success message and error message 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;

Known issuesEdit

  • Due to this Visual Editor's bug, if the 1st parameter after the function name is separated by a new line, Visual Editor will not recognize the template/parser function and will surround it with unwanted 'nowiki' tags. Therefore use always the following
{{#CI form: title = Completa con i tempi dati al futuro semplice

rather than the following

{{#CI form: 
title = Completa con i tempi dati al futuro semplice
  • 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

See alsoEdit