Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Create e-learning courses with any number of tracked requirements for completion.
Features
- Allows any content type to be used as an e-learning course, containing any number of graded or ungraded course objects.
- Course object API to define learning objects that can be added to a workflow
- Built in support for Drupal nodes to be part of a course requirement workflow, plus support for Content Access and ACL to control access per node-based object
- Built in support for several non-node course objects (see Getting started)
- Extensible to allow other content/assessments or non-Drupal (external, 3rd party) objects to be delivered and tracked
- API to control enroll and take access
- API for configurable outline access control based on time, conditions (object start, completion, grades)
- Framework for external learning application integration (such as Moodle)
- Entity API integration
- Views integration through Entity, including several default views for reports and managing courses
- Rules integration through Entity for course enrollments, completion, etc.
Dependencies
- PHP 7.4+
- Entity API for providing CRUD, Rules, and Views integration.
- Views for most reports and user transcript.
- Chaos tools for plugin functionality.
- Views Bulk Operations for built in functionality like adding, editing, and removing course enrollments
- Views Data Export for CSV exports of course data (optional, but recommended)
- Time period for D7 - for setting time periods for enrollment durations/object access (optional, but recommended)
- UUID
Getting started
- See the Documentation
Enrollments and attendance
- Course comes bundled with course_signup, to use Signup as a registration and attendance management system. Attendance can be a requirement for completion of a course.
E-commerce support
- Course currently supports Ubercart through the bundled course_uc module.
Certificates
- Course comes with course_certificate which can award a tokenized PDF Certificate on course completion
Reporting
- Course report areas for global (course-level) reports and individual (object-level) reports.
- API to allow course objects to provide their own reports.
Extras
- Course credit will allow an admin to assign and map credit types to learner profiles and courses. Learners will then be able to receive or claim credit that they are eligible for on completion of a course.
- Course Moodle Objects for integrating Moodle
- Course requirements for requiring completion of other courses for enrollment in another (prerequisites)
- Course relationships for building subscriptions or curricula (courses in courses)
Support
- Drop by #education on Slack
Versions
- 1.x is stable and will receive bug fixes but not new features.
- 2.x is stable. It is significantly faster than 1.x due to changes in the API. New features are going into this version. Unless you have custom modules or API calls, you can cleanly upgrade to 2.x. See https://www.drupal.org/list-changes/course for the API changes in 2.x.
Supporting organizations:
D8+ 3.x, D7 7.x-2.x development
Project information
- Module categories: User Engagement
- 431 sites report using this module
- Created by scottrigby on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
3.0.0-alpha4
released 21 June 2022
Works with Drupal: ^9.3
✓ Recommended by the project’s maintainer.
Install:
Development version: 3.x-dev updated 11 Jul 2023 at 22:30 UTC
7.x-2.0
released 20 September 2019
Works with Drupal: 7.x
✓ Recommended by the project’s maintainer.
Development version: 7.x-2.x-dev updated 22 Nov 2022 at 22:13 UTC
7.x-1.14
released 31 January 2019
Works with Drupal: 7.x
Development version: 7.x-1.x-dev updated 28 Nov 2018 at 18:53 UTC