Puntos para la calificación
Un estudiante puede obtener puntos al resolver alguna de las siguientes actividades:
1) Exámenes (Model Test)
2) Webquest (Model Webquest)
3) Scavenger hunts (Model Treasure)
4) Rellenados (Model Gaps)
5) SCORMS (Model Scorm) <-- aún no terminado
Y/o al participar en:
6) Foros (Model Forum)
7) Páginas Wiki (Model Wiki)
8) Subir un reporte (Model Report)
9) Enviar una participación escrita (Model Participation)
Todos estos nueve modelos deben ser consultados al momento de reunir los puntos posibles del alumno, esto se visualiza en la vista más compleja de Karamelo que es /admin/vclassroom/record:
Todo el trabajo del alumno durante el curso se concentra en esta pantalla. Para armar esta vista se usan los métodos studentRecord() y recordClass() del modelo Vclassroom.
En el caso del modelo Test, los resultados de cada examen se guardan en el modelo Result, pregunta por pregunta, de manera que los puntos se suman dinámicamente, anteriormente sólo se guardaba el resultado estático del examen (la suma de las respuestas correctas), pero eso impedía reconstruir las preguntas correctas e incorrectas si es que posteriormente el profesor o el alumno deseaban conocer que preguntas fueron incorrectas y cuáles no. Además al consultar los examenes hay que hacer una distinción entre un resultado NULL (el alumno no ha resuleto el examane asugnado) y un resultado 0 (el alumno si resolvió el examen pero no logró ninguna respuesta correcta).
Los resultados de los webquest se guardan en el modelo ResultWebquest?.
Los resultados de Treasure se guardan en el modelo ResultTreasure?.
Los resultados de los Gap se guardan en el modelo ResultGap?.
En el caso de Forum lo que se revisa es el modelo Topic para ver las participaciones del alumno en los foros que pertenecen a ese Vclassroom.
En Wiki se revisa el modelo Revision para ver las participaciones del alumno en las WikiPages? que son de ese Vclassroom.
Como decíamos más arriba el model Vclassroom posee un método privado:
private function _studentPoints($user_id, $vclassroom_id)
que arma el record y los puntos del estudiante en el Vclassroom.
Este método también es usado al generarse el archivo PDF y CSV que exportan los datos de todos los alumnos del vclass en la vista /admin/vclassrooms/members/.
La vista /admin/vclassrooms/members también usa la función Javascript tp() (total points) del archivo admin.js. Está función llama al método /admin/vclassrooms/points/ que suma todos los puntos de nuevo cada vez que el profesor modifica los puntos del alumno en esta vista y los coloca en el DIV ajax que le corresponde.
