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.