Comparison of GIFT and Wikiversity Microformats
Data loss analysis converting between Wikiversity microformat and Moodle's GIFT microformat
[edit | edit source]What this is
[edit | edit source]This is a document that analyzes converting both ways between Moodle's GIFT picoformat and the Wikiversity Quiz.php microformat. The first thing to do in a conversion project between these two formats would be to do a feasibility study in order to get some idea of the difficulty of the task.
The concept of data loss here is based upon viewing the conversion as-is. "Data loss" doesn't mean that there is no conceivable way to save and convert this data. Rather this is relatively a "heuristic agnostic" exercise so it is simply identifying problems. For every bit of hypothetical data loss there would have to be additional code written, either by changing the functionality of one or both of the parsers (Wikiversity's and Moodle's) or by writing extra work-around code in the conversion code. Because of that a heuristic agnostic data loss study can give us an idea of how big this project might be in the short amount of time.
In addition to that it can later serve as a document to speed up algorithm creation as patterns for conversion can be identified, and problems areas are already laid out.
Perhaps most importantly of all this is Wikiversity, a website that aims to collect instructional content, and applying a "high documentation" policy to this project, and ANY Wikiversity project, is going to create more Wikiversity content that may have value to others, both editors and learners. It is my opinion that here more than anywhere, this is the best policy.
Please feel free to contribute to this document. It doesn't belong to me. It belongs to Wikiversity.
Data loss analysis
[edit | edit source]Question Types
[edit | edit source]Multiple choice / single response
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="()"} + The correct answer. - Distractor. - Distractor. - Distractor. |
Question{ = The correct answer ~ Distractor ~ Distractor ~ Distractor } |
|
|
True/false questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="()"} + TRUE. - FALSE. |
Question {TRUE/FALSE/T/F}
Question{TRUE/FALSE/T/F #Corrective_feedback #Congratulatory_Feedback} |
|
|
Multiple choice / multiple response
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="[]"} + Correct answer. - Incorrect answer. + Correct answer. - Incorrect answer. |
Question { ~Incorrect answer. =Correct answer. =Correct answer. ~Incorrect answer. Question Assigning Partial Credit Question { ~%-50%Incorrect answer. ~%50%Correct answer. ~%50%Correct answer. ~%-50%Incorrect answer. } |
|
|
Typed response (short answer)
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
Question with one correct answer {Question |type="{}"} { Answer } Question with multiple correct answers {Question |type="{}"} { One Answer|Another Answer } Questions with text size limitation {Question |type="{}"} { Answer _6 } Question with case insensitive answer {Question |type="{}"} { Answer (i) } |
Question with one answer Question {answer} Question with multiple correct answers Question { =One correct answer =Another correct answer } Question with partial credit answers Question { =One absolutely correct answer =%50% One relatively correct answer } |
|
|
Gapfill / cloze
[edit | edit source]Wikiversity Microformat | GIFT Microformat | |
---|---|---|
{Instructions |type="{}"} Text text text { numeric answer } text text. Text text text { text answer } text { text answer }. |
Cloze text box with short answer Text {1:SHORTANSWER:%100%answer} text. Cloze text box with multiple choice using percentage Text {1:MULTIPLECHOICE:%0%Distractor~%100%CorrectAnswer} text. Cloze text box with multiple choice using '=' sign Text {1:MULTIPLECHOICE:Distractor~=Correct Answer} text text {1:MULTIPLECHOICE:=Correct Answer~Distractor} text. Cloze with numerical answer Text {1:NUMERICAL:=Number:Margin of Error} text. Cloze with numerical answer and partial credit Text {1:NUMERICAL:=Number:Margin of Error~%50%Number:Larger Margin of Error} text. | |
Conversion Comments |
Conversion Comments | |
'''Provide the best answers for the following sentence.''' Text text ('''Question 1''') text text ('''Question 2'''). <quiz display=simple> {Question 1. |type="()"} + Text A - Text B - Text C {Question 2. |type="()"} - Text A + Text B - Text C </quiz>
|
|
Numerical response
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
Numerical Question with Minimum and maximum range {Question |type="{}"} { Min_Answer-Max_Answer }.
{Question |type="{}"} { Answer Margin_of_Error%} |
Numerical Question with Minimum and maximum range Question{ Min_Answer..Max_Answer }
Question {#Answer:Margin_of_Error_in_Decimal_Form} Numerical Question with Partial Credit Question{ =Best_Answer:0 =%50%Partial_Credit_Answer } |
|
|
Tabular response type with radio buttons
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="()"} | A | B | C +-- A is correct. -+- B is correct. --+ C is correct. |
There is no GIFT equivalent. |
N/A |
|
Tabular response type with checkboxes
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="[]"} | Option A | Option B | Option C ++- Question 1 (Clue: A and B are correct). -++ Question 2 ( Clue: B and C are correct). --+ Question 3 (Clue: C is correct). |
There is no GIFT equivalent. |
N/A |
|
Essay questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
There is no WV equivalent. |
Essay Instructions {} |
|
N/A |
Matching questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
There is no WV equivalent. |
Instructions { =Answer_A -> Match_Item_A =Answer_B -> Match_Item_B =Answer_C -> Match_Item_C } |
|
N/A |
Random short-answer matching questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
There is no WV equivalent. |
|
|
N/A |
Other code conventions
[edit | edit source]Inserting feedback
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{Question |type="()"} + The correct answer. || Feedback for correct answer. - Distractor. || Feedback for distractor. - Distractor. || Feedback for distractor. - Distractor. || Feedback for distractor. |
Question { =The correct answer.#Feedback for correct answer. ~Distractor. #Feedback for distractor. ~Distractor. #Feedback for distractor. ~Distractor. #Feedback for distractor. } |
|
|
Inserting blocks of text between questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
{This is the first question. |type="()"} + The correct answer. - Distractor. - Distractor. {This is a block of text.} {This is the second question. |type="()"} + The correct answer. - Distractor. - Distractor. |
There is no GIFT equivalent. See GIFT to WV Notes. |
|
|
Mark-up in questions
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
Using Images in Questions { What is this? [[Image:Butterfly tongue.jpg|100px| ]] | type="()" } - Tiger + Butterfly - Bee - Fly Using Images in Answers <quiz display=simple> { Which of these are not nuts? } - [[Image:Walnut03.jpg|100px]] + [[Image:Peanuts.jpg|100px]] + [[Image:Malus-Idared on tree.jpg|100px]] - [[Image:Pistachios in a bag.jpg|100px]] - [[Image:Chestnut.jpg|100px]] + [[Image:P10802511.JPG|100px]] </quiz> Other mark-up that works within WV
|
Mark-up can only be done outside the curly brace block. [markdown] Question{ =Answer ~Distractor ~Distractor } The following mark-up is available in GIFT.
|
|
|
Configuring points
[edit | edit source]Changing the value of single correct (and incorrect) responses
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
<quiz points="3/1!"> {Try this question now.} + Plus 3 points for this one. - Minus 1 point for this one. </quiz> |
Question{ =Best_Answer =%50%Partial_Credit_Answer ~%-50%Partial_Debit_Answer ~%-100%Worst_Answer } |
|
|
Changing the value of single questions in respect to a group
[edit | edit source]Wikiversity Microformat | GIFT Microformat | Conversion Comments GIFT to Wikiversity |
Conversion Comments Wikiversity to GIFT |
---|---|---|---|
<quiz display=simple> {Try this question now. |type="()" } + 1 points for this one. - 0 points for this one. {Try this question now. |type="()" coef="2"} + 2 points for this one. - 0 points for this one. {Try this question now. |type="()" coef="4"} + 4 points for this one. - 0 points for this one. {Try this question now. |type="()" coef="0.5"} + 1/2 point for this one. - 0 points for this one. </quiz> |
GIFT does not do this function. This function is in the Moodle Import system. |
|
|
Conclusion
[edit | edit source]For the most part most question types, and features can be converted with no obvious difficulty. There are a few instances where a question may have to be broken up into several questions, or a questions may change the way it appears to the test-taker in a dramatic way without changing the function. Those instances may require special functions to accomplish.
Keep in mind having this information is only the first step in determining the scope of a conversion project, and hence its length, since the code available for extension has to be taken into consideration as well. As of yet there is no known document that takes any code in consideration. A complimentary document would compare a body of code of interest, such as Quiz.php, with this document to determine the true nature of a conversion project.
See also
[edit | edit source]Nothing here yet