QFlowLearn: QTI 3.0 authoring
Leveling Up Canvas Imports in Sakai Lessons
September 19, 2025 Sakai

Leveling Up Canvas Imports in Sakai Lessons

Sakai Lessons now imports Canvas QTI packages with native translators, hardened XML parsing, and clearer diagnostics for admins.

Leveling Up Canvas Imports in Sakai Lessons

Sakai’s Lessons tool now handles Canvas QTI packages directly. In SAK-51805, committed on September 2, 2025, we rewired the Common Cartridge import pipeline so Canvas-flavored QTI assessments no longer fall into a generic content bucket. A new CCQTITranslator intercepts .qti, .xml, and .xml.qti files, parses them securely, and gives Samigo a complete assessment object with version detection, title extraction, and description metadata.

Recognizing Canvas QTI from the Start

The Common Cartridge parser now registers the translator before the generic handlers. We also tightened namespace utilities and expanded the Lessons assignment service so point values, due dates, and submission types survive the import. The flow validates resource types as they arrive, which reduces manual cleanup after migration.

Guardrails for Complex Courses

Canvas courses often include complex question banks and linked resources. The importer now normalizes context paths, keeps titles readable, and warns on suspicious input such as path traversal attempts inside the archive. When Sakai cannot recover, it logs diagnostics that help admins fix the source package.

Regression Suite Confidence

We wrapped the change in regression tests. The suite covers standard multiple-choice banks, Canvas assignment attachments, and the paths that connect them to Lessons. These upgrades are already available in Sakai’s 25.x branch. For instructors migrating from Canvas, the result is simple: upload the cartridge, click import, and get assessments, resources, and assignments in the right places.

Related Articles

Work with Longsight

Bring us the problems that cross your LMS, identity, and compliance systems.

We can host the service, help you run it on campus, answer security review, integrate with your LMS, and work through accessibility requirements.