Moodle Plugins directory: Restriction by relative date | Moodle.org
Restriction by relative date
Relative dates are experimental since Moodle 3.8 but are only implemented in the Assignment activity and the Weekly course format. If you want to use relative dates in other parts of a course, you can use this plugin.
This availability condition makes it easy to show modules or sections only x minutes/hours/days/weeks/months
- before/after course start date
- before/after course end date
- after user enrolment date
- after enrolment method end date
- after the completion of an activity
Using Restriction sets, it is easy to make a resource available for a limited relative time.
Check the global documentation about availability conditions : https://docs.moodle.org/en/Conditional_activities_settings
Installation:
- Unpack the zip file into the availability/condition/ directory. A new directory will be created called relativedate.
- Go to Site administration > Notifications to complete the plugin installation.
Warning
This plugin is 100% open source and has NOT been tested in Moodle Workplace, Totara, or any other proprietary software system. As long as the latter do not reward plugin developers, you can use this plugin only in 100% open source environments.
- after enrolment method end date
- after the completion of an activity
I have moodle version 3.9
All features are only available in the latest versions of Moodle. There is only security support for 3.9 until end 13 Nov 2023 so I see no reason to add the enhancements to an almost obsolete version.
R
Are you working (or at least planning to work) on an option "before" for the "user enrolment end date" and the "enrolment method end date"?
Thank you in advance for your response.
Gabrielle Guevara
on this moment there is no budget nor time for this implementation. It is somewhere planned, but far far away.
Perhaps you can create an issue in the tracker and collect some votes (it always helps when more 10 people ask for a new feature).
R
Antes de nada enhorabuena por su trabajo.
Quería preguntar cómo puedo hacer la siguiente configuración:
Tengo un curso que se abona mensualmente y cada mes se abre un cierto contenido,
Lo que quería hacer es que si un alumno no abona una mensualidad no tenga acceso al contenido del mes que no ha abonado. No sé si me explique bien...
Un saludo y gracias
Tal vez el plugin https://moodle.org/plugins/availability_gwpayments es una solutión?
Is it possible to modify this plugin to be usable with the Auto Enroll plugin, to enroll "new" users to some mandatory courses?
I mean, if the users createDate (we got this attribute from AD) information is relative new (eg. in the last 30-60 day), he/she needs to enroll to course X.
Now the plugin doesn't check this user attribute so we could not configure it.
this is an availability restriction plugin and not an enrollment plugin. If the auto enroll would add the correct start date from your AD, then this plugin let you restrict activities and section based on this start date.
So you have to modify your auto enrol plugin.
R
I have to explain it
The basics:
I'd like to restrict something based on users first login into Moodle. Eg, in the first 30 days after his/her first login he/she can reach activity A, but after 30 days only activity B. Your plugin can do most of it, but we cannot check the first login date (I called it: createUser attribute), only the enrollment date.
I think, the user's enrollment date of a course belongs to that user - and the first login date belongs to him/her, too. I mean, this two informations are not so different. So I think, it is possible to modify your plugin to check that information, too. And I think, it would not be so hard to do that modification.
(And some words about enrollment. There is this plugin: AutoEnrol ( https://moodle.org/plugins/enrol_autoenrol ). It can automatically enroll users based on some criterias. And I can filter enrolling users using availability restrictions. So if your relative-date restriction plugin could check createUser date, I could enroll users based on their first login using these 2 plugins working together.)
feature requests are made on GitHub (https://github.com/ewallah/moodle-availability_relativedate/issues).
We tried already to implement that feature. But it was not working as expected. We tried out to hide an activity 5 minutes after first login. But It is never clear when this first access is set in the database.
It did work when the user logged in - logged out and logged back in, or when the user accessed an activity, then the restriction worked as expected. But when the user did nothing during the first 5 minutes, the first access field was not yet set, so the restriction did not work.
When features are not working as expected in all situations, it is better to drop the idea.
R
How would you handle combined restrictions (group = group1 AND 3 days before end of course)?
And what happens if a course/section/module is unhidden, then the availability changes, so on that moment everything has to be recalculated again.
So my answer is no, your problem should be revolved for every access restriction available in Moodle, and the huge amount of calculations and energy needed, makes it highly improbable it will ever be implemented or even work.
- after enrolment method end date
- after the completion of an activity
I have moodle version 3.9
So bad
I can't see
You cannot see "after completion of an activity" because you did not enable completion tracking in your course (or site)