Flexbook

Activities ::: mod_flexbook
Maintained by Sokunthearith "T" Makara
Flexbook is a flexible and powerful tool to create engaging and interactive learning experiences for your students.
Latest release:
14 sites
233 downloads
8 fans
Current versions available: 1

Built with similar concepts and architecture as the Interactive Video plugin, Flexbook lets you combine interactive content such as quizzes, games, and learning activities.

🚀 Main Features:

  • Distract-Free Mode: Display content to maximize focus.
  • Completion Tracking: Track completion based on content type: manual, view, or automatic.
  • Activity Completion: Set activity completion based on the percentage of interactions completed and/or when the user reaches the end of the content.
  • Experience Points: Award participants experience points after each content/interaction completion. XPs are converted into an activity grade in the gradebook.
  • Detailed Reports: Access completion reports with details for each interaction.
  • Mobile Support: Compatible with mobile apps on both Android and iOS.
  • Modular Design: Administrators can add, remove, enable, or disable content types as plugins/subplugins. Developers can easily develop interaction-type plugins using the methods exposed by Flexbook classes.

🌟 Out-of-the-box content types:

  • Chapter: Break the book into chapters.
  • Content bank item: Add content from the course's content bank.
  • External content: Embed external content using the OEmbed library + Google Drive files.
  • Rich text: Text content using the text editor.
  • Video: Add video (segmented or entire).

⬇️ Free interaction types:

These independent plugins can be installed like a regular plugin. Once installed, the interactions are available automatically in the interaction list. If you're looking to develop a content type plugin for Flexbook, these plugins are great references.

  Description Tutorial
H5P Content ℹ️
Upload and display H5P activity in .h5p and .html format, and track completion using xAPI events
▶️
HTML Content ℹ️
Upload and display HTML content such as HTML5 games, simulations, web pages, interactive diagrams, etc.
▶️
PDF Documentℹ️
Display a PDF file using the PDF.js viewer.
▶️
Office Documentℹ️
Display office documents using the online M365 viewer. 
▶️

💡Quick tip: Items can be added to the cart and checked out altogether at once.

🛒 Paid interaction types:

If you're looking for more features/interaction types, check out the paid interaction types below.
Note: This is a one-time purchase without a recurring subscription fee. You can use the plugins for as long as you want.

  Description Tutorial
AI Quiz ℹ️
Create a quiz with a series of MCQs generated with AI or manually added. Use as an exit quiz to track activity completion. Optionally, limit the number of questions to display per attempt from the question bank.
▶️
Course Activity ℹ️
Reference or embed an existing course activity as an interaction
▶️
Form ℹ️
Build a dynamic form using a drag-and-drop builder and collect responses from learners at any time.
▶️
Poll ℹ️
Create a poll to gather feedback from learners and optionally display the summary to learners.
▶️
Question ℹ️
Quickly add a multiple-choice question at a specific time. Supports both single and multiple-response modes + time limit.
▶️
SCORM Content ℹ️
Upload and display SCORM-compliant content (supporting 1.2 and 2004 versions) with completion tracking
▶️
Mini Game ℹ️
Leveraging AI, vibe-code an interactive game, exercise, or simulation, and integrate it into a Flexbook activity. Supports completion tracking and report data.
▶️
Coming soon 3D Model ℹ️
Present a 3D model with scenes and interactive hotspots. Supports animations, variants, AR mode, background audio, and a ton of camera/lighting/material configurations.
 
Coming soon VR Tour ℹ️
Add an interactive Virtual Reality tour (images and 360 videos) with multiple locations/worlds. Supports scenes, interactive hotspots, and scene audio.
 
Coming soon GeoGebra Applet ℹ️
Assign math homework or simply present a math interaction. Supports completion tracking based on a set of requirements that are evaluated as learners interact with the applet.
 
Coming soon Board ℹ️
Add an interactive board with texts, images, videos, audio, drawings, shapes, timers, hotspots, math expressions, and Lottie animations. Like Canva, but with a ton of interactive elements.
 

🛠️ Not found what you're looking for?

  • Develop your own: review one of our free interaction types and vibe-code your own interaction plugin.
  • Sponsor a development: you pay; we develop and maintain the interaction plugin to meet your needs.

Installing via uploaded ZIP file

  1. Log in to your Moodle site as an admin and go to Site administration > Plugins > Install plugins.
  2. Upload the ZIP file with the plugin code. You should only be prompted to add extra details if your plugin type is not automatically detected.
  3. Check the plugin validation report and finish the installation.

Installing manually

The plugin can also be installed by putting the contents of this directory into

{your/moodle/dirroot}/mod/flexbook

Afterwards, log in to your Moodle site as an admin and go to Site administration > Notifications to complete the installation.

Alternatively, you can run

$ php admin/cli/upgrade.php

to complete the installation from the command line.

License

2026 Sokunthearith Makara sokunthearithmakara@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

Sokunthearith "T" Makara (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments

Show comments
  • Plugins bot
    Sun, 26 Apr 2026, 5:20 PM
    Approval issue created: CONTRIB-10485
  • wz z
    Tue, 26 May 2026, 12:26 PM
    Does this plugin need external dependent subscrption? There is nothing on Flexbook authoring pages after my installation.
  • Sokunthearith "T" Makara
    Tue, 26 May 2026, 1:53 PM
    @wz: please go to the setting page: /admin/settings.php?section=modsettingflexbook and enable the content types.
  • wz z
    Thu, 28 May 2026, 9:16 AM
    @Sokunthearith Thank you! I did enable the content types and then tried and then asked here sad
  • Sokunthearith "T" Makara
    Thu, 28 May 2026, 12:02 PM
    @wz: I created an issue on GitHub and shared a screenshot of what you're supposed to see on the Interactions page: https://github.com/sokunthearithmakara/moodle-mod_flexbook/issues/6. If you're not seeing the same thing, please feel free to share the screenshot in the comment (on GitHub).
Please login to post comments