HomeBlogSwitching & Importing › Inside an .imscc file
Switching & Importing

An .imscc file is a ZIP archive in the IMS Common Cartridge layout. Rename it to .zip, unzip it, and everything is readable: XML for structure, HTML for content, and your original uploads sitting in a folder. Nothing is encrypted, and nothing is proprietary.

That openness is the whole point. A course you built over years is not locked to the platform you built it on, provided the destination bothers to read the format properly. The catch is that "properly" covers a wide range, and the difference shows up in the parts of your course you care most about.

The walkthrough below is based on real cartridges rather than the specification. The figures come from a genuine full-course export of a Digital Logic Design course: 107 files, about 5 MB, 18 assignments, 4 quizzes, 18 pages and 13 uploaded files.

imsmanifest.xml: the table of contents

Every cartridge has one, at the root. It does two jobs. The <organizations> section holds your module tree: modules in order, the items inside each one, their order, and their indentation level. The <resources> section maps every item to the file that holds its payload, tagged with a resource type.

Those types are how an importer knows what it is looking at:

Resource typeWhat it is
webcontentAn HTML page, or an uploaded file under web_resources/
imswl_xmlv1p1An external web link with its title and URL in a small XML file
imsdt_xmlv1p1A discussion topic, with its body as HTML
imsqti_xmlv1p2A quiz, as QTI 1.2 question XML
associatedcontent/...Canvas-specific metadata attached to another resource, most importantly quiz settings

course_settings/: the part that carries the nuance

This folder is Canvas-specific and is where the interesting detail lives. An importer that reads only the manifest gets a structurally correct but noticeably flatter course.

Quizzes: QTI 1.2, plus a settings file

Each quiz gets its own hash-named folder holding two things: the QTI XML with the questions, and an assessment_meta.xml with the Canvas settings. That second file is easy to overlook and carries a lot:

Question types are where QTI's age shows. multiple_choice_question, true_false_question and multiple_answers_question map cleanly and are the overwhelming majority of real quizzes. Essay, matching and dropdown types are less consistent, and some newer Canvas question types have no faithful QTI representation at all. A good importer skips those individually and tells you; a bad one drops them without a word. Always compare question counts after an import.

One more detail worth knowing: equations written in the Canvas equation editor are stored as images, not as maths. Unless the importer converts them back to LaTeX or MathML, your formulas arrive as pictures that cannot be edited, searched or resized.

rubrics.xml: small file, large consequences

Rubrics live in a single XML file, with criteria, rating levels and point values, plus the association back to the assignment each was attached to. In the cartridge we test against it is 38 KB of genuinely structured data.

The association is the fragile part. Canvas can record the link from either side, assignment-to-rubric or rubric-to-assignment, and an importer that handles only one direction leaves you with a correct pile of rubrics attached to nothing. If you have ever imported a course and found your rubrics present but unlinked, this is why.

Outcomes

Learning outcomes carry their title, description and mastery threshold. Whether they mean anything after the move depends on whether the destination has an equivalent concept. Plenty of platforms simply have nowhere to put them, so they are the most commonly discarded part of a cartridge. This matters greatly if you are running an outcome-based programme and that mapping represents accreditation evidence.

web_resources/: your actual files

Your uploads, with the original folder structure preserved, including the slightly untidy folders Canvas creates on your behalf: Uploaded Media/, unfiled/, course_image/.

The subtlety here is links. Inside your pages, references to these files are not normal URLs. Canvas writes placeholder tokens: $IMS-CC-FILEBASE$ for an uploaded file, $WIKI_REFERENCE$ for another page, and $CANVAS_OBJECT_REFERENCE$ for other objects. An importer has to rewrite each one to point at the imported copy. Skip that step and your pages import looking perfect while every internal link is quietly broken, the kind of failure you discover in week three from a student.

What is definitively not in the file

No student submissions, no gradebook, no enrolments. This is not an omission to work around; it is the correct boundary. Your course package is your intellectual work, while student records belong to the institution that collected them and should not travel in a file you email to yourself.

A short checklist for judging an importer

If you are evaluating where to take your course, these five questions separate a real implementation from a checkbox:

  1. Does it preserve published/draft state per module? (Did it read module_meta.xml?)
  2. Does it carry assignment group weights?
  3. Do quizzes keep their attempt and scoring rules, not just their questions?
  4. Are rubrics still attached to the right assignments afterwards?
  5. Does it give you a report of what it skipped, or does it just say "success"?

That last one matters most. Every cartridge contains something the destination cannot represent. A trustworthy import tells you what was dropped; a bad one does not.

Curious what your own course would look like?

ProfDesk shows you every module, page, file, quiz, assignment, rubric and outcome it found in your cartridge before it writes anything, then reports exactly what it could not map.

Common questions

How do I open an .imscc file?

Rename the extension to .zip and unzip it with any standard tool. There is no encryption or proprietary container. It is an ordinary ZIP archive with an agreed internal layout.

Is Common Cartridge the same as SCORM?

No. SCORM packages a self-contained learning object designed to run inside a player and report progress back. Common Cartridge describes a whole course, including its structure, pages, files, quizzes, and links, for another platform to import as editable content. For moving a course between platforms, Common Cartridge is the relevant standard.

Why do my quizzes sometimes come across incomplete?

Canvas exports quizzes as QTI 1.2, which covers common question types cleanly but has no standard representation for some newer Canvas question types. A careful importer reports what it skipped instead of failing; a careless one drops questions silently. Always check the count after importing.

Do outcomes and rubrics survive an export?

They are in the file. Rubrics include their criteria and rating levels, while outcomes include titles, descriptions, and mastery thresholds. Whether they survive depends entirely on whether the destination platform has an equivalent concept and bothers to map it. This is the most commonly dropped part of a cartridge.

Can I edit the cartridge before importing it?

You can, since it is just XML and HTML in a ZIP. It is rarely worth it. If you want to leave content behind, it is far safer to deselect it on the destination platform's import review screen than to hand-edit a manifest and risk breaking the resource references.