Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ateeducacion/moodle-playground/llms.txt

Use this file to discover all available pages before exploring further.

Moodle Playground accepts query parameters on the main app URL to control which Moodle and PHP version loads, which blueprint to run, and how debugging and networking behave. For example, to boot a specific version combination:
https://moodle-playground.com/?moodle=4.5&php=8.3

Reference

ParameterExampleWhat it does
moodle?moodle=4.4 or ?moodle=MOODLE_500_STABLESelects the Moodle version or branch to boot.
php?php=8.3Selects the PHP version. Must be compatible with the chosen Moodle branch; falls back to a supported version if not.
blueprint?blueprint=<inline>Loads an inline blueprint. Accepts raw JSON, base64, gzip+base64url, or a data: URL. Highest precedence of all blueprint sources.
blueprint-url?blueprint-url=/assets/blueprints/examples/minimal.blueprint.jsonFetches a blueprint from a relative or absolute URL.
debug?debug=trueEnables verbose runtime tracing and logs. Accepted values: true, developer, normal, minimal, 0.
profile?profile=runtime-selectionProfiles one or more subsystems (comma-separated). Advanced use only.
addonProxyUrl?addonProxyUrl=https://proxy.example/Proxy base URL for browser-side plugin and theme ZIP downloads (works around CORS).
phpCorsProxyUrl?phpCorsProxyUrl=https://proxy.example/Proxy base URL for outbound PHP networking fallback (works around CORS).
repo / owner / branch (alias ref)?repo=org/plugin&branch=feature-xSets the {{REPO}}, {{OWNER}}, and {{BRANCH}}/{{REF}} constants inside the loaded blueprint. Use with blueprint-url to target a PR branch without hardcoding it.

Blueprint source precedence

When more than one source could provide a blueprint, the app picks the first match in this order:
blueprint  >  blueprint-url  >  saved session  >  project default  >  built-in minimal
The blueprint parameter (inline) always wins. If no parameter is given and there is a saved session in the current tab, that session is restored. If nothing matches, the built-in minimal blueprint runs.
scope, runtime, path, clean, and reload are internal parameters set by the app itself — between the shell, the remote iframe, and the service worker. Do not set them by hand. To start fresh, use the Reset Playground button in the shell rather than a URL parameter.

Examples

Boot a specific Moodle and PHP version

https://moodle-playground.com/?moodle=4.5&php=8.3

Load a blueprint by URL

https://moodle-playground.com/?blueprint-url=/assets/blueprints/examples/course-with-content.blueprint.json

Load an inline blueprint (URL-encoded JSON)

https://moodle-playground.com/?blueprint=%7B%22steps%22%3A%5B%7B%22step%22%3A%22installMoodle%22%7D%5D%7D
Inline blueprints can also be base64 or gzip+base64url encoded, which keeps long URLs significantly shorter. A gzip+base64url-encoded blueprint is typically 60–70% smaller than the same JSON URL-encoded. See the Blueprints documentation for how to author and encode them.

Build docs developers (and LLMs) love