scaffold · docs

Installing into Moodle

How to build and install the scaffold Moodle plugin so your educators can author inside Moodle.

This page is for the person installing scaffold into Moodle. It assumes you administer a Moodle site and have site administration access.

The scaffold Moodle plugin is a native activity module (mod_scaffold). Educators add it to a course as a regular activity; learners see the rendered page; grades flow through Moodle’s gradebook.

What you need

  • A Moodle 4.5 or later site you administer.
  • Site administration access.
  • Filesystem access to install the plugin at <moodle>/mod/scaffold.
  • A local checkout of the scaffold repository with Vite+ available.

Install from source

From the scaffold repository root, install dependencies and build the plugin’s frontend:

vp install
vp run @scaffold/adapter-moodle#build

Copy or symlink adapters/moodle/scaffold into <moodle>/mod/scaffold. The Vite+ build creates the plugin’s public/ assets. The plugin also has a Moodle JavaScript module under amd/src/, so build Moodle’s deployable amd/build/ output from the Moodle checkout before running the database upgrade:

cd /path/to/moodle
npx grunt amd
php admin/cli/upgrade.php --non-interactive
php admin/cli/purge_caches.php

You can run the database upgrade through the Moodle administration UI instead. After the upgrade, “Scaffold” should appear in the activity chooser when adding an activity to a course.

Release ZIPs are not published yet. When they are, installation through Moodle’s standard Site administration → Plugins → Install plugins flow will be supported; until then, use the source installation above.

Add it to a course

In a Moodle course, turn on edit mode, open the activity chooser, and pick Scaffold. Configure the activity the same way as any other Moodle activity (name, intro, grade settings). Save.

Authors edit through scaffold’s dedicated authoring view. Learners see the learner view when they open the activity.

Where the data lives

Scaffold stores author content, learner-safe content, and assessment contracts in Moodle tables created by the plugin’s database schema. The plugin uses Moodle’s standard APIs:

  • Files go through Moodle’s File API in the media file area for any uploaded blocks or attachments.
  • Submissions and grades use Moodle external functions called through core/ajax.
  • Official grades are written through Moodle’s gradebook API.

You see the result in the Moodle gradebook in the same place you’d see any other graded activity.

Adapter behaviour worth knowing

  • Single author per page. Real-time collaboration is disabled in the Moodle adapter; the activity is treated as a single-author surface.
  • Server-side grading. Submissions are graded server-side through the external functions; browser-side responses don’t decide the grade.
  • Plugin maturity. The current release of mod_scaffold is marked as alpha. We expect bug reports and the upgrade path may involve breaking changes during this stage.

What’s next