Open fbufbi opened 3 years ago
@schefbi Werden die Durchschnitte für die einzelnen Teste und der gesammt Durchschnitt aller Tests ab Dienstag ebenfalls vom Backend kommen oder ist das etwas, was wir im Frontend rechnen werden?
@schefbi Werden die Durchschnitte für die einzelnen Teste und der gesammt Durchschnitt aller Tests ab Dienstag ebenfalls vom Backend kommen oder ist das etwas, was wir im Frontend rechnen werden?
@mfehlmann Nur der Mittelwert (pro Lernende/r) wird serverseitig ermittelt. Der Durchschnitt wird frontendseitig ermittelt, ebenso der durchschnittliche Mittelwert (dies ist der Mittelwert auf der Zeile "Durchschnitt" zuunterst).
Hoi @schefbi Wenn ich einen Request and "Courses/9248/SetTestResult" sende um die Note zu aktualisieren. Wird der 'GradeValue' auf null gesetzt.
Die Attribute im Body habe ich aus dem 'SetTestResult' request aus der Postman collection geholt.
Der Body sieht so aus:
{
StudentIds: [4487],
TestId: 1,
GradeValue: 5,
GradeId: 2340,
Points: null
}
Die Response so:
{
"TestResults": [
{
"TestId": 1,
"CourseRegistrationId": 128664,
"GradeId": 2340,
"GradeValue": null,
"GradeDesignation": "4.6",
"Points": null,
"StudentId": 4487,
"StudentAddress": "Mööslimatt 9, 3037 Herrenschwanden",
"Id": "1_128664"
}
],
"Gradings": []
}
Stimmt der Request so, wie er in der Postman Collection drin ist oder wird im Backend etwas anderes erwartet als das, was ich mitschicke?
@mfehlmann Das ist alles korrekt. Du schickst GradeId 2340 gemäss hinterlegter Gradingscale ist das "4.6" und nicht "5". Der GradeValue wird nur ausgefüllt wenn die Gradingscale Freinoteneingabe zulässt das ist hier nicht der Fall.
@schefbi Ah, okay, dann behebe ich das noch. Wenn ich aber den selben request mir einer übereinstimmenden GradeId sende (GradeId 2340, GradeValue 4.6)bleibt der GradeValue null.
@schefbi Ah, okay, dann behebe ich das noch. Wenn ich aber den selben request mir einer übereinstimmenden GradeId sende (GradeId 2340, GradeValue 4.6)bleibt der GradeValue null.
Wie im Kommentar beschrieben der GradeValue wird nur ausgefüllt wenn die Gradingscale Freinoteneingabe zulässt, dass ist hier nicht der Fall. Der GradeValue kennt das Frontend aus der Gradingscale.
@schefbi Ach soo! Okay ich schaue mir das and, Danke :+1:
Das hat auch ein Zusammenhang mit der Grösse respektive der Performance der Response die über das Netz übertragen werden müssen. Immer nur das nötigste liefern.
@mfehlmann Rückmeldung noch zu deiner Frage im heutigen Daily: Punkteeingabe mit Validierung im Front-End: Dezimal mit 2 Nachkommastellen
@mfehlmann html Validierung > <input type="number" placeholder="1.0" step="0.01" min="0" max="{MaxPointsAdjusted} or {MaxPoints} ">
@fbufbi Wenn ein neuer Test erfasst wird, soll dann das Dropdown für die Notenauswahl leer sein oder soll ein Standartwert wie "Keine Note" selektiert sein?
Wenn ein Standartwert eingegeben werden soll, geben wir den per Designation oder per Id an und soll das über die Settings konfigurierbar sein?
@fbufbi Wenn ein neuer Test erfasst wird, soll dann das Dropdown für die Notenauswahl leer sein oder soll ein Standartwert wie "Keine Note" selektiert sein?
Wenn ein Standartwert eingegeben werden soll, geben wir den per Designation oder per Id an und soll das über die Settings konfigurierbar sein?
@mfehlmann Meinst du dieses Dropdown bei jeder Schüler/in? Das muss unbedingt leer sein.
Backend Fehler Noten leeren muss noch gefixed werden. Wenn Ok muss danach im Frontend ein leerer eintrage bei der Note möglich sein. Für den Request muss GradeId: null
übergeben werden.
@mfehlmann Mit @caebr haben wir heute folgendes Verhalten bei Tests mit Punkteeingabe besprochen und demonstriert, das wir als problematisch anschauen: Beim langsamen Eingeben der Nachkommastelle(n) wird das Punkt recht schnell gelöscht und der Cursor springt nach vorne. Statt 20.5 verwandelt sich die Punkteeingabe in 520. Was können wir da machen?
Wir konnten das Problem behenben. Die Änderungen sind bereits auf dem Master.
@mfehlmann
Problem: Steht der Status des Anlasses noch nicht auf Bewertung bis, ist aber bereits eine FinalGrade
vorhanden,
Es betrifft die ersten 4 Lernenden in diesem Screenshot:
Korrektur: Wenn eine FinalGrade
vorhanden ist, dann soll diese angezeigt werden (das Dropdown ist beim jetzigen Status des Anlasses weiterhin ausgegraut, das ist ok). Auch der Mittelwert AverageTestResult
muss weiterhin angezeigt werden. Es darf keine Fehlermeldung geben.
Beispiel: l6
@fbufbi Die letzten beiden Punkte konnte ich nicht reproduzieren. Könntest du das nochmals anschauen?
In der Response sehe ich "FinalGrades": null
mit Lehrer l6
.
@fbufbi Die letzten beiden Punkte konnte ich nicht reproduzieren. Könntest du das nochmals anschauen? In der Response sehe ich
"FinalGrades": null
mit Lehrerl6
.
@caebr Ein Datenbank-Job hat dazwischengefunkt - jetzt sollten die ersten paar Lernenden wieder eine FinalGrade
haben. @schefbi Wir haben den DB-Job wieder deaktivieren müssen & ihn umbenennt in FBI_0000_TENSECONDLY... (mit FUR)
@fbufbi Genau, jetzt haben die ersten paar Lernenden ein FinalGrade
, aber kein Grading
; d.h. die Note könnten wir so anzeigen (leider hat es keine Referenz zur GradingScale in den FinalGrades), aber den Mittelwert nicht (da dieser aus Gradings
ausgelesen wird).
Müssen wir den Mittelwert nun von Hand basierend auf den Tests berechnen?
@caebr Der Fall, dass eine FinalGrade
gesetzt ist, obwohl der Anlass noch gar nicht beurteilt wird, wird kaum auftreten, daher für den Moment: Nein, berechnet den Mittelwert nicht von Hand. Ich bespreche das nächste Woche noch kurz mit @schefbi.
@schefbi Jetzt verstehe ich, dass es entweder FinalGrades
(bei gesetzter Note auf dem Anlass) oder Gradings
(mit AverageTestResult
) gibt - beides zusammen geht also gar nicht.
@fbufbi @schefbi Wir haben eine Vorschlag implementiert (Branch bug/336-final-grades
) und können diesen am nächsten Daily zusammen anschauen. Ich werde Livia bitten nächsten Mittwoch einen Termin anzulegen.
Test OK
GradeValue
hat damit keine Bedeutung - bei der Eingabe von Noten (vs. Punkte) wird die Note anhand derGradeId
gesetzt/GradingScales/Tests.{id}.GradingScaleId
Courses/{id}/SetTestResult
<input type="number" placeholder="1.0" step="0.01" min="0" max="{MaxPointsAdjusted} or {MaxPoints} ">
Courses/{id}/SetTestResult
/Courses/UnpublishTest
oder/Courses/PublishTest
mit dem Body:{ "TestIds": [{id}] }
Mittelwert und Durchschnitt:
Gradings[StudentId]AverageTestResult
Desktop-Ansicht: