Using exams2openolat for exporting exercises from R/exams to OpenOlat, is there a way to ask a question where the student can upload a file as an answer (pdf, jpg, ...)? This would be useful for mathematical proofs for example which are just easier written by hand and then scanned rather than typed.
According to this tweet
[...] The QTI engine in OpenOlat is very cool & powerful!
We're trying to catch up with its interaction features (e.g., matching, ordering) but some (e.g., file upload) have been added in #rexams devel. [...]
there should be such an option in the development version of R/exams, but I can not find anything else about that.
Extended string items
Indeed, this feature is available in
exams2openolat(andexams2qti21more generally; partially also inexams2moodle) starting from version 2.4-0. The simple idea is that you can set a "type" forstringexercises andstringelements inclozeexercises:string: This is the default type for astringexercise, leading to a small fill-in-the-blank field. This is scored automatically by exact string matching.essay: Alternatively, you can get a larger text field where students can enter longer answers. This has to be scored manually by the lecturer.file: As another alternative you can get a file upload interaction at the end of the exercise. Again this has to be scored manually by the lecturer.Simple string example
A very basic example asking for a proof (as described in your question) is provided below. The
exstringtypeis set tofileand hence noexsolutionis needed (because it cannot be scored automatically) which is therefore set tonil. The exercise uses R/Markdown .Rmd markup - it would, of course, be also possible to use R/LaTeX .Rnw markup. Also you could include aSolutionsection if you wanted to.More complex cloze example
Similarly, in a
clozeexercise you could set theexclozetypetoessayorfilefor a certain element. A worked example is available in the development version of the package aslm3.Rmdwhich combines all possible elements in a single cloze:string,mchoice,num,schoice,essay,file. Try:exams2openolat("lm3.Rmd", ...). In OpenOlat the open-ended elements (essayandfile) have to be scored by the lecturer while the remaining elements can be scored automatically as usual.