What is an .mbz?
An .mbz file is a Moodle course backup: a package containing the course's
sections, activities, files, settings and (optionally) user data.
Container formats
MBZoo detects the format from magic bytes and supports both.
Inside the archive
An activity directory holds more than its module payload, and the siblings are where several things hide:
The setting that decides everything
The single most useful thing to know about a .mbz is whether it was taken
with user data. Every module writes its full XML tree either way; what the
users setting gates is each element's data source.
Two modules that look equally rich in the schema can be worlds apart in a real
file. A lesson writes all of its pages and answers unconditionally — the
whole authored lesson is there. A forum writes nothing but the forum record;
every discussion and post is user data. That is why an empty glossary in a
content-only backup is not a bug, and why MBZoo says why it is empty rather
than just that it is.
Links that point nowhere
A backup may be restored onto a different site, so Moodle cannot store
absolute URLs for course-internal links. It rewrites them as
$@COURSEVIEWBYID*62@$ tokens at backup time and decodes them at restore
time. MBZoo never restores anything, so it decodes them for display instead —
in-app navigation when the target travelled in the same backup, otherwise a
labelled link to the site the backup came from, never fetched (ADR-0019).
The same grammar carries $@NULL@$, which is Moodle's serialized SQL NULL —
a field value, not a link, and never content.
Facts verified against Moodle source (moodle/moodle, REPO-005) and against
real backups, including courses generated in a real Moodle for the purpose —
see research/ in the repository.
What MBZoo does with it
MBZoo parses the minimum XML subset needed to rebuild the course navigation tree, then extracts content (pages, PDFs, websites, questions…) on demand, in your browser. Nothing is uploaded — see Privacy.