We want to build a lesson in a very specific way. I was wondering if others might have tried the same or had advice: Part One: "Pre-test": 5 questions (random order): If a student gets 80% on these, they pass the whole lesson and don't have to take any of the rest of it. Part Two: Lesson: Video slides with narration, with questions interspersed in a specific order. Part Three: "Post-test": same 5 questions as at the beginning of the lesson (random order). Again, 80% is required to pass
This functionally is not available "out of the box".
There is a pre test functionality in Opigno but what is does is requires the user to take and pass the pre test in order to join the course (change in membership to active) and be able to do the rest of the lessons in the course.
The simplest solution for your case not knowing details is:
Create a course and 3 lessons. Set the pre-test lesson as a pretest for the course. Change the logic of what the pre-test module is doing to set the users active regardless of their score (finishing the lesson instead of passing it) and i would check if the user has more than the % configured in the pre test i would programatically add results for the rest of the lessons in the course. (insert in the db table quiz_node_results). This way in statistics and everything you would have the info that he passed it without having to change any other logic. If you do that and make sure the hooks quiz_finished are called you should not have to change anything else.