mirror of
https://github.com/moodle/moodle.git
synced 2025-02-02 22:29:18 +01:00
213 lines
12 KiB
HTML
213 lines
12 KiB
HTML
<p align="center"><b>Importing "GIFT" format files</b></p>
|
|
<p>GIFT is the most comprehensive import format available for importing
|
|
Moodle quiz questions from a text file. It supports Multiple-Choice,
|
|
True-False, Short Answer, Matching and Numerical questions, as well as insertion
|
|
of a _____ for the Missing Word format. Various question-types can be
|
|
mixed in a single text file, and the format also supports line comments,
|
|
question names, feedback and percentage-weight grades.</p>
|
|
|
|
<p>The text encoding of your text file must be the same as your Moodle installation.
|
|
An example questions text file can be found here: <a href="../../../../mod/quiz/format/gift/examples.txt">gift/examples.txt</a>.</p>
|
|
|
|
|
|
<h3>QUESTION TYPES</h3>
|
|
|
|
<p><u>Multiple Choice:</u><br />
|
|
For multiple choice questions, wrong answers are prefixed with a tilde (~)
|
|
and the correct answer is prefixed with an equal sign (=).</p>
|
|
<pre> Who's buried in Grant's tomb?{~Grant ~Jefferson =no one}</pre>
|
|
<p>The <b>Missing Word</b> format automatically inserts a fill-in-the-blank line (like this _____) in the middle of the sentence.
|
|
To use the Missing Word format, place the answers where you want the line to appear in the sentence.</p>
|
|
<pre> Grant is {~buried =entombed ~living} in Grant's tomb.</pre>
|
|
<p>If the answers come before the closing punctuation mark, a fill-in-the-blank line will be inserted
|
|
for the "missing word" format. All question types can be written in the Missing Word format.</p>
|
|
<p>There must be a blank line (double carriage return) separating questions.
|
|
For clarity, the answers can be written on separate lines and even indented. For example:</p>
|
|
<pre> The American holiday of Thanksgiving is celebrated on the {
|
|
~second
|
|
~third
|
|
=fourth
|
|
} Thursday of November.
|
|
|
|
Japanese characters originally came from what country? {
|
|
~India
|
|
=China
|
|
~Korea
|
|
~Egypt}</pre>
|
|
|
|
<p><u>Short Answer:</u><br />
|
|
Answers in Short Answer question-type are all prefixed by an equal sign (=),
|
|
indicating that they are all correct answers. The answers must not contain a tilde.</p>
|
|
<pre> Who's buried in Grant's tomb?{=no one =nobody}
|
|
|
|
Two plus two equals {=four =4}.</pre>
|
|
<p>If there is only <u>one</u> correct Short Answer, it may be written without the equal sign prefix,
|
|
as long as it cannot be confused as True-False.
|
|
|
|
<p><u>True-False:</u><br />
|
|
In this question-type the answer indicates whether the statement is true or false.
|
|
The answer should be written as {TRUE} or {FALSE}, or abbreviated to {T} or {F}.</p>
|
|
<pre> Grant is buried in Grant's tomb.{F}
|
|
|
|
The sun rises in the east.{T}</pre>
|
|
|
|
<p><u>Matching:</u><br />
|
|
Matching pairs begin with an equal sign (=) and are separated by this symbol "->". There must be at least three matching pairs.</p>
|
|
<pre> Matching Question. {
|
|
=subquestion1 -> subanswer1
|
|
=subquestion2 -> subanswer2
|
|
=subquestion3 -> subanswer3
|
|
}
|
|
|
|
Match the following countries with their corresponding capitals. {
|
|
=Canada -> Ottawa
|
|
=Italy -> Rome
|
|
=Japan -> Tokyo
|
|
=India -> New Delhi
|
|
}</pre>
|
|
<p>Matching questions do not support feedback or percentage answer weights.</p>
|
|
|
|
<p><u>Numerical:</u><br />
|
|
The answer section for Numerical questions must start with a number sign (#).
|
|
Numerical answers can include an error margin, which is written following the correct answer, separated by a colon.
|
|
So for example, if the correct answer is anything between 1.5 and 2.5, then it would be written as follows <u>{#2:0.5}</u>.
|
|
This indicates that 2 with an error margin of 0.5 is correct (i.e., the span from 1.5 to 2.5).
|
|
If no error margin is specified, it will be assumed to be zero.</p>
|
|
<pre> When was Ulysses S. Grant born? {#1822}
|
|
|
|
What is the value of pi (to 3 decimal places)? {#3.1415:0.0005}.</pre>
|
|
<p>Optionally, numerical answers can be written as a span in the following format {#<i>MinimumValue</i>..<i>MaximumValue</i>}.</p>
|
|
<pre> What is the value of pi (to 3 decimal places)? {#3.141..3.142}.</pre>
|
|
<p>Moodle's browser interface does not support multiple numerical answers, but Moodle's code can and so does GIFT.
|
|
This can be used to specify numerical multiple spans, and can be particularly usefully when combined with percentage weight grades.
|
|
If multiple answers are used, they must be separated by an equal sign, like short answer questions.</p>
|
|
<pre> When was Ulysses S. Grant born? {#
|
|
=1822:0
|
|
=%50%1822:2}</pre>
|
|
<p>Note that since Moodle's browser GUI doesn't support multiple answers for Numerical questions,
|
|
there's no way to see them or edit them through Moodle.
|
|
The only way to change a numerical answer beyond the first, is to delete the question
|
|
and re-import it (or use something like phpMyAdmin).</p>
|
|
|
|
|
|
<h3>OPTIONS</h3>
|
|
<p>In addition to these basic question types, this filter offers the following options:
|
|
line comments, question name, feedback and percentage answer weight.</p>
|
|
|
|
<p><u>Line Comments:</u><br />
|
|
Comments that will not be imported into Moodle can be included in the text file.
|
|
This can be used to provide headers or more information about questions.
|
|
All lines that start with a double backslash (not counting tabs or spaces) will be ignored by the filter.</p>
|
|
<pre> // Subheading: Numerical questions below
|
|
What's 2 plus 2? {#4}</pre>
|
|
|
|
<p><u>Question Name:</u><br />
|
|
A question name can be specified by placing it first and enclosing it within double colons.</p>
|
|
<pre> ::Kanji Origins::Japanese characters originally
|
|
came from what country? {=China}
|
|
|
|
::Thanksgiving Date::The American holiday of Thanksgiving is
|
|
celebrated on the {~second ~third =fourth} Thursday of November.</pre>
|
|
<p>If no question name is specified, the entire question will be used as the name by default.</p>
|
|
|
|
<p><u>Feedback:</u><br />
|
|
Feedback can be included for each answer by following the answer with a number sign (# also known as a hash mark) and the feedback.</p>
|
|
<pre> What's the answer to this multiple-choice question?{
|
|
~wrong answer#feedback comment on the wrong answer
|
|
~another wrong answer#feedback comment on this wrong answer
|
|
=right answer#Very good!}
|
|
|
|
Who's buried in Grant's tomb?{
|
|
=no one#excellent answer!
|
|
=nobody#excellent answer!}
|
|
|
|
Grant is buried in Grant's tomb.{FALSE#No one is buried in Grant's tomb.}</pre>
|
|
<p>For Multiple Choice questions, feedback is displayed only for the answer the student selected.
|
|
For short answer, feedback is shown only when students input the corresponding correct answer.
|
|
For true-false questions, the imported feedback is saved so that it will display if the student chose the wrong answer.
|
|
So, in the last example above, the student would see the feedback only if they selected TRUE as their answer.</p>
|
|
|
|
<p><u>Percentage Answer Weights:</u><br />
|
|
Percentage answer weights are available for both Multiple Choice and Short Answer questions.
|
|
Percentage answer weights can be included by following the tilde (for Multiple Choice) or
|
|
equal sign (for Short Answer) with the desired percent enclosed within percent signs (e.g., %50%).
|
|
This option can be combined with feedback comments.</p>
|
|
<pre> Difficult question.{~wrong answer ~%50%half credit answer =full credit answer}
|
|
|
|
::Jesus' hometown::Jesus Christ was from {
|
|
~Jerusalem#This was an important city, but the wrong answer.
|
|
~%25%Bethlehem#He was born here, but not raised here.
|
|
~%50%Galilee#You need to be more specific.
|
|
=Nazareth#Yes! That's right!}.
|
|
|
|
::Jesus' hometown:: Jesus Christ was from {
|
|
=Nazareth#Yes! That's right!
|
|
=%75%Nazereth#Right, but misspelled.
|
|
=%25%Bethlehem#He was born here, but not raised here.}</pre>
|
|
<p>Note that the last two examples are essentially the same question, first as multiple choice and then as short answer.</p>
|
|
|
|
<p><font size="-1">Note that it is possible to specify percentage answer weights that are NOT
|
|
available through the browser interface. Such answer-weights will calculate correctly
|
|
(according to the value assigned when imported), and will appear normal to students taking the test.
|
|
But such answer-weights will not display correctly to teachers when editing them through Moodle's
|
|
Edit Question interface. The pull-down menu only allows certain fixed values, and if the answer-weight
|
|
does not exactly match one of those predetermined values, then it will not display correctly.
|
|
If you edit such a question through the browser interface, the answer weight will change to that displayed.</font></p>
|
|
|
|
<p><u>Multiple Answers:</u><br />
|
|
The Multiple Answers option is used for multiple choice questions when two or more answers must
|
|
be selected in order to obtain full credit. The multiple answers option is enabled by assigning
|
|
partial answer weight to multiple answers, while allowing no single answer to receive full credit.</p>
|
|
<pre> What two people are entombed in Grant's tomb? {
|
|
~No one
|
|
~%50%Grant
|
|
~%50%Grant's wife
|
|
~Grant's father }</pre>
|
|
<p>Note that there is no equal sign (=) in any answer and the answers should total no more than 100%,
|
|
otherwise Moodle will return an error.
|
|
To avoid the problem of students automatically getting 100% by simply checking all of the answers,
|
|
it is best to include negative answer weights for wrong answers.</p>
|
|
<pre> What two people are entombed in Grant's tomb? {
|
|
~%-50%No one
|
|
~%50%Grant
|
|
~%50%Grant's wife
|
|
~%-50%Grant's father }</pre>
|
|
|
|
<p><u>Special Characters ~ = # { } :</u><br />
|
|
These symbols <b> ~ = # { } </b> control the operation of this filter and cannot be used as normal text within questions.
|
|
Since these symbols have a special role in determining the operation of this filter, they are called "control characters."
|
|
But sometimes you may want to use one of these characters, for example to show a mathematical formula in a question.
|
|
The way to get around this problem is "escaping" the control characters.
|
|
This means simply putting a backslash (\) before a control character so the filter will know that you want to use
|
|
it as a literal character instead of as a control character.
|
|
For example:</p>
|
|
<pre> Which answer equals 5? {
|
|
~ \= 2 + 2
|
|
= \= 2 + 3
|
|
~ \= 2 + 4 }
|
|
|
|
::GIFT Control Characters::
|
|
Which of the following is NOT a control character for the GIFT import format? {
|
|
~ \~ # \~ is a control character.
|
|
~ \= # \= is a control character.
|
|
~ \# # \# is a control character.
|
|
~ \{ # \{ is a control character.
|
|
~ \} # \} is a control character.
|
|
= \ # Correct! \ (backslash) is not a control character. BUT,
|
|
it is used to escape the control characters.
|
|
}</pre>
|
|
<p>When the question is processed, the backslash is removed and is not saved in Moodle.</p>
|
|
|
|
<p><u>Other Options:</u><br />
|
|
Short Answer questions can be made case sensitive by changing "0" to "1" in the following line:<br />
|
|
<tt>$question->usecase = 0; // Ignore case</tt></p>
|
|
<p>Other options are available through editing the import filter <b>gift/format.php</b>. </p>
|
|
<p></p>
|
|
|
|
<h3>CREDITS</h3>
|
|
<p>This filter was written through the collaboration of numerous members of the Moodle community.
|
|
It was originally based on the missingword format, which included code from Martin Dougiamas and Thomas Robb.
|
|
Paul Tsuchido Shew wrote this filter in December 2003 incorporating community suggestions for a more robust question format.
|
|
The name was conceived as an acronym for "General Import Format Technology" or something like that,
|
|
but it's too long for a simple filter like this, so it just GIFT.</p>
|
|
<p><font size="-1">GIFT filter and documentation by Paul Tsuchido Shew http://ac.shew.jp. Last updated 27 Feb 2004.</font></p> |