Importeren van "GIFT" bestandsopmaak

GIFT is het meest begrijpelijke importformat voor het importeren van testen vanuit tekstbestanden in Moodle. Het ondersteunt meerkeuzevragen, waar/onwaar vragen, kort antwoord vragen, koppelvragen en numerieke vragen en eveneens het invoeren van een _______ voor het gatentekstformaat. Verschillende types vragen kunnen gemengd worden in een enkel tekstbestand en de opmaak ondersteunt ook commentaar, namen voor de vragen, feedback en gewogen cijfers.

### Soorten vragen

Meerkeuzevragen:
Voor meerkeuzevragen worden foute antwoorden voorafgegaan door een tilde (~) en het juiste antwoord wordt voorafgegaan door een gelijkheidsteken (=).

         Wie is begraven in de tombe van Grant?{~Grant ~Jefferson =niemand}

Het Gatentekst-formaat voegt automatisch een invullijn toe (zoals deze _____) in het midden van de zin. Om het Gatentekstformaat te gebruiken plaats je de antwoorden op de plaats waar je in de zin de lijn wil laten verschijnen.

         Grant is {~begraven =ter aarde besteld ~leeft} in Grants tombe.

Als de antwoorden vóór het leesteken van het einde van de zin komen, dan zal er een invullijntje ingevoegd worden voor het "Gatentekst"-formaat. Alle vraagtypes kunnen als gatentekst geschreven worden.

Er moet een blanco regel ingevoegd worden (tweemaal op enter drukken) om de vragen te scheiden. Voor alle duidelijkheid: antwoorden kunnen geschreven worden op verschillende regels en zelfs met inspringen. Bijvoorbeeld:

         Het Amerikaanse Thanksgiving wordt gevierd op de {
             ~tweede
             ~derde
             =vierde
         } donderdag van november.

         Van welk land kwamen de Japanse tekens oorspronkelijk? {
             ~India
             =China
             ~Korea
             ~Egypte}

Kort antwoord:
Antwoorden in het Kort Antwoord vragentype worden allemaal voorafgegaan door een gelijkheidstekens (=), dat aanduidt dat alle gegeven antwoorden juist zijn. De antwoorden moeten geen tilde bevatten.

         Wie is begraven in de tombe van Grant?{=niemand =niets}
             Twee plus twee is {=vier =4}.

Als er slechts één juist antwoord is, dan mag het geschreven worden zonder gelijkheidsteken, zolang het maar niet verward kan worden met Waar/Onwaar.

Waar/Onwaar:
Bij dit vraagtype geeft het antwoord aan of een stelling waar of onwaar is. Het antwoord moet geschreven worden als {TRUE} of {FALSE}, of afgekort als {T} of {F}.

         Grant is begraven in de tombe van Grant.{F}

         De zon komt op in het oosten.{T}

Koppelvragen:
Koppelparen beginnen met een gelijkheidsteken (=) en worden gescheiden door dit symbool "->". Er moeten minstens drie koppels gegeven worden.

         Koppelvraag. {
              =subvraag1 -> subantwoord1
              =subvraag2 -> subantwoord2
              =subvraag3 -> subantwoord3
              }

          Koppel volgende landen aan hun hoofdsteden. {
              =Canada -> Ottawa
              =Italië  -> Rome
              =Japan  -> Tokyo
              =Indië  -> New Delhi
              }

Koppelvragen ondersteunen geen feedback of procentuele weging per antwoord.

