[meta] Ecosystem modules

Created on 22 August 2024, 3 months ago
Updated 23 August 2024, 3 months ago

Problem/Motivation

The plan for the LMS 1.0.x branch is to provide the base system (courses, classes, activities/answers etc.) in this project.

However the various activity types that currently ship with Opigno (or which might be added independently) aren't needed on all sites and might have their own external dependencies or complexities etc.

Therefore we think these should be maintained in their own d.o projects separate from the main project.

This is a model which has worked well for the group module - https://www.drupal.org/project/group - e.g. https://www.drupal.org/project/grequest and https://www.drupal.org/project/ggroup etc.

Opening this issue to track the status of the various modules that will need some kind of equivalent. Once there are projects created for these, we can link them from here and also from the project page.

Initial @todo list:

Activity types

These are the highest priority to port since they're LMS-specific.

  1. https://www.drupal.org/project/opigno_scorm Needs 🐛 on D10, SCORM javascript sometimes loads before opigno_scorm player javascript Needs review and 🐛 Error: ZipArchive::open(): Argument #1 ($filename) cannot be empty in ZipArchive->open() Needs review .
  2. https://www.drupal.org/project/opigno_tincan_api
  3. https://www.drupal.org/project/opigno_certificate
  4. lms_h5p - rewrite of the opigno_h5p activity that is shipped with opigno_module based on https://www.drupal.org/project/h5p

Utility modules

  1. lms_notification - also of high priority as I think it's used on most sites - using various hooks, there already is some modern code that can be used, possibly it'll be added to 0.2.x as a reference (ask Graber or catch if anyone would like to start working on this)
  2. lms_statistics - lower priority but will be needed sooner or later - reporting views plus calculated statistical data on lessons and courses. There is the opigno_statistics module that can be used as a functional reference to improve.

Needs discussion

Opigno ships with multiple 'feature' modules which in many cases re-implement features that are provided by much better supported contrib modules (dashboard) or which could be implemented as a recipe with only small modifications (catalog).

On our sites which are running the 0.2.x branch we've been slowly replacing them with views and similar (e.g. we don't use opigno_calendar, opigno_dashboard, opigno_catalog, opigno_skills_system, opigno_social).

opigno_calendar_event
opigno_calendar

opigno_dashboard could be a recipe with layout builder enabled on user profiles or using https://www.drupal.org/project/dashboard . We could have a module providing some blocks though.

opigno_catalog - this should just be a recipe with a view. The query alter to hide/show private courses is fragile/bug prone and should be discarded, no need to show private courses in the catalogue to anyone.

opigno_skills_system - this is hard-coded into the core opigno modules (removed from LMS 1.0.x branch) and needs to be factored out so it's a clean, optional, add-on.

opigno_messaging

opigno_social

Steps to reproduce

Proposed resolution

Remaining tasks

Porting activity modules is a good task for anyone wanting to help LMS reach a 1.0.0 stable release to work on, since overall these modules should have minimal interdependencies with each other, so can be worked on in parallel. There's a possibility that they'll get blocked on issues in the main project, but the sooner we know about those the better.

User interface changes

API changes

Data model changes

📌 Task
Status

Active

Version

1.0

Component

Other

Created by

🇬🇧United Kingdom catch

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024