URL parameters¶
Append query parameters to the main app URL to pick a Moodle/PHP version, load a blueprint, or turn on debugging. For example:
For everyday workflows, see Basic usage. To build your own setups, see Blueprints.
Reference¶
| Parameter | Example | What it does |
|---|---|---|
moodle |
?moodle=4.4 or ?moodle=MOODLE_500_STABLE |
Selects the Moodle version or branch to boot. |
php |
?php=8.3 |
Selects the PHP version. Must be compatible with the Moodle branch, otherwise it falls back to a supported version. |
blueprint |
?blueprint=<inline> |
Loads an inline blueprint. Accepts raw JSON, base64, gzip+base64url, or a data: URL. Highest precedence. |
blueprint-url |
?blueprint-url=/assets/blueprints/examples/minimal.blueprint.json |
Fetches a blueprint from a relative or absolute URL. |
debug |
?debug=true |
Enables verbose runtime tracing and logs (any truthy value). |
profile |
?profile=runtime-selection |
Profiles one or more subsystems (comma-separated list). Advanced. |
addonProxyUrl |
?addonProxyUrl=https://proxy.example/ |
Proxy base URL for browser-side plugin/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-x |
Sets the {{REPO}}, {{OWNER}}, and {{BRANCH}}/{{REF}} constants for 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:
Internal parameters
scope, runtime, path, clean, and reload are internal plumbing 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:
Load a blueprint by URL:
https://moodle-playground.com/?blueprint-url=/assets/blueprints/examples/course-with-content.blueprint.json
Load an inline blueprint (raw JSON, URL-encoded):
https://moodle-playground.com/?blueprint=%7B%22steps%22%3A%5B%7B%22step%22%3A%22installMoodle%22%7D%5D%7D
Tip
Inline blueprints can also be base64 or gzip+base64url encoded, which keeps long URLs shorter. See Blueprints for how to author and encode them.