Skip to content

feat(playground): overlay the editor at boot instead of baking it in#47

Merged
erseco merged 1 commit into
mainfrom
feat/playground-editor-overlay
Jun 9, 2026
Merged

feat(playground): overlay the editor at boot instead of baking it in#47
erseco merged 1 commit into
mainfrom
feat/playground-editor-overlay

Conversation

@erseco

@erseco erseco commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

What

The playground preview no longer bakes the ~73 MB eXeLearning editor into the app zip. The blueprint installs the lean app and overlays the upstream editor release at boot via the new unzip step — mirroring the Moodle/WP playgrounds.

Why

Consistency with the other eXeLearning playgrounds (the editor is a shared upstream artifact, overlaid at boot) and a much smaller preview zip.

How

  • blueprint.json: add an unzip step that extracts the upstream editor into the installed app's js/editor/ (strips the static/ wrapper), pinned to .editor-version.
  • .github/workflows/playground-preview.yml: drop the make download-editor step so package-zip ships without js/editor/; report the overlaid editor version from .editor-version in the PR comment.
  • .github/workflows/auto-release.yml: keep the blueprint's editor URL in sync with .editor-version on each bump (sed, committed with the marker) — the same durable pattern as the Moodle/WP plugins.

Scope: playground only

Production (release.yml / auto-release.yml) still bakes the editor into the appstore tarball — EditorController serves it disk-only (EditorController.php:54,221-223) with no runtime download, and an appstore app must be self-contained. This change touches the playground preview only; make download-editor / build-editor stay for production and local Docker.

Depends on

ateeducacion/nextcloud-playground#21 (the new unzip blueprint step). That must merge and deploy first, otherwise the deployed playground does not recognize the unzip step and the editor would not be overlaid.

The playground preview zip no longer bundles the ~73MB eXeLearning editor.
Instead the blueprint installs the lean app and overlays the upstream editor
release at boot via the new `unzip` step (mirroring the Moodle/WP playgrounds),
keeping the preview zip small and the editor a shared upstream artifact.

- blueprint.json: add an `unzip` step that extracts the upstream editor into the
  installed app's js/editor/ (strips the 'static/' wrapper), pinned to .editor-version.
- playground-preview.yml: drop the `make download-editor` step so package-zip ships
  without js/editor/; report the overlaid editor version from .editor-version.
- auto-release.yml: keep the blueprint's editor URL in sync with .editor-version on
  each bump (sed, committed with the marker).

Production (release.yml / auto-release.yml) still bakes the editor into the appstore
tarball — EditorController serves it disk-only with no runtime download.
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Preview this PR in the Nextcloud Playground

Open this PR in the Nextcloud Playground

A fresh Nextcloud boots in your browser with this branch's exelearning app installed and enabled (log in as admin / admin). Two sample .elpx are seeded under exelearning-samples/ in Files — click one to open the viewer.

eXeLearning editor: v4.0.1 (overlaid at boot from the upstream release).

@erseco erseco merged commit 8647ecb into main Jun 9, 2026
16 checks passed
@erseco erseco deleted the feat/playground-editor-overlay branch June 9, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant