Closed IvonArroyo closed 8 years ago
The problem is that the user was in a collaborative pedagogy and some code in the Collaboration system CollaborationMgr is now holding this studentId in a list. When you switched the student's pedagogy to individual mode, The CollaborationMgr is now confused because its finding this user ID in its list and then trying to do things about collaboration for them but it can't and it breaks. This break then causes a lot of stuff to go wrong in the student state and at that point the tutor loses what problem the student is working on and can start grading problems incorrectly and doing all kinds of bad things.
So at this point I'd say that you shouldn't be trying to change a students pedagogy if it was initially set as a collaborative pedagogy because there is cleanup that needs to happen in the CollaborationManager if a student's pedagogy is switched.
That's what I thought.
Thanks! I am glad it is not the system that is broken.
Could you please move the woj version that we tested to ms?
I am concerned about creating users/classes with the old ms.
Thanks!
--Ivon
Ivon Arroyo Assistant Professor Learning Sciences and Technologies Social Sciences and Policy Studies Salisbury Labs 317A Worcester Polytechnic Institute
On Wed, Mar 30, 2016 at 3:39 PM, marshall62 notifications@github.com wrote:
The problem is that the user was in a collaborative pedagogy and some code in the Collaboration system CollaborationMgr is now holding this studentId in a list. When you switched the student's pedagogy to individual mode, The CollaborationMgr is now confused because its finding this user ID in its list and then trying to do things about collaboration for them but it can't and it breaks. This break then causes a lot of stuff to go wrong in the student state and at that point the tutor loses what problem the student is working on and can start grading problems incorrectly and doing all kinds of bad things.
So at this point I'd say that you shouldn't be trying to change a students pedagogy if it was initially set as a collaborative pedagogy because there is cleanup that needs to happen in the CollaborationManager if a student's pedagogy is switched.
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/marshall62/mathspring/issues/280#issuecomment-203601546
OK. I moved current woj version to the ms version of mathspring.
On Wed, Mar 30, 2016 at 9:51 PM, IvonArroyo notifications@github.com wrote:
That's what I thought.
Thanks! I am glad it is not the system that is broken.
Could you please move the woj version that we tested to ms?
I am concerned about creating users/classes with the old ms.
Thanks!
--Ivon
Ivon Arroyo Assistant Professor Learning Sciences and Technologies Social Sciences and Policy Studies Salisbury Labs 317A Worcester Polytechnic Institute
On Wed, Mar 30, 2016 at 3:39 PM, marshall62 notifications@github.com wrote:
The problem is that the user was in a collaborative pedagogy and some code in the Collaboration system CollaborationMgr is now holding this studentId in a list. When you switched the student's pedagogy to individual mode, The CollaborationMgr is now confused because its finding this user ID in its list and then trying to do things about collaboration for them but it can't and it breaks. This break then causes a lot of stuff to go wrong in the student state and at that point the tutor loses what problem the student is working on and can start grading problems incorrectly and doing all kinds of bad things.
So at this point I'd say that you shouldn't be trying to change a students pedagogy if it was initially set as a collaborative pedagogy because there is cleanup that needs to happen in the CollaborationManager if a student's pedagogy is switched.
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub < https://github.com/marshall62/mathspring/issues/280#issuecomment-203601546
— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/marshall62/mathspring/issues/280#issuecomment-203713928
Thank you for this!
I came up with a fix to this. When a user logs in, we call the CollaborationMgr and tell it to remove instances of the studentId from its static lists. This way if you switch a user from a collaboration pedagogy to one that is non collaborative he will be removed from the collaboration system when he next logs in. It looks like Melissa had started doing something like this but she was working with a class called PartnerManager and I just had to make CollaborationManager do a similar thing.
Now that I think about the way that this was done (using static lists of student ids) we kind of have a problem: If we every restart the tutor server while people are using the system as collaborators, they will all be hosed. Up until this point we could safely restart the tutor server even while users were using it and users could continue work without ever being aware of the system being restarted. The root of the problem is that you can't use static lists in the way that the CollaborationManager does. These lists of student ids should be stored in a database table and every request that comes in where the CollaborationManager needs to do processing it would need to query the db to get the lists of studentIds it needs.
Given that we are about to do an experiement with collaboration, now is not a good time to take this on, but it is proving to be a problematic implementation and probably should be reworked soon afterward.
I am releasing a new woj system that has my fixes so that you should be able to move students from one pedagogy to another again. There is also a lot of untested new code dealing with the learning companion rule system but hopefully none of that gets in the way as long none of the pedagogies are using it yet.
This user is completely broken in all machines. What did I do? I mistakenly gave it the collaboration pedagogy, and then changed it to an individual pedagogy (once there was already data generated for it).
NOw it doesn't load a problem in any machine, in any browser. Or if it does, it starts repeating the same problem over and over, and doing somehting really strange which is:
It gives the WRONG answer while the answer might be D in this computer, it is marked A in another computer with a different user.
Here is a link: http://tutor.mathspring.org/woj/TutorBrain?action=MPPContinueTopic&sessionId=61921&eventCounter=22&topicId=4&studentAction=tryThis&comment=