-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This plugin is aimed at course administrators (typically teachers), who want to configure the rolling availability of course activities, i.e. to "drip out" the appearance of activities such as quizzes. This has the benefit that students see a less cluttered course page and don't spend time re-visiting items. The classic example of this is to display a new quiz each day.
The Moodle function I will refer to as "availability", is also described in places as "Restrict access"
https://docs.moodle.org/en/Restrict_access_settings
Setting the availability of a course item such as the start and end dates requires multiple clicks, around 10 per item. Given a large number of course items means the task can be very time consuming and prone to inaccuracy.
"Driprelease" is a Moodle admin tool to make it easy to "drip out" quiz activities within a course given a set of start and (optionally) end dates in bulk.
It is a pure plugin for Moodle and makes no changes to core moodle. It is aimed at and tested on Moodle 4.X and works by manipulating the date availability criteria. The modifications to availability are the equivalent of going into each activity and editing the availability setting like this.
It will overwrite any existing date based availability settings.
This settings form is presented during installation
This will set the global defaults for each time Driprelease is run on a new course. These settings can be changed later by an admin from the url.
http://yourmoodle.com/admin/settings.php?section=tool_driprelease_settings
It is available only to someone with course update capability, typically an editing teacher. It can be viewed from the course admin menu as in this screenshot.
When loaded the user can set the start and end dates for the sessions, how many activities per session, what the repeat frequency of the sessions will be and if there will be a date to close availability. These values are stored on a per course basis. The first time it is accessed for a course the fields at the top of the course Repeat frequency and Activities per session will be set to global defaults.
If one of your items is not selected it will result in a session with fewer activities. For example
if a course is set for 3 activities per session and one is unselected in the first session, that session will end up with only 2 activities. To fix this, return to editing the course and move the unselected one to the bottom of the course. Then go back into Driprelease, check the sequence displayed and save.
Length in days of each session. For example if session length is 7 days and activities per session is set to 5, there would be 5 quizzes available per week.
No closing date will be set. The activity (and grade in the gradebook), will remain visible to the student. This means that as time passes the course will "fill up" with items.
Any items not selected will be hidden from student view. This may be useful if there are many more activities than are required for an overall session.
Clear the availability settings for any unselected items
Unavailable items are displayed but users cannot click into them
If there is a public holiday or some reason to interrupt the sequence of items released, check sufficient items to fill the number of days, then click the save button. Unselect all items, select the next batch of items and re-set the start date from where you want to continue making items available.
Two events are written to the standard log, Driprelease viewed, and Driprelease updated. These will appear in the logs
yourmoodle.com/report/log/index.php?id=0
as in this screenshot.
Course modules that are hidden by the availability settings will not show in the students view of the gradebook. This can be mitigated by checking the option to "Stay available after session finish"
Configuration settings can be updated by viewing the following link as admin (replace yourmoodle.org with the url of your installation.
http://yourmoodle.org/admin/settings.php?section=tool_driprelease_settings
Driprelease only manipulates the availability fields. It does not address the quiz Timing settings in any way. This is by design and it means it can be adapted in the future to modules other than Quiz.
As per Moodle development standards all strings shown to users are stored in a language file which defaults to English.
https://docs.moodle.org/dev/String_API#Overview
The default strings are stored in the file
admin\tool\driprelease\lang\en\tool_driprelease.php
[https://docs.moodle.org/dev/String_API#Overview]{.underline}
This means the interface can be translated to another language by creating a new file in the appropriate folder e.g.
admin\tool\driprelease\lang\jp\tool_driprelease.php
And adding matching strings to that file.
All dates are internationalised so switching the current language of the user will change the language (e.g. name of days and months) based on strings already stored in Moodle.
The plugin includes behat and phpunit tests. Behat tests act as if an invisible user was controlling the browser and phpunit tests run from the command line and test the API (i.e. the backend processing that does not show in the browser). These tests are run automatically every time a developer makes a new code commit through a process called "Continuous Integration" or CI .
In addition to the automated tests CI runs a sequence of other tests to check conformity with various programming standards. This has no direct functional benefit but it means the code is easier for another Moodle developer to maintain.
The source code is publicly available at the Github source code control system at
https://github.com/marcusgreen/moodle-tool_driprelease
This way of storing code means it is possible to see all changes over time and to create branches for testing before merging back with the main branch. Making the source code publicly available brings the advantage that other people can access and use it and it includes an issue tracker where people can report bugs and the process of work on solutions can be tracked.
Because Driprelease is a report it stores no personal information. When the Moodle report on privacy is run it will explicitly report that information.