Extension:Quiz
From Linux Web Expert
Quiz Release status: stable |
|
---|---|
File:Quiz extension.png | |
Implementation | Tag , Hook |
Description | Provides a quiz tool |
Author(s) | Lrbabetalk |
Latest version | 1.2.0 (2015-12-08) |
MediaWiki | 1.25+ |
License | GNU General Public License 2.0 or later |
Download | |
Example | and format documentation: v:Help:Quiz |
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Translate the Quiz extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The Quiz extension is the quiz building tool adopted on the Wikiversity. This extension aims at being:
- Simple in its syntax and its use; powerful in its possibilities.
- Open to suggestions and improvements (by facilitating the addition of new types of questions).
Usage
- Learning project on quizzes at the English Wikiversity
- Wikiversity:Help:Quiz -- documentation for the quiz extension (full) (on Wikiversity).
- Wikiversity:Help:Quiz-Simple -- a simpler and colourful documentation intended for beginners, younger users and anyone else who does not need the full version (on Wikiversity).
Other help pages are hosted on the Wikiversities in order to allow for working examples.
Installation
- <translate> [[<tvar name=2>Special:ExtensionDistributor/Quiz</tvar>|Download]] and move the extracted <tvar name=name>
Quiz
</tvar> folder to your <tvar name=ext>extensions/
</tvar> directory.</translate>
<translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Quiz - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'Quiz' );
- File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
Development
- Adding a new question type
Quiz was conceived to facilitate the addition of new question types. If the basic types (multiple choice with single/multiple responses) are not enough for you, you have the possibility of easily creating and integrating the type of questions which you need. For that you must have some knowledge of PHP.
-
The first thing that you must do is choose a syntax (the simplest possible) for your question type.
The restrictions are:
- The syntax of the question's header is fixed. The question has to be placed between curly brackets - i.e. { and } .
- For consistency, it is recommended to use || to mark the beginning of the feedback section ("correction").
-
Choose a new code name for your question type (example: "questionTypeName") as well as a symbol (currently the symbol "()" is used for single response multiple choice because it looks like a radio button, and the symbol "[]" is used for multiple response multiple choice because it looks like a checkbox).
-
Add a "case" at the beginning of the parseParameters's "switch", as follows :
case 'symbol': $this->mType = "questionTypeName"; break;
-
Add a parser function to Quiz.php
This function must convert a question object from quiz syntax to HTML and set a state to the question (right, wrong, error, NA or unmarked), according to syntax errors and eventually posted answers. Name the function "questionTypeNameParseObject" and implement as follows :/** * Convert a basic type object from quiz syntax to HTML. * * @param $input A question object in quiz syntax * * @return $output A question object in HTML. */ function questionTypeNameParseObject($input) { // your code here. $this->setState(""); // Set the state if needed. return $output; }
- Write down your syntax specifications which will be added to the help. Please read first the existing help.
- Once this is all done, contact me to include officially your question type inside the extension.
See also
File:Wikimedia-logo black.svg | <translate> This {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is being used on one or more [[<tvar name=2>m:Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]].</translate> <translate> This probably means that the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is stable and works well enough to be used by such high-traffic websites.</translate> <translate> Look for this {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension's|skin's}} name in Wikimedia's <tvar name=2>CommonSettings.php</tvar> and <tvar name=3>InitialiseSettings.php</tvar> configuration files to see where it's installed.</translate> <translate> A full list of the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extensions|skins}} installed on a particular wiki can be seen on the wiki's <tvar name=ver>Special:Version</tvar> page.</translate> |
Quiz_extension.png |
Categories:
- Pages with script errors
- Pages with broken file links
- Stable extensions
- Tag extensions
- Hook extensions
- Extensions without a compatibility policy
- Extensions with manual MediaWiki version
- GPL licensed extensions
- Extensions in Wikimedia version control
- ParserAfterTidy extensions
- ParserFirstCallInit extensions
- All extensions
- Extensions used on Wikimedia
- On-line learning extensions
- Poll extensions