Affects Version/s: 3.7.5, 3.8.2
Fix Version/s: None
Affected Branches:MOODLE_37_STABLE, MOODLE_38_STABLE
A lesson activity has a cluster containing several questions. The cluster page and all answer choices are configured to jump to an "Unseen question with a cluster". In most circumstances, it is okay for a student enter the cluster, exit the lesson, and later return to the lesson. Upon resuming, the student is presented with a message, "You have seen more than one page of this lesson already. Do you want to start at the last page you saw?" If the student selects "Yes", he is taken back into the cluster, receiving a question to which he has not previously responded.
However, if a student responds to all questions in a cluster, but exits the lesson without first exiting the cluster (This happens by not clicking the Continue button on the question feedback page for the last question in the cluster.), upon returning to the lesson the student is returned to the beginning of the lesson. When the student reaches the cluster again a "could not find lesson pages" error is received because the lesson is unable to find any unseen question for the student.
STEPS TO REPLICATE
- Create a new lesson activity.
- Add a few content pages with jumps to the next and previous pages.
- Add a cluster. Confirm that the jump defaults to "Unseen question within a cluster."
- Add four question pages within the cluster. Set the jump on all answer choices to "Unseen question within a cluster."
- Add an end of cluster. Edit the end of cluster and set the jump to "End of lesson".
- Enroll a student in the course.
- Login as the student and open the lesson activity.
- Advance through the content pages and answer the first three questions.
- Answer the fourth question but DO NOT click the continue button on the question feedback page. Instead navigate away from the lesson.
- Return to the lesson activity. Observe that you are automatically taken to the beginning of the lesson (no choice to resume from the last page seen).
- Advance through the first few content pages.
- On the last content page, click the Next button to advance into the question cluster.
A "Could not find lesson pages" error is received.
When student resumes the lesson activity having responded to all questions in a cluster, take the student to the target of the end of cluster jump. If there are concerns with that approach, return the user to the last question in the cluster to which he responded (preferably with response still saved).
Once in this state there is no way for the student to be able to continue the lesson. The instructor must delete the attempt and have the student start over.
backup-moodle2-course-5-test-00001-20200504-1341-nu.mbz - course backup containing sample lesson the replicate issue.