Extension:Quiz

'''Quiz 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).

Help / Hilfe / Aide
Currently, the help pages are hosted on the wikiversities in order to allow working examples.
 * Please consult the Wikiversity help page for a guide to the quiz extension syntax.
 * Deutschsprachige Einleitung zur Quiz-Erweiterung.
 * Veuillez consulter l'Aide sur la syntaxe Quiz.
 * U kunt een Nederlandstalige handleiding op Wikibooks raadplegen.

Installation instructions
Alternatively, if you have shell access, you can checkout the extension directly from Git.
 * 1) cd to the "extensions" directory of your wiki.
 * 2) Modify LocalSettings.php same as above.
 * 1) Modify LocalSettings.php same as above.

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.

If you are not able yourself to create your new type of question, contact me and I'll see what I can do.

  The first thing that you must do is choose a syntax (the simplest possible) for your question type.

The restrictions are:   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 :   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.
 * 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").

Name the function "questionTypeNameParseObject" and implement as follows :   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.  

Reporting a bug
Report new bugs to the phabricator board.

The bugs reported for pre 1.0 versions have been archived.

To do
All suggestions on the extension and its future possibilities are welcome: phabricator board.

The to do list is archived here

Thanks
Thanks to those who helped me for their invaluable councils, especially
 * Tim Starling
 * James McCormack
 * Michael Frey
 * Rob Kruhlak