Roger D.
Lead maintainer
Codeframe is a modern, responsive, and smart activity module for Moodle that allows teachers to easily embed external web content, HTML5 packages, and interactive presentations (like Genially, Canva, Google Slides) into their courses with automatic completion tracking.
postMessage, and Moodle instantly records the activity as completed in the Gradebook..zip file or several files containing an index.html (e.g., exported from Articulate Storyline, Twine, or custom web projects). Codeframe extracts and serves the package securely within the wrapper.index.html at its root.The option "Require iframe completion" is set by default. When enabled, Moodle will wait for the embedded content to send a specific JavaScript signal before marking the activity as complete for the student.
To trigger the completion from your custom HTML5 package or interactive presentation, execute this JavaScript code when the student reaches the end:
window.parent.postMessage('codeframe_completed', '*');
For Genially: If you are pasting this code inside a Genially presentation (using the Insert > Others menu), use this alternative version to bypass Genially's internal iframe structure:
window.top.postMessage('codeframe_completed', '*');script>
For Canva, Google Slides or similar (No-code): If your tool doesn't allow custom code, simply add a hyperlink on your final slide or button pointing to this universal completion URL. When the student clicks this link, the activity will be automatically marked as finished:
https://[your-moodle-site]/mod/codeframe/finish.php
This plugin is licensed under the GNU GPL v3 or later.