Exam question template — step-by-step guide
This is the exact format the exam creation form expects when you upload a questions-and-answers file, instead of adding rows one at a time in the browser.
1. Download the template
On the Exams page, click Download the
template (.csv) above the file upload field, or grab it directly
at templates/exam-questions-template.csv. It already
contains a header row and a few worked examples — open it and you'll see
exactly what a valid file looks like before you change anything.
2. The four columns, exactly as required
| Column | Required? | Accepted values |
|---|---|---|
question_text | Always | Any text — the question itself. |
type | Always | Exactly one of: mcq, true_false, short_answer (lowercase, no spaces). |
answer | Required for mcq/true_false; blank for short_answer | The exact correct answer — for mcq, must exactly match one of the options values. |
options | Required for mcq only | Semicolon-separated list of choices shown to the student, e.g. London;Paris;Rome;Berlin. Leave blank for true_false and short_answer. |
options, they don't type
free text. This removes typo risk entirely for this question type.
answer: for mcq
and true_false, a student's submitted answer is compared to
this column as plain text, ignoring case and leading/trailing spaces —
so Paris, paris, and Paris
all count as correct, but Paris, France would not match.
For true_false, use the literal words true or
false. short_answer rows are never
auto-scored — the host reviews these manually on the results page.
The template intentionally has only these four columns.
Multiple-choice options now live in their own options
column (semicolon-separated) rather than being written into the question
text — the student sees them as an actual dropdown.
3. Filling it in
Excel or Google Sheets
Open the .csv file directly, edit like a normal
spreadsheet, and when saving choose CSV (Comma delimited)
or CSV UTF-8 as the file type — not .xlsx,
since the system only reads .csv. UTF-8 is safer if any
question text uses non-English characters.
Notepad / any plain text editor
Write each question as one line, values separated by commas, matching the header order exactly:
question_text,type,answer,options
What is 7 x 8?,mcq,56,42;49;56;64
Water is a compound.,true_false,true,
Describe Newton's second law.,short_answer,,
If a question or answer contains a comma, wrap that whole field in double quotes so it isn't mistaken for a column break:
question_text,type,answer,options
"Which of these are prime numbers: 2, 3, 4?",short_answer,,
Keep the header row as the very first line — don't delete, rename, or reorder it.
4. Uploading it back
On the exam creation form, click Browse under
"Questions and answer key" and select your saved .csv file.
You do not also need to fill in the manual question rows
— if a file is uploaded, it's used as the complete question set and any
rows added by hand are ignored entirely. Prefer to build the exam
entirely by hand instead? Just skip the file and use the "Add question"
rows as before.
5. If the file has a mistake
The system checks the file on the server and rejects it with a specific message rather than silently dropping bad rows:
- Missing/misnamed header → "Template file must have columns named exactly: question_text, type, answer, options."
- Invalid
typevalue → "Row 4: type must be exactly one of mcq, true_false, short_answer — got 'multiple'." - Missing answer on a scorable row → "Row 2: answer is required for type 'mcq' (only short_answer can be left blank)."
- MCQ missing its options → "Row 3: mcq questions need an 'options' column, semicolon-separated (e.g. 'London;Paris;Rome')."
- MCQ answer not one of the options → "Row 3: answer 'Pariss' must exactly match one of the listed options."
Fix that specific row in your spreadsheet, save, and re-upload — the rest of the file doesn't need to be touched.
6. Worked example, start to finish
question_text,type,answer,options
What is the capital of Japan?,mcq,Tokyo,Beijing;Tokyo;Seoul;Hanoi
The Great Wall of China is visible from space with the naked eye.,true_false,false,
Summarize the causes of the French Revolution.,short_answer,,
Uploading this creates a 3-question exam: the first two are auto-scored the moment a student submits (the MCQ renders as a real dropdown of the four listed options), and the third appears in the host's results view for manual reading and is excluded from the score total — no extra setup required beyond this one file.
← Back to FocuXTE