-
Notifications
You must be signed in to change notification settings - Fork 0
JLM Server requests
Definition of the JLM Server different requests, sent in JSON
- ALL_IS_FINE : All is working fine :-)
- WRONG_PASSWORD : The password for the course is wrong.
- WRONG_TEACHER_PASSWORD : The password of the teacher for the course is wrong.
- COURSE_NAME_ALREADY_USED : This name is already taken by another course.
- DATA_NOT_IN_DATABASE : This data/object is not in the database.
- action = executed
- username = username
- course = course id
- password = course password
- exoname = exo name
- exolang = exo language
- passedtests = number of passed tests
- source = source code of the exercise
- totaltests = total number of tests
- Answer (defined at the top)
- action = join
- username = username
- course = course id
- password = course passord
- Answer (defined at the top)
- action = heartbeat
- username = username
- course = course id
- password = course passord
- Answer (defined at the top)
- action = leave
- username = username
- course = course id
- password = course passord
- Answer (defined at the top)
- action = switch
- username = username
- course = course id
- password = course passord
- exoname = exo name
- exolang = exo language
- Answer (defined at the top)
Issued when the student clicks on the "request help from the teacher" button. The teacher pull the list of students requesting for help every X seconds.
- action = help
- username = username
- course = course id
- password = course password
- status = true if the student is still requesting help, false if he cancelled the request
- Answer (defined at the top)
- action = allids
- Array String = ids
- action = new
- course = course id
- password = course password (for the students)
- teacher_password = course teacher password (to administrate courses)
- Answer (defined at the top)
This is how the teacher requests for information to the server to detect the students needing some attention. This selection involves some intelligence on the filtering that can be done either on the server ("tell me who I should see now"), or on the teacher's console ("gime all the data and let me determine who needs me"). The second one induces some extra communication load, while the first one is more binded to Google App Engine since we need to execute some code on the server.
A good compromise would be an intermediate solution where redundant or less relevant information is removed (such as the source code given by the students). But trying to replace the teacher expertise with a prototypical expert system seems dangerous.
- action = refresh
- course = course id
- teacher_password = course password
- Array 1 String =
- Array 2 String =
- Array 3 String =
- Array 4 String =
- action = remove
- course = course id
- teacher_password = teacher password
- Answer (defined at the top)