Numeriek:
Het antwoordgedeelte voor numerieke vragen moet beginnen met een hekje (#). Numerieke antwoorden kunnen een foutenmarge bevatten, die onmiddellijk achter het juiste antwoord geschreven wordt, gescheiden door een komma. Als het juiste voorbeeld bijvoorbeeld ligt tussen de 1.5 en 2.5, dan schrijf je het als volgt {#2:0.5}. Dit geeft aan dat 2 met een foutenmarge van 0.5 juist is (het bereik van 1.5 tot 2.5). Als er geen foutenmarge gespecifieerd wordt, dan wordt er vanuitgegaan dat die 0 is.
Nota van de vertaler: let op het gebruik van de komma -> als wiskundig teken moet een punt (.) gebruikt worden.

         In welk jaar werd Ulysses S. Grant geboren? {#1822}

         Welke waarde heeft het getal pi (tot 3 plaatsen na de komma)? {#3.1415:0.0005}.

Optioneel kunnen numerieke antwoorden op de volgende manier geschreven worden als een bereik {#MinimumValue..MaximumValue}.

         Welke waarde heeft het getal pi (tot 3 plaatsen na de komma)?{#3.141..3.142}.

De grafische interface van Moodle ondersteunt meerdere numerieke antwoorden per vraag niet, maar de code van Moodle kan het aan en GIFT ook. Die kan gebruikt worden om meerdere antwoorden op numerieke vragen in te geven en kan bijzonder nuttig zijn in combinatie met procentueel gewogen cijfers. Als meerdere antwoorden gebruikt worden, moeten zij gescheiden worden door een gelijkheidsteken, zoals korte antwoordvragen.

         Wanneer werd Ulysses S. Grant geboren? {#
             =1822:0
             =%50%1822:2}

Omdat Moodles grafische gebruikersinterface geen meerdere antwoorden voor numerieke vragen ondersteunt, is er geen enkele manier om ze te bekijken en te bewerken via Moodle. De enige manier om iets aan de numerieke vraag te veranderen is door ze te verwijderen en ze opnieuw te importeren (of iets te gebruken als phpMyadmin, rechtstreeks in de databank).

### OPTIES

Bijkomend bij deze basis vraagtypes, geeft deze filter je volgende extra mogelijkheden: inline commentaar, vragennamen, feedback en procentuele antwoordweging.

Inline Commentaar:
Commentaren die niet geïmporteerd zullen worden in Moodle kunnen mee opgenomen worden in het tekstbestand. Dit kan gebruikt worden om indelingen te maken of meer informatie over de vragen te geven. Alle lijnen die beginnen met een dubbele backslash (spaties en tabs niet meegerekend) zullen genegeerd worden door de filter.

         // ondertitel: Numeriekvraag volgt
         Hoeveel is 2 plus 2? {#4}

Vraag naam:
De naam van een vraag kan ingegeven worden door die vooraan te zetten en in te sluiten door dubbele dubbelpunten.

         ::Kanji Origins::Uit welk land zijn Japanse tekens oorspronkelijk afkomstig? {=China}

         ::Thanksgiving Date::De Amerikaanse feestdag Thanksgiving wordt gevierd op de {~tweede ~derde =vierde} donderdag van november.

Als er geen vraagnaam gegeven wordt, dan wordt standaard de hele vraag gebruikt als vraagnaam.

Feedback:
Feedback kan voor elk anwoord ingegeven worden door het na het antwoord te plaatsen, gescheiden door een hekje.

         Wat is het antwoord voor deze meerkeuzevraag?{
         ~fout antwoord#feedback voor dit fout antwoord
         ~nog een fout antwoord#feedback voor dit fout antwoord
         =juist antwoord#Heel goed!}

         Wie is er begraven in de tombe van Grant?{
         =niemand#schitterend antwoord!
         =helemaal niemand#schitterend antwoord!}

         Grant is begraven in Grants tomb.{FALSE#Niemand is begraven in Grant's tombe.}

Voor meerkeuzevragen wordt feedback alleen getoond voor het antwoord dat de leerling gekozen heeft. Voor kort antwoordvragen wordt feedback alleen getoond als de leerling het juiste antwoord gegeven heeft. Voor waar/onwaarvragen wordt de feedback zo bewaard dat hij getoond wordt als de vraag fout beantwoord wordt. Zo zou in het bovenstaande voorbeeld de leerling alleen feedback te zien krijgen als hij Waar als antwoord had gekozen.

Procentuele weging:
Procentuele weging is beschikbaar voor meerkeuzevragen en voor kort antwoord vragen. De weging voor een antwoord kan ingegeven worden door onmiddellijk na de tilde (voor meerkeuzevragen) of het gelijkheidsteken (voor kort antwoord) het gewenste percentage te plaatsen, ingesloten door procenttekens (bijvoorbeeld %50% ). Deze optie kan gecombineerd worden met feedback.

         Moeilijke vraag.{~fout antwoord ~%50%antwoord op de helft van de punten =volledig juist antwoord}

         ::De stad van Jezus::Jesus was van {
         ~Jerusalem#Dit was een belangrijke stad, maar het foute antwoord.
         ~%25%Bethlehem#Daar is hij geboren, maar niet opgegroeid.
         ~%50%Galilea#Je moet nauwkeuriger zijn.
         =Nazareth#Ja, dat is juist!}.

         ::De stad van Jezus::Jesus was van {
         =Nazareth#Ja, dat is juist!
         =%75%Nazereth#Juist, maar fout geschreven.
         =%25%Bethlehem#Hij is daar geboren, maar niet opgegroeid}

Merk op dat de laatste twee voorbeelden nagenoeg dezelfde vragen zijn, eerst als meerkeuzevragen, dam als kort antwoord.

Merk op dat het mogelijk is om procentuele wegingen te specifiëren die NIET mogelijk zijn via de grafisch gebruikersinterface. Zulke antwoordweging zal toch juist berekend worden (overeenkomend met de waarde die ingegeven is bij het importeren), en zal normaal verschijnen wanneer de leerling zijn test aflegt. Maar zulke antwoordweging zal niet juist getoond worden aan de leraar, wanneer de test achteraf via de interface om vragen te bewerken van Moodle bewerkt wordt. Het uitschuifmenu toont enkel enkele vastgelegde waarden. Wanneer de antwoordweging niet juist overeenkomt met één van die vooraf gedefinieerde waarden, dan zal ze niet juist getoond worden.Als je zo een vraag via de grafische interface bewerkt, zal de antwoordweging wijzigen in dat wat getoond wordt.

Meerdere antwoorden mogelijk:
De optie "meerdere antwoorden mogelijk" wordt gebruikt voor meerkeuzevragen wanneer twee of meer antwoorden gekozen moeten worden om alle punten te krijgen. Deze optie wordt ingescakeld door een even grote deelwaarde toe te kennen aan meerdere antwoorden, terwijl geen enkel antwoord het maximumcijfer oplevert.

         Welke twee mensen liggen in de tombe van Grant? {
              ~Niemand
              ~%50%Grant
              ~%50%Grants vrouw
              ~Grants vader }

Merk op dat er in geen enkel antwoord een gelijkheidsteken (=) voorkomt en dat de som van de procenten niet hoger dan 100% mag liggen, anders geeft Moodle een foutmelding. Om te vermijden dat leerlingen 100% halen door gewoon alle anwoorden aan te vinken, kun je best een negatieve weging toekennen aan de foute antwoorden.

         Welke twee mensen liggen er begraven in Grants tombe? {
              ~%-50%Niemand
              ~%50%Grant
              ~%50%Grants vrouw
              ~%-50%Grants vader }

Speciale tekens ~ = # { } :
Deze symbolen ~ = # { } besturen deze filter en kunnen in de vragen niet als normale tekst gebruikt worden. Omdat deze tekens een speciale rol in het bepalen van de werking van deze filter hebben, worden ze "controletekens" genoemd. Het zou kunnen dat je één van deze tekens wil gebruiken in je vragen, zoals bijvoorbeeld in wiskundige formules. De manier om aan dit probleem te ontsnappen is deze karakters te "escapen". Je doet dit door een backslash (\) voor een controleteken te plaatsten zodat de filter weet dat je dit karakter letterlijk wil gebruiken en niet als controleteken. Bijvoorbeeld:

         Welk antwoord is gelijk aan 5? {
              ~ \= 2 + 2
              = \= 2 + 3
              ~ \= 2 + 4  }

         ::GIFT Controlekarakters::
         Welk van de onderstaande is GEEN controleteken voor het GIFT importformaat? {
            ~ \~     # \~ is een controleteken.
            ~ \=     # \= is een controleteken.
            ~ \#     # \# is een controleteken.
            ~ \{     # \{ is een controleteken.
            ~ \}     # \} is een controleteken.
            = \     # Juist! \ (backslash) is geen controleteken. MAAR, het wordt gebruikt om de controletekens te esacpen.
         }

Wanneer de vraag geïmporteerd wordt, wordt de backslash verwijderd en niet bewaard in Moodle.

Andere opties:
Andere opties zijn mogelijk door het bewerken van de importfilter gift/format.php.

Kort antwoordvragen kunnen hoofdlettergevoelig gemaakt worden door "0" te veranderen naar "1" in de volgende lijn:
`$question->usecase = 0; // Ignore case`

### PROBLEEMOPLOSSING EN HELP

De tekstcodering van je tekstbestand moet hetzelfde zijn als die van je Moodle-installatie.

Een voorbeeldbestand met vragen kun je vinden op gift/examples.txt.

Voor vragen over deze filter, of als je fouten zou vinden, post deze dan in het Quiz module forum op Moodle.org.

### KREDIETEN

Deze filter is geschreven door de samenwerking van vele leden van de Moodlegemeenschap. Hij was oorspronkelijk gebaseerd op de filter van Gatentekst, die code van Martin Dougiamas, Thomas Robb en anderen bevat. Paul Tsuchido Shew schreef deze filter in December 2003 met daarin suggesties van de gemeenschap voor een meer robuust vragenformaat. De naam is samengesteld als een acroniem voor "General Import Format Technology" of iets dat erop lijkt, maar het is te lang voor een eenvoudige filter zoals dit, daarom gewoon GIFT.

GIFT documentatie door Paul Tsuchido Shew, 10 Jan 2004.