How can I remove feedback after questions?

How can I remove feedback after questions?

by Mike Shields -
Number of replies: 6

Is there a way to remove feedback after questions in a lesson? i.e.

Your answer : XYZ

That's the correct answer

 

I have added a second version of lesson to moodle and renamed it exam, so I do not want feedback as it is a online exam.

In addition is there a way that admin can be emailed once a student has completed a lesson (in my case exam)?

Thanks

Mike

Average of ratings: -
In reply to Mike Shields

Re: How can I remove feedback after questions?

by Mark Nielsen -
In mod/lesson/action/continue.php you must put a redirect up before the feedback is displayed (near the bottom of the code).  This hack has already been explained in an earlier Lesson forum post for essay question type, but you want it for all question types; I just cannot find it at the moment sad

Cheers,
Mark
In reply to Mark Nielsen

Re: How can I remove feedback after questions?

by Chardelle Busch -
Picture of Core developers
In continue.php

At about line 831,  change it so it looks like this

if ($lesson->review && !$correctanswer && !$noanswer && !$isessayquestion) {
        echo "<p><div align=\"center\" class=\"lessonbutton standardbutton\"><a href=\"javascript:document.pageform.pageid.value=$pageid;document.pageform.submit();\">".
            get_string("reviewquestionback", "lesson")."</a></div></p>\n";
        echo "<p><div align=\"center\" class=\"lessonbutton standardbutton\"><a href=\"javascript:document.pageform.submit();\">".
            get_string("reviewquestioncontinue", "lesson")."</a></div></p>\n";
    } else {
  redirect("view.php?id=$cm->id&amp;action=navigation&amp;pageid=$newpageid");
    }
    echo "</form>\n";
Average of ratings: Useful (1)
In reply to Chardelle Busch

Re: How can I remove feedback after questions?

by Steve Bilton -
Thank you Chardelle.

I used this on the our site, I work with Mike who started the post btw.
It works well however i found that there is a small delay which briefly still displays the lesson takers answers and wether they are correct or not. i spent a long while looking through the code trying to alter it and eventually found it was much easier to adjust the language file to miss out the $a-> part and write something more applicable, such as, 'your grades will be marked with 48hrs by your course tutor', so it no longer gives answers and progressive scoring/end score.
The lesson code you posted is great except for that small split second displaying.

 We are using a modified 'lesson' into an 'exam' as a custom hack tongueout so thats why we don't want to give away answers as these are marked after the exam (lesson) has been taken by one of our assessors.

Only problem is the exam taker (student) can still goto their grade by the standard manual way from the main page. Is  there a way to delay this untill the exam(lesson) has been scored and marked or maybe a time delay of some sort (48 hrs hrs ideally) before updating the grade of the student??

I'd be really happy if this was possible, any suggestions? please?

Thank you

Steve
In reply to Steve Bilton

Re: How can I remove feedback after questions?

by Michael Penney -
Without major hacking, you could hide the gradebook (in course settings, set show grades to no) until you want the students to see their grades.
Average of ratings: Useful (1)
In reply to Michael Penney

Re: How can I remove feedback after questions?

by info com -
Hi

I also have this problem and want toget rid if the confirmation page. I have a simple question and multiple choice answer and dont need a confirmation in between each question.

I tried the hack but the time delay is there. Does anyone know how to remove the time delay. It shows the confirmation for about 3 seconds and then implements the redirect command listed above. I dont want it to display any page but go straight to the next question.

Thanks
In reply to info com

Re: How can I remove feedback after questions?

by Mark Nielsen -
Hi Laurie,

In the latest and greatest of Moodle 1.6+, the redirect function allows for zero delay redirects.  So, you can update the redirect call like so:

redirect("url", '', 0);

So, this has the redirect location with no message (note: they are two single quotes) and a time of 0 seconds for the redirect.

Cheers,
Mark