Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-67947

questions_in_use should work with any plugin, not just mods

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.7.4, 3.8.1, 3.9
    • Fix Version/s: 3.7.5, 3.8.2
    • Component/s: Questions
    • Labels:
    • Testing Instructions:
      Hide

      Core regression detect

      1. Create a question in the question bank (e.g. Truefalse).
      2. Create a quiz.
      3. Add the question you created to the quiz.
      4. In the question bank, select the option to delete the question.
      5. Verify that in the confirm dialoge, the question name has a * next to it, to indicate that the question is in use.

      Using 3rd part plugins (preparations)

      1. Install these plugins form github, by executing from your moodle root directory:

        git clone https://github.com/moodleou/moodle-filter_embedquestion.git filter/embedquestion/
        git clone https://github.com/moodleou/moodle-report_embedquestion.git report/embedquestion/
        git clone https://github.com/moodleou/moodle-atto_embedquestion.git lib/editor/atto/plugins/embedquestion/
        

      2. Upgrade your site to get the plugins installed.
      3. Enable the "Embed questions" filter @ Admin->Manage filters
      4. Add the "embedquestion" atto plugin to the Atto Toolbar config (admin->editors->atto editor->toolbar settings). Surely to the "files" group, after "h5p". Save changes.

      Using 3rd part plugins (automated)

      1. Find the line in report/embedquestion/tests/lib_test.php that says $this->markTestSkipped('This test cannot pass until MDL-67947 has been integrated. Skipping.'); and delete it.
      2. Verify that the report_embedquestion PHPunit tests pass. (--testsuite report_embedquestion_testsuite). Expected result:

        Tests: 41, Assertions: 87, Skipped: 2.
        

      Using 3rd part plugins (manual)

      1. Create a course
      2. Create a category in the question bank with an idnumber.
      3. Create a new truefalse question in that category of the question bank, also with an idnumber.
      4. Create a page with the truefalse question embedded in it.
      5. View the page, so you have started an attempt at the question.
      6. Go to the question bank, and delete the question.
      7. Verify that in the confirm dialoge, the question name has a * next to it, to indicate that the question is in use.
      Show
      Core regression detect Create a question in the question bank (e.g. Truefalse). Create a quiz. Add the question you created to the quiz. In the question bank, select the option to delete the question. Verify that in the confirm dialoge, the question name has a * next to it, to indicate that the question is in use. Using 3rd part plugins (preparations) Install these plugins form github, by executing from your moodle root directory: git clone https://github.com/moodleou/moodle-filter_embedquestion.git filter/embedquestion/ git clone https://github.com/moodleou/moodle-report_embedquestion.git report/embedquestion/ git clone https://github.com/moodleou/moodle-atto_embedquestion.git lib/editor/atto/plugins/embedquestion/ Upgrade your site to get the plugins installed. Enable the "Embed questions" filter @ Admin->Manage filters Add the "embedquestion" atto plugin to the Atto Toolbar config (admin->editors->atto editor->toolbar settings). Surely to the "files" group, after "h5p". Save changes. Using 3rd part plugins (automated) Find the line in report/embedquestion/tests/lib_test.php that says $this->markTestSkipped('This test cannot pass until MDL-67947 has been integrated. Skipping.'); and delete it. Verify that the report_embedquestion PHPunit tests pass. ( --testsuite report_embedquestion_testsuite ). Expected result: Tests: 41, Assertions: 87, Skipped: 2. Using 3rd part plugins (manual) Create a course Create a category in the question bank with an idnumber. Create a new truefalse question in that category of the question bank, also with an idnumber. Create a page with the truefalse question embedded in it. View the page, so you have started an attempt at the question. Go to the question bank, and delete the question. Verify that in the confirm dialoge, the question name has a * next to it, to indicate that the question is in use.
    • Affected Branches:
      MOODLE_37_STABLE, MOODLE_38_STABLE, MOODLE_39_STABLE
    • Fixed Branches:
      MOODLE_37_STABLE, MOODLE_38_STABLE
    • Pull 3.7 Branch:
    • Pull 3.8 Branch:
    • Pull Master Branch:

      Description

      This is a problem for filter_embedquestion/report_embedquestion.

      You can delete questions that have been embedded, and which have been attempted, and that leaves users stuck in a broken stats. This should not be possible, but Moodle will only call the necessary callback in mod plugins. It should ask all plugins.

        Attachments

          Activity

            People

            Assignee:
            timhunt Tim Hunt
            Reporter:
            timhunt Tim Hunt
            Peer reviewer:
            Mahmoud Kassaei
            Integrator:
            Eloy Lafuente (stronk7)
            Tester:
            Anna Carissa Sadia
            Participants:
            Component watchers:
            Tim Hunt, Andrew Nicols, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Fix Release Date:
              9/Mar/20

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 40 minutes
                1d 40m