Unexpected behaviours when editing lessons

Created on 27 February 2025, about 1 month ago

Problem/Motivation

When editing lessons and activities in courses that have already been started by one or more students, there are a number of unexpected behaviours:

  • Lessons can be edited once, and new students will see the changes as expected. But any additional edits after the first edit are not saved in the lesson. This includes adding, removing, or reordering activities in the lesson.
     
  • Adding or removing activities in a lesson does not change the lesson for a given user account, even if that student's progress is reset or all students are removed from the course.
     
  • Editing a lesson after it has been started by someone will always show multiple warnings on the edit page: "Warning: This lesson has already been started by certain students in the following course" -- even after resetting all student progress or removing all students from its course.
     

Steps to reproduce

  1. Log in as a student and start a course.
  2. Log in as a teacher and edit a lesson in the same course.
  3. Try to make the edits that trigger the behaviours listed above.
     

Proposed resolution

In a site of any size, there may always be students at various stages of course progress. It is necessary to be able to make multiple changes to any course, and have the updated course be given to new students who start it after the changes are applied.

It might be nicer not to show multiple warnings on a lesson editing page -- there could be a single warning that says, "Warning: changes made here will not be applied to students who have already started this course."
 

🐛 Bug report
Status

Active

Version

1.0

Component

Courses and lessons

Created by

🇨🇦Canada ob3ron Canada

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

Comments & Activities

  • Issue created by @ob3ron
  • 🇵🇱Poland Graber

    Not every course provider will want different students to pass different versions of the course probably. We could use revisions for courses, lessons and activities and save revision ID in corresponding statuses but that's quite some work.
    This is not on my list for the time being as Drupal LMS already has some data integrity protection means as opposed to other Drupal LMS solutions but If anyone would like to take this, I'd be happy to review.
    Just wanted to make it clear that such a significant change will not be merged without proper automated test coverage.

  • 🇨🇦Canada ob3ron Canada

    I agree that not every provider will have this requirement. For my application, and probably most enterprise-level platforms, it will be needed. I've been reading up on how Moodle, edX, Canvas and Blackboard implement this - they all have a system in place but they're all fairly complex.

    It does seem that the built-in revision system is the way to go here. I'm willing to take it on after getting a few other LMS priorities taken care of. I'm guessing this will go into the 1.1 or 1.2 release!

  • 🇨🇦Canada ob3ron Canada
Production build 0.71.5 2024