Skip to main content

Module enrolment_discovery

Module enrolment_discovery 

Source
Expand description

The enrolment-discovery phase: who the study registry says is on the course.

Each iteration lists the course codes that are due, triggered listings first, in batches as large as the registry takes; every module on a code shares its listing. One listing wakes the registrations of people we already have a link for and, while account linking is switched on, claims an account-linking mail for everybody else. When to list a code is headless_lms_models::credit_registration_roster_schedules.

Modules§

listing 🔒
Sending one listing request, and recording what its rosters, or its failure, say about each code.
reconcile 🔒
What one code’s roster does to the modules on it: waking linked students’ registrations and claiming linking mails for everybody else.

Structs§

CodeListing 🔒
One code of a listing request, with the modules that share its roster.

Functions§

book_listing_for_unlinked_student
Books a listing of the module’s course code for a student we hold no number for, since the listing is what mails them the link. is_visit also books the follow-up listing a visit gets. Does nothing for a linked student, or a module with no course code. The caller checks that account linking is switched on.
load_due_roster_codes 🔒
The codes whose rosters are due, triggered listings first, then by when each fell due.
load_listing_modules 🔒
Each planned request’s codes, with the modules that share each code’s roster.
plan_roster_requests 🔒
Groups due codes into requests in the order given: a code fetched alone in one of its own, the rest in batches of request_size. Keeps the first request_limit.
run 🔒
With account linking off, a roster still wakes linked students’ registrations, and only the mails are left out.