Search by

drupal / lms_demo_kit

Drupal-Infrastructure

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

Homepage

Issues

Type:drupal-recipe

pkg:composer/drupal/lms_demo_kit

Statistics

Installs: 49

Dependents: 0

Suggesters: 0

1.0.3 2026-11-07 17:37 UTC

This package is auto-updated.

Last update: 2026-11-13 21:03:50 UTC


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 /courses to 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.