drupal / lms_demo_kit
Layers a complete LMS onto a Drupal site: course and class group types, activity types with answer plugins, LMS roles, certificates, membership requests, course views, and demo course content.
Package info
git.drupalcode.org/project/lms_demo_kit.git
Type:drupal-recipe
pkg:composer/drupal/lms_demo_kit
Requires
- drupal/core: ^11
- drupal/dynamic_entity_reference: ^3.2
- drupal/entity: ^1.6
- drupal/flexible_permissions: ^2.0
- drupal/grequest: ^3.2
- drupal/group: ^3.3
- drupal/lms: ^1.2.5
- drupal/lms_certificate: ^1.0@alpha
- drupal/lms_certificate_entity: 1.0.x-dev
- drupal/lms_membership_request: ^1.1@beta
- drupal/lms_xapi: ^1.0@beta
- drupal/lms_yaml: ^1.0@beta
- drupal/state_machine: ^1.14
- drupal/views_bulk_operations: ^4.4
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This recipe was developed to make it easy to try Drupal LMS on a Standard install of Drupal 11.4 with Drush 13.8. Consider it a beta. The same project is available on GitHub.
A Drupal recipe that layers a complete learning management system onto an existing Drupal site, built on the LMS module ecosystem. Applying it sets up:
- Course and class group types (via Group) with membership requests and approval workflows.
- Activity types with answer plugins: true/false, single/multiple select, fill in the blanks, and free text — each with an optional feedback variant.
- LMS admin and teacher roles with sensible permissions.
- Certificates awarded on course completion.
- Course views and navigation blocks, placed in Olivero and Claro.
- Demo course content so the system is explorable immediately after apply.
The recipe also sets the site name to "Drupal LMS" and the front page to
/courses; adjust after applying if you are adding the LMS to an existing site.
Requirements
- Drupal core ^11 (tested on 11.4)
- Drupal LMS 1.2.5 or later
- PHP per core requirements
- Drush 13+ recommended for applying the recipe (tested with 13.8)
Installation
If your project was created with drupal/recommended-project on Drupal 11.2+,
skip to the require step. Otherwise, first configure Composer to place
recipes in the recipes/ directory:
composer config allow-plugins.drupal/core-recipe-unpack true
composer require drupal/core-recipe-unpack composer/installers:^2.3
composer config --json --merge extra.installer-paths '{"recipes/{$name}": ["type:drupal-recipe"]}'
Some of this recipe's dependencies are pre-release (alpha, beta and dev), so allow those stability levels while still preferring stable releases, then require the recipe:
composer config minimum-stability dev
composer config prefer-stable true
composer require drupal/lms_demo_kit
With DDEV, prefix each command with ddev (for example
ddev composer require drupal/lms_demo_kit).
Applying the recipe
Recipes are applied once, not installed like modules. Rebuild caches first, so
Drupal sees the modules Composer just added. Drush resolves the recipe path from
the webroot, so it starts with ../:
drush cr
drush recipe ../recipes/lms_demo_kit
drush cr
Or without Drush, from the project root:
vendor/bin/dr recipe ../recipes/lms_demo_kit
Create demo users
The recipe ships a script that creates demo accounts: an LMS Admin, an LMS Teacher and six students. It also gives user 1 the LMS Admin role. Run it from the project root:
bash recipes/lms_demo_kit/scripts/create-demo-users.sh
It uses ddev drush when it finds a DDEV project, otherwise drush.
For local demos and testing only. Every demo account gets the password
123456, so don't run this script on a public site.
After applying
- Browse to
/coursesto see the demo courses. - Assign users the LMS admin or teacher role to manage courses.
- Demo content is regular content — delete it when you no longer need it.
Maintainers
Developed by Tag1 Consulting.