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

Allow targets to limit the analysis interval to a specific interface or parent class.

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      Before upgrading

      1. Log in as admin
      2. Go to site admin > analytics > analytics models
      3. Click on "Actions > Edit" for the "Upcoming activities due" model
      4. Select "Past quarter" and save changes.

      You can upgrade now

      1. Log in as admin
      2. Go to site admin > analytics > analytics models
      3. You SHOULD see a warning message stating that some of the models in your system are using invalid analysis intervals.
      4. Click on "Actions > Edit" for the "Upcoming activities due" model
      5. You SHOULD see a warning message stating that the analysis interval you selected is invalid. The value of the "Analysis interval" field SHOULD be empty.
      6. New model > Create model and:
        • Target: Students at risk of dropping out
        • Indicators: Any write action
        • Analysis interval: Upcoming week
        • Save changes
      7. You SHOULD see a form validation error in the field "Analysis interval", the error SHOULD state that the selected target does not work well with the selected analysis interval
      8. Now select "All previous quarters" for the "Analysis interval" field and save changes
      9. "Actions > Edit" for the students at risk model you just created
      10. You SHOULD see the following options: "All previous quarters", "All previous tenths", "From start to end", "Last quarter", "Last tenth"
      11. Go to site admin > analytics > analytics models
      12. Click on "Actions > Edit" for the "No teaching" model
      13. You SHOULD see two options under "Analysis interval", an empty one and "From start to end"
      Show
      Before upgrading Log in as admin Go to site admin > analytics > analytics models Click on "Actions > Edit" for the "Upcoming activities due" model Select "Past quarter" and save changes. You can upgrade now Log in as admin Go to site admin > analytics > analytics models You SHOULD see a warning message stating that some of the models in your system are using invalid analysis intervals. Click on "Actions > Edit" for the "Upcoming activities due" model You SHOULD see a warning message stating that the analysis interval you selected is invalid. The value of the "Analysis interval" field SHOULD be empty. New model > Create model and: Target: Students at risk of dropping out Indicators: Any write action Analysis interval: Upcoming week Save changes You SHOULD see a form validation error in the field "Analysis interval", the error SHOULD state that the selected target does not work well with the selected analysis interval Now select "All previous quarters" for the "Analysis interval" field and save changes "Actions > Edit" for the students at risk model you just created You SHOULD see the following options: "All previous quarters", "All previous tenths", "From start to end", "Last quarter", "Last tenth" Go to site admin > analytics > analytics models Click on "Actions > Edit" for the "No teaching" model You SHOULD see two options under "Analysis interval", an empty one and "From start to end"
    • Affected Branches:
      MOODLE_38_STABLE
    • Fixed Branches:
      MOODLE_38_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-65633_master

      Description

      The list of time-splitting methods you can select for a model includes all the time-splitting methods in the system. Some time-splitting methods do not make sense for some targets and our UI still allow these combinations. This is confusing and leads to wrong uses of the system

      A possible solution for this is to allow targets to specify a set of time-splitting method interfaces or parent classes so the choices in the time-splitting select menu are limited to the ones that match the specified interfaces.

      The important point to discuss is the upgrade path. i.e. what should we do with models in the database whose time-splitting method will be invalid according to these new limitations imposed by the model targets? My best proposal is to disable them and remove the existing time-splitting method value as their state will be incorrect according to the new limitations. This proposal is based on the assumption that most models will not work anyway using incorrect time-splitting methods.

      Most (if not all) the time-splitting methods in core already extend different base classes so this issue should be quite simple. A review and classification of the existing time-splitting methods and also potential new time-splitting methods should be part of this issue as one of the riskswe have is that we could limit too much what people can do. For example, if we limit students at risk to time-splitting methods that split the course in parts we won't allow someone to write a new time-splitting method that generates predictions for students at risk targets 34 days after the course start.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  18/Nov/19

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 5 hours, 10 minutes
                  1d 5h 10m