2 posts / 0 new
Last post
tkiehne
Offline
Last seen: 1 week 1 day ago
Joined: 10/18/2018
Major progression oversight in Opigno Quiz App?

Greetings,

We are using the current version of Opigno 1 with opigno_quiz_app 7.x-1.18 and either I am missing something or there is a major issue with how the module routes the user when resuming a class (via /node/[nid]/resume).

The setup:

We have a class with 12 courses in a specified order; each course is dependent on the previous as a required course, and each course has multiple lessons, all included in the list of lessons required for course validation. The last lesson in each course is a graded quiz with a pass rate of 70% and unlimited attempts while the rest are "theory" lessons with a pass rate of 0%.

The situation:

Users are presented with each course in the correct order so long as each course's graded quiz is passed; when a graded quiz is failed, however, the user is still passed on to the next course even though, technically, the user didn't pass the course which is a requirement for the next course.

Expected outcome:

If the user fails an end-of-course graded quiz, they should have to retake the quiz before progressing to the next course.

Discussion:

I've looked in detail at the opigno_quiz_app_module's opigno_quiz_app_course_resume() function and it is apparent that the passed status of a course is not considered when determining which course to continue. At most, the subroutine in opigno_quiz_app_course_resume_get_path() checks to see if the last lesson in the course was finished, not whether it was passed. I could hack this function to use some of the existing helpers to determine the passing state and direct accordingly, but I understand that there is a level of complexity that comes with determining how many attempts a user has left and what should happen when they run out, etc.

It appears that setting a required course has no effect on the class progression... What am I missing?

tkiehne
Offline
Last seen: 1 week 1 day ago
Joined: 10/18/2018
I figured it out...

There is a default rule in Opigno called "Activate membership when required course is passed" that does a check after a quiz is passed that will check to see if the current course is completed and grant access to the dependent course(s). So I understand the mechanism now, but...

The student account I was testing with must have already been a member of the subsequent course (OG member status != "pending") and so the user was passed through by the resume function whereas had it not been a full member would have been prevented from moving forward because the user would not have been granted access to the next course.

This does present another problem for which I may open a separate thread.