Course Builder 1.11
- Meet Course Builder
- Set Up Course Builder
- Create a Course
- Customize Course Style
- Debug Course
- Prepare for Students
- Publish a Course
- Analyze Data
- Administer Site
- Upgrade Course Builder
For Course Builder Developers
- Get Started
- Customize Course Builder
- Explore the Directories
- Specific Sub-Tasks
- Feature List
- Release Notes
Create Custom Modules
If you want customizations that cannot be satisfied by adding new links, pages, or components, you can add custom modules. Custom modules are collections of files that add functionality to Course Builder without modifying Course Builder code. Custom modules have unique names and exist alongside Course Builder’s own modules.
In Course Builder, the modules are located in the
modules/ directory and
they are registered in
To create a custom module, at the very least you must do a few things:
- Create a directory under
modules/to contain your new module. For maximum compatibility with future Course Builder releases, try to keep all your work in this directory.
- If you find that you absolutely must modify core functionality, consider adding it
in terms of a list of hooks that are called back by the core code. Use
common.utils.run_hooks()to call the registered callbacks.
- Create a Python file containing a function named
register_module(), which returns a
- Add the name of that Python file to the
GCB_REGISTERED_MODULESsection of the
app.yamlfile (in the top-level Course Builder directory).
- Create a
manifest.yamlfile that describes the contents of your module as well as naming any functional and/or integration tests.
For more information, check out an example at https://github.com/google/coursebuilder-core/tree/master/coursebuilder/modules/certificate.