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§
- Code
Listing 🔒 - 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_visitalso 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 firstrequest_limit. - run 🔒
- With account linking off, a roster still wakes linked students’ registrations, and only the mails are left out.