Skip to content

Feature/embedded editor#46

Open
erseco wants to merge 12 commits intoexelearning:mainfrom
ateeducacion:feature/embedded-static-editor
Open

Feature/embedded editor#46
erseco wants to merge 12 commits intoexelearning:mainfrom
ateeducacion:feature/embedded-static-editor

Conversation

@erseco
Copy link
Collaborator

@erseco erseco commented Feb 9, 2026

This pull request introduces several foundational improvements to the project, focusing on build automation, environment configuration, packaging, and editor integration. The most significant changes include the addition of a comprehensive Makefile for cross-platform development, a new GitHub Actions workflow for automated releases, environment variable management, packaging rules, and the initial implementation of a modal controller for the embedded eXeLearning editor.

Build and Packaging Automation:

  • Added a detailed cross-platform Makefile to automate Docker management, dependency installation, code linting, testing, static editor building, submodule management, and packaging into distributable ZIP files. The Makefile includes robust environment and Docker checks, OS detection, and help documentation.
  • Introduced a .distignore file to control which files and directories are excluded from the distributable package, ensuring clean and minimal releases.
  • Added a .env.dist template file to document and manage required environment variables for local development and Docker Compose usage. (,R1-R21)

Release Workflow:

  • Added a GitHub Actions workflow (.github/workflows/release.yml) to automate building the static editor, packaging the plugin, and uploading the ZIP file as a release asset whenever a new release is published.

Editor Integration:

  • Added an initial implementation of amd/src/editor_modal.js, which provides a modal overlay for the embedded eXeLearning editor. This includes fullscreen modal creation, save/close button handling, postMessage communication with the iframe editor, and integration with Moodle's string APIs and logging.
  • Registered the exelearning submodule in .gitmodules pointing to the appropriate feature branch for the embedded static editor.

These changes lay the groundwork for streamlined development, consistent packaging, and seamless integration of the embedded editor within the Moodle plugin.

@erseco erseco self-assigned this Feb 9, 2026
@erseco erseco marked this pull request as ready for review February 19, 2026 11:55
@pabloamayab
Copy link
Collaborator

Great job @erseco

After the first tests:

  • When installing the plugin, it required me to have a template. In previous versions, if none was specified, it set a default one. I don't think this is important.
image
  • In the configuration, I specified that it should use the integrated editor, but when creating the activity, it allows me to use the online version.
image
  • The package type selector has two identical options, although they are different in purpose.

  • The URL parameter is inconsistent with how the exeweb plugin works.

image - In certain situations, the edit button with eXe appears in places where it shouldn't. image
  • Once Tiny has an image, the resource is no longer saved.
  • The close button is incorrect.
image
  • The same problems occur with the image optimizer as with exeweb.

@erseco
Copy link
Collaborator Author

erseco commented Mar 7, 2026

Hi @pabloamayab I’ve made the requested corrections based on your previous review.

Could you please check it again when you have a moment?

Thanks.

@erseco erseco changed the title Feature/embedded editor (WIP) Feature/embedded editor Mar 8, 2026
Copy link
Collaborator

@ignaciogros ignaciogros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this great tool, @erseco.

I've been testing with Moodle 4.5.10 using the static editor.

If you add a new activity an click on "Save and display" you get this PHP error:

Exception - array_keys(): Argument #1 ($array) must be of type array, null given

The same error is displayed when you click con "Save and return" (it returns to the course) and then you click on the name of the activity to see it.

Apart from that, the "Edit in eXeLearning" button is visible when Moodle's "Edit mode" is off, but that's just a detail.

@ignaciogros
Copy link
Collaborator

I suggest creating a new branch for this and integrating the development into this repository as soon as possible, so it's easier to contribute.

@erseco erseco dismissed ignaciogros’s stale review March 9, 2026 13:46

I fixed this exception, please review again if you can

@erseco erseco requested a review from ignaciogros March 9, 2026 13:46
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.

3 participants