text2qti icon indicating copy to clipboard operation
text2qti copied to clipboard

Support QTI v2.2

Open rzach opened this issue 4 years ago • 5 comments

Enhancement request for future development: support the newer QTI 2 standard for quizzes and questions.

I'm attaching a sample test in QTI 2 that should illustrate all the features currently supported by text2qti: QTI_2.1_Sample_Test.zip It was created with the ONYX test editor which is a reference implementation of QTI 2.1. The specification can be found here. Canvas should support QTI 2.1 for import, but I guess exports only QTI 1 for export.

Reasons this may be desirable:

  • Support for more LMS. In QTI 2, tests and questions have both titles and descriptions. Importing a QTI 1 test package created by text2qti into Brightspace (eg) creates a quiz in which every question is called "Question" (ie the question text is imported into the description field/question prompt not the question title field, since QTI 1 doesn't have both.
  • Support more question types and options.

rzach avatar May 21 '20 14:05 rzach

Thanks for the example file. Support for v2.1 would be good. I don't expect to have time to work on this myself for the forseeable future...I'm going to look into adding a few more question types and other features over the next few days, and then I'll probably be limited to basic maintenance/bug fixes for a while.

For question titles: There are actually titles in QTI v1.2. You can open a QTI file and search the XML for something like

<item ident="{ident}" title="Question">

text2qti is always just setting "title" to "Question" because Canvas apparently ignores it. You could try editing the title and importing into Brightspace. If it doesn't ignore the title, I can easily add a way to set the title.

gpoore avatar May 21 '20 19:05 gpoore

Fair enough, I just wanted to put this info here since I was just collecting tools and specs myself. Perhaps someone else is interested in contributing it at some point.

rzach avatar May 21 '20 20:05 rzach

Another options is to use the rpy2 module and simply call the exams2qti21 function in the exams R package. It's not a perfect solution, but it might be a serviceable workaround in the short-run.

wsphd avatar Dec 20 '20 05:12 wsphd

@gpoore I imagine you have not too much bandwidth if there's no changes in the status of this issues after more than 2 years. I'm willing to volunteer to add that support because it's important for a project where I collaborate ( https://www.learningequality.org/kolibri/ ) do you think you could have time to review possible PRs to include them in text2qti and close this issue if I do them?

jredrejo avatar Jul 10 '23 18:07 jredrejo

@jredrejo If you can create a complete implementation for QTI v2, I'll be happy to review it. I haven't used text2qti myself since last fall, but I'll be using it again in a little over a month, and will probably have time to work on some of the smaller issues and perhaps add a few features then. However, I don't have time for larger issues like this unless I'm using the features myself, and I still don't need QTI v2 for what I'm doing. If you think any significant reorganization or refactoring of the existing code is needed to add QTI v2, I'll be happy to discuss that.

gpoore avatar Jul 13 '23 04:07 gpoore