For AI agents: the complete documentation index is available at /mbzoo/docs/llms.txt, the full documentation bundle is available at /mbzoo/docs/llms-full.txt, and this page is available as Markdown at /mbzoo/docs/guide/activity-support.md.

Activity & content support

MBZoo renders what the backup actually contains, and is transparent about what it cannot do. Unknown third-party plugins never break the course view.

Moodle moduleInspectRender / previewNotes
Pageโœ…โœ… sanitized HTMLADR-0012/0013
Labelโœ…โœ… sanitized HTML
URLโœ…โœ… external linknever fetched automatically
Resource / Fileโœ…โœ… inline previewPDF via pdf.js canvas, images, text, sandboxed HTML (ADR-0014)
Folderโœ…โœ… file cards
HTML page w/ CSS+JSโœ…โœ… sandboxed iframeopaque origin + CSP; scripts isolated from the app (ADR-0014). Links inside a multi-page site (e.g. an eXeLearning export) navigate through a validated request to MBZoo; the page row is a table of contents (ADR-0022)
Bookโœ…โœ… chapters with TOC
Forumโœ…โœ… typed summaryforum type and settings; discussions only exist if the backup included user data
Glossaryโœ…โœ… entries renderedentries are user-generated, so a backup taken without user data has none โ€” the viewer says so
Assignmentโœ…โœ… summarydates and submission types; submissions only present with user data
Lessonโœ…โœ… branching pagespages, answers and where each jump leads โ€” all of it travels in a content-only backup
Choiceโœ…โœ… question + options
Databaseโœ…โœ… field schemathe fields collected; records only exist with user data
Workshopโœ…โœ… instructions + examplesexample submissions and both instruction blocks; peer work is user data
IMS content packageโœ…โœ… TOC + sandboxed pagestable of contents read from the PHP-serialized structure (ADR-0021)
Subsectionโœ…โœ… nested in the treeMoodle 4.5+ delegates a section to a module; MBZoo nests it under its owner rather than listing it as a sibling
Survey (retired) ยท Assignment 2.2 (retired)โœ…โœ… summaryremoved from Moodle core in 5.0 and 4.2; no current Moodle can restore them
Chat ยท Wikiโœ…โœ… typed summaryschedule / wiki mode; messages and pages are user data. Chat is labelled retired: Moodle removed it in 5.0 (MDL-82457)
Feedback (questionnaire)โœ…โœ… items renderedlabels, questions and their options in author order; responses only exist with user data
Quizโœ… metadata + question bankโœ… read-only question navigationmultichoice/true-false/short answer/essay/match; random slots page through the pool they draw from, captioned with how many an attempt asks; faithful execution requires Moodle's Question Engine โ€” not a goal
Question bank ยท External tool ยท BigBlueButtonโœ…โœ… typed summaryconfiguration records; MBZoo never launches an external tool
SCORMโœ… metadata + course structure๐Ÿงช experimental playbackSCOs run in the opaque-origin sandbox with a scorm-again runtime in the same document; nothing is tracked or saved (ADR-0023)
H5P (mod_h5pactivity / .h5p files)โœ… metadata + packageโš ๏ธ experimental playbacksandboxed player, self-contained packages; see ADR-0018 โ€” unsupported content types fall back to download
EPUBโœ…โœ… chapter by chapterspine read from the OPF; assets inlined from the package, rendered in the sandbox. No pagination or bookmarks (ADR-0024)
eXeLearning .elp/.elpxโœ… classified by contentsโœ… exported sitea .elpx carries the project and its render; the render is shown. A legacy .elp with only content.data says why it cannot be decoded (ADR-0025)
Unknown third-party pluginsโœ…โœ… metadata fallbacknever break the course view

Legend: โœ… implemented ยท ๐Ÿ”œ planned next ยท โณ research (Q-012/Q-013/Q-016).

Media files (video, audio) preview inline with native controls; a media element decodes its file but never executes it.

Personal data

A backup taken with users included carries a root users.xml holding names, usernames, email addresses, ID numbers, phone numbers, postal addresses, institutions, the last IP each account logged in from, and profile descriptions. MBZoo says so as soon as such a file is opened: how many people, and which kinds of data are actually populated. The list of names sits behind a disclosure that stays closed, so reading it is deliberate rather than something that happens while screen-sharing.

Nothing leaves your device โ€” but the file does. Treat a backup with user data as personal data before emailing it, uploading it or committing it anywhere.

Grading

Every activity's grade item travels in a content-only backup, so MBZoo shows what it is out of, what counts as a pass, its weight and whether it was hidden โ€” read from grades.xml beside the module payload. Students' marks (<grade_grades>) are user data and are never read.

Rubrics and marking guides live in grading.xml, and are often the clearest statement of what a task is assessed on: criteria, levels and their scores are rendered in full. A grading method MBZoo does not decode is named rather than shown as empty.

The course-wide gradebook โ€” the category tree, its aggregation method, and the grade letters โ€” is shown in the detail pane before an activity is selected.

Retired modules

Moodle has removed chat and survey from core (5.0, MDL-82457) and assignment (4.2, MDL-72350), so no current Moodle can restore them โ€” but backups written before those releases still carry them. MBZoo reads them like any other module and labels them retired next to the module name, with the release that dropped them.

Moodle cannot store absolute URLs for links between activities, so a backup carries them as $@COURSEVIEWBYID*62@$-style tokens. MBZoo decodes them (ADR-0019): a link to an activity that travelled in the same backup opens that activity in MBZoo, anything else becomes a labelled link to the site recorded in <original_wwwroot> โ€” opened in a new tab, never fetched by MBZoo โ€” and a token MBZoo cannot decode keeps its text but leads nowhere, rather than pretending to point somewhere.