Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/models/documents/Assessable/iAssessable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,11 @@ abstract class iAssessable<T extends AssessableType> extends iDocument<T> implem
return;
}
if (this.inQuiz && this.quiz) {
if (this.quiz.questionCount === 0) {
// A real quiz always has at least one questionId. If this is empty, the quiz hasn't loaded yet
// and we shouldn't delete anything.
return;
}
// ensure the current document is unique for the given qid and authorId
if (!this.quiz.questionIds.has(this.qid!)) {
this._destroy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -480,4 +480,35 @@ Eine `ScoringFunction` ist eine Funktion, die die Bewertung einer Frage oder ein
- [x] Bei jeder Frage kann eine Funktion angegeben werden, die anhand der Bewertung einen entsprechenden Antworthinweis liefert. Bei einer richtigen Antwort könnte so z.B. eine vertiefende Erklärung geliefert, bei einer falschen Antwort ein Lösungshinweis angeboten werden. Dieser Funktion sollten möglichst viele Bewertungsinformationen zur Verfügung stehen (wobei zu berücksichtigen ist, dass es in Zukunft nicht unbedingt möglich sein wird, auf Ebene der einzelnen Antwortoption zu entscheiden, ob diese korrekt ist oder nicht). Es sollen zudem sinnvolle Default-Funktionen bereitgestellt werden, wie dies beispielsweise bei der `ScoringFunction` der Fall ist. **Update**: Mit der `<Hint>`-Komponente umgesetzt.
- [ ] Statt die korrekten Antworten direkt in der Komponente zu markieren, soll bei einem Quiz auch angegeben werden können, dass die Lösung extern abgespeichert ist. In diesem Fall verfügt die Gruppe über ein Upload-Feld, über welches das entsprechende Lösungs-File hochgeladen werden kann. Die Lösungen werden nach erfolgreichem Upload im LocalStore gespeichert, damit z.B. bei Prüfungen mehrere Schüler:innen korrigiert werden können. Für Admins steht zudem ein Download-Button bereit, mit dem sie ein Template für die Lösungen einer spezifischen Gruppe herunterladen können.
- [ ] Allgemeine Überlegung: Im Sinne einer Autokorrektur für Prüfungen soll das `Quiz` eine Funktion anbieten, die ein Lösungsdokument (z.B. als Teil eines Lösungsdokuments für die gesamte Prüfung) entgegennimmt und als Antwort eine Punktzahl und z.B. einen Report in Form `4 richtig | 1 falsch | 0 nicht beantwortet` zurückgibt. Dies könnte dann als Korrektur für diese Aufgabe in Korrektur-Document des entsprechenden Schülers eingetragen werden (während z.B. bei Textaufgaben eine manuelle Feedback- und Punkteeingabe durch die Lehrperson erfolgt).
- [ ] Für Prüfungen könnte es nützlich sein, das Konzept des Quiz zu erweitern, um nicht nur `ChoiceAnswer`-Fragen zu unterstützen, sondern auch andere Fragetypen wie z.B. `TextAnswer` oder `CodeAnswer`. So könnte eine Prüfung aus einem einzigen Quiz bestehen, in dem auch Fragen vorkommen, die nicht automatisch korrigiert werden können. Der Vorteil dabei wäre, dass so auch diese Fragen in die Randomisierung der Reihenfolge mit einbezogen werden könnten. Zudem könnte ein Report (PDF, druckbar) generiert werden, der die Ergebnisse aller automatisch korrigierten Fragen enthält, und für das Feedback zu den manuell zu korrigierenden Fragen einen Platzhalter lässt.
- [ ] Für Prüfungen könnte es nützlich sein, das Konzept des Quiz zu erweitern, um nicht nur `ChoiceAnswer`-Fragen zu unterstützen, sondern auch andere Fragetypen wie z.B. `TextAnswer` oder `CodeAnswer`. So könnte eine Prüfung aus einem einzigen Quiz bestehen, in dem auch Fragen vorkommen, die nicht automatisch korrigiert werden können. Der Vorteil dabei wäre, dass so auch diese Fragen in die Randomisierung der Reihenfolge mit einbezogen werden könnten. Zudem könnte ein Report (PDF, druckbar) generiert werden, der die Ergebnisse aller automatisch korrigierten Fragen enthält, und für das Feedback zu den manuell zu korrigierenden Fragen einen Platzhalter lässt.

## Testing Only

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section can be deleted before merging. It is just there to show that new quizzes (ones that the testers haven't yet created documents for) still work.

Dummy Quiz zum Test des Fixes.

<Quiz scoring={points(1)} randomizeQuestions randomizeOptions resetMode="incorrect" id="e4fd5d0b-f5b0-4722-8452-ca78f1de0aa1" >
<ChoiceAnswer correct={[1]}>
1. Diese Antwort ist richtig.
2. Diese Antwort ist falsch.
3. Diese Antwort ist Blödsinn.
4. Diese Antwort ist nicht korrekt.
</ChoiceAnswer>
<ChoiceAnswer correct={[2]}>
Wie macht die Kuh?

1. Wuff.
2. Muh.
3. Miau.
4. Roar.
</ChoiceAnswer>
<ChoiceAnswer correct={[2, 4]} multiple scoring={multipleChoicePoints(2, 1, false)}>
Wähle alle Farben an.

1. Hund
2. blau
3. Zwanzig
4. grün
</ChoiceAnswer>
<TrueFalseAnswer correct={false}>
Die Sonne ist ein Planet.
</TrueFalseAnswer>
</Quiz>