messing up with underlying databases

129 views
Skip to first unread message

Paul-Olivier Dehaye

unread,
Sep 25, 2013, 6:30:31 AM9/25/13
to edx-code
Hello,
We are now running a course at the University of Zurich using our own local instance of edx. The course is live, with students submitting homework, watching videos etc.
I would like to know at this point how much we can still safely modify the databases that power the course.
For instance:
 - due to the discussion id problem mentioned in the previous email, many topics now exist in the discussion service that are obsolete. This pollutes the "Create new post about" section with possibilities that we would like to remove. Can I simply delete corresponding entries from the mongo database?
 - later in the semester, there will be material that is hand graded. What is the best way to enter the grade? Can I just take the sql database and populate fields? (don t think there is an existing solution for this, would be happy to be corrected!)
Thanks
Paul

Yarko Tymciurak

unread,
Sep 25, 2013, 10:10:37 AM9/25/13
to Paul-Olivier Dehaye, edx-code

Logically, it would seem you should be able to adjust / adapt peer grading to use for manual grading by course admins, but a quick scan of documents found by "edX peer assesment" casts some doubt on that hope.

James Tauber

unread,
Sep 25, 2013, 11:39:34 AM9/25/13
to Paul-Olivier Dehaye, edx-code
I'll get answers for you on this but I just wanted firstly to congratulate on your live instance of Open edX!

James

James Tauber
Open Source & Learning Analytics

Paul-Olivier Dehaye

unread,
Sep 25, 2013, 1:40:35 PM9/25/13
to James Tauber, edx-code
Thanks!
Paul

Paul-Olivier Dehaye

unread,
Sep 30, 2013, 8:58:21 AM9/30/13
to James Tauber, edx-code
Would still appreciate a response to this question (i solved the other one):
- later in the semester, there will be material that is hand graded. What is the best way to enter the grade? Can I just take the sql database and populate fields? (don t think there is an existing solution for this, would be happy to be corrected!)

John Swope

unread,
May 22, 2014, 2:29:06 PM5/22/14
to edx-...@googlegroups.com, James Tauber, paul-oliv...@math.uzh.ch
Paul,
This is an old thread, but I recently played around with this idea. I am trying to grade students for participation, so I set up a dummy problem and tried to insert grades manually in the SQL database. I got it to work all the way to where the grade is displayed correctly in the progress tab. 

Unfortunately, hitting an error where the problem gets corrupted and spits out an error message to the user. Definitely risky the way I'm doing it and I wouldn't dare try it on anything besides my local instance. 

Did you have any luck?

John

Paul-Olivier Dehaye

unread,
May 22, 2014, 5:00:06 PM5/22/14
to John Swope, edx-code, James Tauber
Yes, I ended up doing it last semester, with a live instance. I did not encounter any problem, and found it fairly straightforward to figure out what I could and could not do. How did you change your problem, what led to the corruption? Bear in mind that it might be as simple as a student opening up the page...
One trick I used for this type of feature was to create a homework with a due date far in the future. That way I can simultaneously ell the grading system to take that into account, and no student would ever open it up. First though I made it viewable to a test student, so I could see what data is generated when the problem is opened up. I then used this as a basis to determine each row to inject afterwards. Also, you have to be careful, and make sure the row ids don t clash.
Bear in mind that this was for the September code, but I haven t seen anything that indicated a change there.
Paul

Paul-Olivier Dehaye
SNF Professor of Mathematics
University of Zurich
skype: lokami_lokami (preferred)
twitter: podehaye
freenode irc: pdehaye

John Swope

unread,
May 22, 2014, 5:36:44 PM5/22/14
to edx-...@googlegroups.com, John Swope, James Tauber, paul-oliv...@math.uzh.ch
Thanks Paul! That is brilliant and I did a quick test and it works for me. I'll test a little more and update the thread if anything unexpected goes wrong. 

I ended up writing a SQL statement to insert the module_type, module_id, student_id, grade, course_id, created, modified, and done into courseware_studentmodule. This broke the problem when the student came back to it, but if you use your trick of pushing the problem far into the future so the student can't see it, that works.

John

Peter Pinch

unread,
May 27, 2014, 6:40:24 AM5/27/14
to edx-...@googlegroups.com, John Swope, James Tauber, paul-oliv...@math.uzh.ch
We haven't tried this ourselves yet, but in another thread David Ormsbee suggested using the submission app from ORA 2:

but one thing you might want to look at the submissions app (edx-ora2's OpenAssessmentBlock uses this). It creates explicit submission uuids and lets you set scores for them. Once the scores are set, they'll be read automatically for the progress page -- there's no need for the students to load the XBlock again.

The intention was for the submissions app to eventually get spun out of edx-ora2 into its own repo, and be made available to XBlocks as a runtime service. I'm not sure about the exact timeline for that, but it's easy enough to import submissions.api directly for the moment.

Paul-Olivier Dehaye

unread,
May 27, 2014, 7:43:39 AM5/27/14
to Peter Pinch, edx-code, John Swope, James Tauber
Peter is right, there might be simpler workflows that just involve the UI. I was doing this because I wanted to grade _group_ projects.
Paul

Paul-Olivier Dehaye
SNF Professor of Mathematics
University of Zurich
skype: lokami_lokami (preferred)
twitter: podehaye
freenode irc: pdehaye


John Swope

unread,
May 27, 2014, 8:53:49 AM5/27/14
to edx-...@googlegroups.com, John Swope, James Tauber, paul-oliv...@math.uzh.ch
Thanks Peter, I will look into this as well. 
Reply all
Reply to author
Forward
0 new messages