Skip to content

Drupal module that adds Learning Management capabilities.

Notifications You must be signed in to change notification settings

zanvidmar/anu_lms

 
 

Repository files navigation

CircleCI

ANU LMS

Drupal module which adds E-Learning capabilities with knowledge assessment tools.

Development

Installation

If you don't have a local dev environment yet, we recommend DDEV as it comes with all necessary tooling for Anu LMS development.

  1. Install a clean Drupal 9 site (Instructions for DDEV).
  2. Prepare composer for Anu LMS installation:
composer config minimum-stability dev
composer config repositories.anu vcs [email protected]:systemseed/anu_lms.git
composer req  --prefer-source systemseed/anu_lms:"2.x-dev"
  1. Enable Anu LMS module and the demo content
drush pm:enable anu_lms anu_lms_demo_content
drush cex
  1. Disable Drupal cache to see your code changes immediately. Instructions.
  2. Install and configure PWA module to enable Anu offline capabilities.

React development

Node.js & NPM are required to build Javascript files.

The React app sources are stored in ./js/src folder of the module. To prepare React app for development, perform the following:

  1. cd into anu_lms/js foloder
  2. Run npm install
  3. Run npm run watch
  4. Make changes to JS code. After page refresh you should see your changes in your local Drupal site.
  5. When the changes are ready, run npm run format, npm run lint-fix and npm run lint and fix any code styling issues. Some IDEs can handle it automatically.
  6. Run npm run build to build final JS bundle files.

Demo content

To install some demo content for learning and testing, enable “Anu LMS Demo content” module.

drush pm:enable anu_lms_demo_content

Demo courses page will be available at /anu-demo after module installation.

All demo content is deleted on module uninstall.

TODO List

Beta release:

  • Add path alias patterns systemseed#160
  • Provide documentation for recommended permission configuration after module's installation
  • Add a validation for quiz content creating experience. I.e. do not allow multiple options for single option response.
  • Add normal UI for errors handling on quizzes instead of ugly alert().
  • Disable access to lessons when course is not in the group
  • Add basic automated tests coverage systemseed#157

Full release

To discuss

  • Potential issue with display of quiz scoring after the amount of quiz questions has changed (You scored X out of Y).
  • Get rid of Features dependency - we may let developers decide how they want to get ANU LMS updates
  • Get rid of Rest Entity Recursive dependency for better performance

About

Drupal module that adds Learning Management capabilities.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 50.4%
  • JavaScript 49.6%