Posts made by Ray Morris

> For me quiz should not control enrolment, and enrolment should not

> control quiz. The terms "take that class" and "deny taking a course" are

> unclear in your sentence, enrolment should control the access to

> "that class" but no more, quiz should control who among class

> participants can attempt the quiz, no interference.

Thank you for showing me exactly what my assistant is talking about when she says I'm often too smart for my own good, that the more I know, the less I make sense, sometimes. I suspect that "take a class" is perfectly clear to anyone who has not studied the internals of Moodle.  In fact, I believe that's what our students do, they "take a class".  I'd bet none of them have ever said "to get my certification, I'm going to complete some SCORMS and attempt some quizzes".  Similarly teachers and administration  - I'd bet that they all offer courses, not SCORMS, quizzs, and TDs.

It would be interesting to ask ten people who haven't written LMS code "If you have to take a course every three years to keep your certification, does that mean you have to take the test each time?"  I haven't asked ten people, but I'd bet they'd all say that "take a course" means take the whole course - quiz included. 

 

It would also be interesting to ask ten teachers - "If you enrol a student in a course, and it happens that they took the same course two years before, would you expect you'd also have to put them back in each quiz, activity, or discussion individually, or should enrolling them in the course allow them to take the course - the whole course?"  I don't know, but I suspect that to anyone who isn't eyeballs deep in LMS code, it's a pretty simple, common sense question, with a fairly obvious answer. 

 

Based on the common understanding of "take a course", what ordinary users will expect, does it really make sense for SCORM, Quiz, discussion, chat, lesson, workshop, etc. to all individually control that same thing, and each have to be set up for a new enrolment independently, or should it be possible to take a course, with the ability "take a course" being handled by one type of module, such as enrollment?

 

 

 

 For me, I don't want all the old student data mixed in with the new student data.  ...

> Is there some reason why you need to keep all that data in the course with the new students?

a) It's logically one data set - a student has taken some courses. There is not an "old student" and a "new student" - it's the same student. To create  two different students, new and old, is to declare a falsehood - to lie.  Similarly, to keep the same student record  and indicate that they have not taken a course which they actually have taken is a falsehood, it turns your DB to a BS.

b) In many practical cases it matters.  Prerequisites are a common example - one should be able to see that students in Moodle 202 have taken Moodle 101, so deleting the records related to Moodle 101 is A Bad Thing (TM).  Another practical example where it breaks is if there isn't a long break being semesters, such as courses offered monthly, quarterly, or yearly. You can't delete all of the current students in order to start a new term if they still need to access the course - for certificates, to check grades, etc. Overlapping terms would absolutely be completely prohibited by any of the workarounds suggested.

 c) Removing information is in principle bad, because you don't know whether or not you may need that data in the future.  Perhaps next year Bureucrat who controls yur budget wants to know the racial ratio of students who enrolled in course X, or the success rate of course Y.  You can't justify your budget based on success rate because you've deleted the information. (Or at very least you've split it up, so you have to restore many old backups and manually calculate, rather than running one simple query.)   The point here is that you don't know in advance what other needs one may have for the information, but we're living in the Information Age , so removing Information that you could just as easily keep is unwise. (Though you might of course CHOOSE to remove the information on purpose, that's a different thing from losing it accidentally as a side effect of a hack to let students who fail, or whose ceritifcation expire, enroll again.)  The big winners today - Google, Facebook, etc. are all focused on data, data is a key asset, so throwing it away indiscriminately, rather than simply fixing a bug, is foolish in principle.

> I imagine you might have  a course where people are continuously enrolling and completing the course rather than a rigid semester system.

In fact we have rigidly defined course terms, with clear start and end dates,  yet as you surmised, the attempts limit in quiz breaks things because the dates aren't defined in exactly the same way as they are at OU, for example.  We don't have long breaks between semesters for students to come in, get their certificates, check grades, etc. before we need to start enrolling for the next semester.  Thus there's no time at which one could take a "backup" (not really a backup if it's the only copy) and delete everything.

 

I'm curious, I've seen a couple of workarounds or hacks proposed to get around the problem, but is there is any reason not to fix the problem and allow someone to take a course a year later or whenever?  "You can delete everything" is hack, not a legitimate reason to prevent functionallity which otherwise works.   When we have working code, why choose a workaround over a real fix?

I hope I don't come across as rude or anything. I'm kind of struggling to understand the relucatance to add a useful new OPTION.  The extremely brief to no discussion that preceded commiting my patches in other Moodle modules is what I'm used to from my experience with Apache and other projects I participate in, when my patches only add new options, with no backwards compatibility concerns at all. (You can still chose to delete your data if you prefer.)  I'm finding the culture, the way of thinking, of Tim and Quiz quite alien, but I'm trying to adjust.  When I've submitted patches elsewhere, such as the Completion module, they've been quickly accepted with thanks since like this one, they don't effect anything if you choose to have the old behavior.

Even assuming that it WAS a good idea to force institutions to delete eveything before someone can retake a class they failed, I'm still struggling to understand how it could possibly be the responsibility of Quiz to control which classes people can take, so I'm having a hard time discussing it because I just don't understand that point of view at all.

 

That's an interesting perspective.  I saw it as the Quiz module having unwanted side effects on enrollments.  

 I guess the question is, which module should control whether or not a student can take a class they've taken previously?  Is that enrolment's job to decide if they can come back and take that class again? Is it the job of quiz to allow or deny taking a course?

I'd think most everyone would agree that IF you take their money and enrol them again, they should of course be allowed to complete the course. That is, if you're not going to let them take the course, you wouldn't enrol them.    (There would be no point in enroling someone in a course you're not going to let them actually use.)  If you let them take the course again, you let them take the whole course - quiz included.

So which module should control whether or not a student can take a course?  Should Quiz control which courses students can take and when?

Consider a course which might be once, such as an annual safety review. Alternatively, consider a student who perhaps fails a course and later retakes it.

If a quiz is set to allow one attempt, should that mean one attempt per enrollment, or one attempt for life? It seems to me that if a student is re-enrolled in a course which they may have taken previously, they should be allowed to complete it again.  

 

Further, I'd say that if a student isn't allowed to re-take a course later, that logic belongs in enrollment, not in Quiz.

Actually doing that with our students, having them enrol again a month or a year later, we've seen it works just fine except for the limit on attempts in the quiz and SCORM modules. I have therefore submitted patches to Quiz and SCORM so that they can allow the specified number of attempts per enrollment, as opposed to a lifetime limit.  

 Tim Hunt, maintainer of the quiz module, suggested that I solicit feedback in this forum before Moodle allows that option. What makes sense to you? If a student is allowed to enrol in a course a second time, after having been enrolsome before at some point, should they be allowed to complete the quizzes?

 

Tim mentioned that one COULD completely delete all of the students earlier records, delete the fact they had previously enrolled,, rather than allowing this simple option of counting attempts per enrollment. Would that cause problems for other people as it would for us?  We certainly wouldn't want to delete student records and would rather simply allow a student who is enrolled again to take the quiz again.

 

If you'd find this option useful, we do have working, tested code available. Tim just needs to hear from you before committing the enhancement.

Average of ratings: -