zentrumnawi / solid-frontend

A versatile Web-App for Structured Object Learning and Identification
https://geomat.uni-frankfurt.de/
3 stars 3 forks source link

get current questionId from store for error report #1962

Open sheepyhollow opened 1 year ago

sheepyhollow commented 1 year ago

Fix #1879

sheepyhollow commented 1 year ago

Ich bin noch nicht happy damit. Der State-Zugriff funktioniert zwar ganz gut, aber mir gefällt nicht, dass ich a) den quiz-state und das session-model erweitern muss (vielleicht geht das aber sogar ohne? 🤔) b) die Abfrage in feedback.component.ts stattfindet und damit bei jedem Feedback durchläuft - und nicht nur im Quiz

lthuong commented 1 year ago

Hmm. Das kann ein Workaround sein, aber wie du gesagt hast, die Abfrage soll nicht im feedback.component.ts stattfinden.

An diese Stelle glaube ich, dass wir nur die Möglichkeit haben, die URL mit der ID der Quizfrage zu erweitern. Das ist wahrscheinlich eine "kleine" Refactoring, aber ich finde das ist doch sinnvoll, dass die URL die ID der aktuellen Quizfrage enthält.

sheepyhollow commented 1 year ago

...dann ist das Quiz eben nicht mehr so "geheim". Wobei der quizquestion-Endpoint den Zugriff auf eine einzelne Frage gar nicht erlaubt (glaube ich). Vielleicht können wir ja die ID irgendwie mit einem einfachen Schlüssel codieren.

Es gibt aber auch andere Strategien, z.B. einen allgemeinen Feedback-State, in den jede aktive Komponente ihren Status hineinschreibt (und überschreubt). Das wäre dann zwar eine Änderung in jeder Komponente (die bei jeder Aktion / Änderung des Views getriggert werden muss, zB. über ngOnChanges), aber es gäbe die Möglichkeit, weitere Metadaten zu integrieren.

So vom Prinzip her gefällt mir das eigentlich besser weil die URL auch nur indirekte eine Information über den aktuellen View enthält. Ich denke da auch an die Idee in #298, das geht in eine ähnliche Richtung.