In welchem Kurs wird Frage im Test verwendet

In welchem Kurs wird Frage im Test verwendet

von Jürg Hoerner -
Anzahl Antworten: 6
Nutzerbild von Speziell hilfreiche Moodler

Weiss jmd von Euch, wie ich herausfinden kann, wo in welchem Kurs eine Frage im Test verwendet wird? 


Problem: Ich will den alten Fragetyp qtype_order löschen, da aufgrund einer Fehlermeldung keine Tests mehr kopiert werden können, nur disablen brachte nichts. Ich kann diesen Fragetyp nicht deinstallieren so lange Fragen enthalten sind, die in einem Test verwendet werden. Sofern diese in einem Kursbereich sind, wird ein Kurslink gezeigt, sobald die Fragen jedoch in einer übergeordneten Kategorie, bei uns "Fachschaft Wirtschaft und Recht" sind, sehe ich nur noch in welchem Fachbereich diese sind. Will ich diese löschen zeigt es zwar an, dass diese in einem Test noch verwendet werden, jedoch nicht in welchem Kurs. Evtl. kann dies direkt in der Datenbank 

Report for question type 'Ordering'    qtype_order

ContextTotalVisibleHidden
Category: Fachbereich Wirtschaft und Recht404
Total404

Vielen Dank im Voraus Jürg 

Als Antwort auf Jürg Hoerner

Re: In welchem Kurs wird Frage im Test verwendet

von Matthias Giger -
Nutzerbild von Speziell hilfreiche Moodler

Lieber Jürg

Hast du versucht, die Fragen mit folgendem Plugin nach qtype_ordering zu konvertieren?

https://github.com/jacac/qtype_order

(Selbst habe ich das nicht ausprobiert. Der Autor schlägt ein vorheriges Backup vor.)


Herzliche Grüsse

Matthias

Als Antwort auf Jürg Hoerner

Re: In welchem Kurs wird Frage im Test verwendet

von Jürg Hoerner -
Nutzerbild von Speziell hilfreiche Moodler

Hoi Matthias 

Vielen Dank für Deine Antwort. 

Ich habe die Fragen bereits im neuen Ordering Fragetyp eingetragen, deshalb brauch ich keine Konvertierung mehr.

Ich habe insgesamt noch vier Fragen mit dem alten Fragetyp, die in der Gesamtkategorie sind. Bei unseren vielen Kursen jedoch nicht ganz einfach herauszufinden in welchen vermutlich 4 Kursen noch je ein Test ist mit den Fragen. 

Eine andere Variante, muss ich noch prüfen, ob ich in der Datenbank die "Deleting" Sperre ändern kann es danach möglich ist, über moodle den Question type zu löschen. 

In der Datenbank den Question type löschen wäre eine andere Variante, bin mir jedoch nicht sicher, ob dies keine ungewollten Auswirkungen hat. 

Liebe Grüsse Jürg 

  

Als Antwort auf Jürg Hoerner

Re: In welchem Kurs wird Frage im Test verwendet

von Martin Vögeli (voma) -

Mir fehlt im Moment die Inspiration, aber ich fand einen Weg, wie es sich mit der Datenbank herausfinden lässt:

  1. Öffne die Tabelle mdl_question und sortiere nach qtype
  2. Sobald du die Fragen gefunden hast, notiere dir die Nummer der category
  3. Öffne die Tabelle mdl_question_categories und notiere dir die contextid sowie den name
  4. Öffne eine lokale Rollenzuweisung, z.B. https://www.moodle.ch/lms/admin/roles/assign.php?contextid=999
  5. Ersetzte 999 durch die gefundene contextid. Damit landest du irgendwo im entsprechenden Kurs
  6. Klicke dich in die Fragensammlung und öffne die (Fragen-)Kategorie, ihren Namen kennst du von 3.
  7. So wirst du hoffentlich den betroffenen Test finden, nach welchem du auch die Fragen löschen kannst

Es stellt nicht gerade eine benutzerfreundliche Variante dar, aber einfach aus der Datenbank löschen – eher heikel…

Als Antwort auf Martin Vögeli (voma)

Re: In welchem Kurs wird Frage im Test verwendet

von Jürg Hoerner -
Nutzerbild von Speziell hilfreiche Moodler

Hoi Martin 

Vielen Dank für Deine Antwort. 

Mit Deiner Methode gelange ich wiederum zur Kategorie der Fragen 

Category: Fachbereich Wirtschaft und Recht 

Da liegt das Problem, die Fragen sind keinem Kurs zugeordnet, sondern dem Fachbereich Wirtschaft und Recht, damit alle Lehrkräfte des Bereichs auf die Fragedatenbank Zugriff haben. 

Irgendwo müsste doch stehen, in welchem Test die Frage verwendet wurde. 

Liebe Grüsse Jürg 

Als Antwort auf Jürg Hoerner

Re: In welchem Kurs wird Frage im Test verwendet

von Jürg Hoerner -
Nutzerbild von Speziell hilfreiche Moodler

I received an answer from Tim Hunt and it worked, with this sql query: 

SELECT

    c.shortname AS Course,

    quiz.name AS Quiz

FROM mdl_course c

JOIN mdl_quiz quiz ON quiz.course = c.id

JOIN mdl_quiz_slots slot ON slot.quizid = quiz.id

JOIN mdl_question q ON q.id = slot.questionid

WHERE q.id = 681

   OR q.qtype = 'random' AND EXISTS (

            SELECT 1

            FROM mdl_question_categories qc

            JOIN mdl_question rq ON rq.category = qc.id

            WHERE qc.id = q.category AND rq.id = 681

        )

ORDER BY Course, Quiz