⭐ Why this plugin is unlike anything else available
Per-learner delay from enrolment date — not a universal release date
▸ Moodle's built-in 'restrict by date' applies the same calendar date to every learner. Course Availability Delay triggers from the individual enrolment event: a learner who joins on day 1 and a learner who joins on day 30 both get the same N-day delay relative to their own start. Rolling intake cohorts are handled correctly with no date reconfiguration.
▸ The delay applies to course visibility, not just activity completion. The course does not appear in the learner's dashboard until their personal delay period has elapsed.
▸ Configurable per-course, per-enrolment-method, or site-wide. Each course can have a different delay period without any theme or core code changes.
How to Use Course Availability Delay
From installing the plugin through to students seeing courses unlock on their My Courses tab — here is exactly how everything works, step by step.
Install via the Quick Links Block
On your Moodle dashboard, open the AI Dashboard Quick Links block. Click Check for Updates — the block contacts lms-labs.com and shows the latest version for each plugin. Find Course Availability Delay and click Install Now (or Auto Update if already installed). The block downloads, extracts, and places the plugin in /local/courseavailabilitydelay/ automatically. On your next admin page load, Moodle prompts you to run the database upgrade — click Upgrade Moodle database now.
Note
To check for future updates, click Check for Updates in the Quick Links block at any time. A yellow badge means a newer version is available.
Navigate to Manage Rules
The Manage Rules page is your central control panel for all course delay rules.
Add a Rolling Delay Rule (Days Since Enrolment)
A rolling delay counts from each student's individual enrolment date — perfect for self-paced programs where students join at different times.
Note
The delay is calculated from the student's enrolment date, not the rule creation date. A student enrolled 10 days ago with a 7-day rule will see the course immediately.
Add a Fixed Unlock Date Rule
A fixed unlock date hides the course from all enrolled students until a specific calendar date — ideal for cohort programs with defined term start dates.
Note
Setting an unlock date in the past makes the course immediately visible for all enrolled students. Use this to quickly un-delay a course in bulk.
Bulk Import Rules via CSV
Configure delays across hundreds of courses at once by uploading a simple CSV file.
Note
Course short names must match exactly (case-sensitive) to the shortname field in Moodle. Find a course's short name at Course administration → Edit settings.
Grant a Per-User Override
Give an individual student early access to a delayed course without affecting anyone else.
Note
Overrides are per-student per-course. Granting one override does not affect any other student or any other course for that student.
Delete a Rule
Rules can be removed at any time — changes take effect on the next student page load. To change a rule, delete it and add a new one.
Verify the Student Experience
Confirm everything works as expected from the student's perspective.
Note
From the student's perspective, a delayed course is completely invisible — not locked or greyed out. This is by design to avoid confusion.
