Simultaneous Enrollment
Table of Contents
Simultaneous enrollment
There are potential situations where there are multiple students enrolling to a same Course at the same time. This results in a high volume of requests, which may lead to error.
As of v3.11.4, the enrollment wizard is enhanced to automatically retry and enroll the students to the Course again.
When the enrollment wizard encounters a high volume of requests, a warning message "This may take a little bit longer due to high volume of requests." will be prompted.
The enrollment wizard will retry the request, until:
- It succeeds in enrolling the student to the Course, OR,
- The available places in the Course have ran out,
- The "Join Waiting List" button has been removed to standardize the process of handling retry for enrollment.
OR,
- The "Join Waiting List" button has been removed to standardize the process of handling retry for enrollment.
- it reaches the maximum attempts configured (more details below on how it works).
How does simultaneous enrollment work?
The locking mechanism for enrolling to Courses is enhanced to handle simultaneous enrollment.
The enrollment wizard will automatically retry to enroll the student based on the configured maximum number of attempts.
A few configurable options are introduced to the RIO Ed - My Program (Aura) and RIO Ed - My Pathway (Aura) components:
- Enrollment Retry Max Attempt - The maximum number of retry attempts for enrolling to a Course.
- Enrollment Retry Incremental Time (Sec) - The retry interval for each attempt in seconds.
The formula below is used to calculated the maximum retry attempts required for all seats to be taken.
(Note: When more seats capacity are offered in a Course Offering, the max attempt required for all seats to be taken will also be higher.)
Looking at an example for Course A and Course B:
- Course A - 20 seats are offered.
Thus, the maximum attempt to reach full capacity will be 20/5 = 4 attempts.
- Course B - 100 seats are offered.
Thus, the maximum attempt to reach full capacity will be 100/5 = 20 attempts.
(Note: Both of the values above are calculated based on the worst case scenario by assuming the number of simultaneous enrollment is more than or equal to the seats offered.)
After deriving the value for X, we can then conclude the following.
Based on the logic above,
- Course A - Require 4 max attempts to reach full capacity.
This indicates that within 4 retry attempts, the enrollment will be finalized for all students.
(Note: The term "finalized" here is referring that some of the students will have successful enrollment, and the remaining of them will be prompted with a "Max Capacity Reached" message.)
- Course B - require 20 max attempts to reach full capacity.
This indicates that after the 10th retry attempts, the system will prompt the remaining students to try again.
Notes on simultaneous enrollment
1. Is it necessary to increase the default RA to match the value in X?
Configuring a higher RA value to match the value in X is not necessarily a best practice.
Looking at an example below for Course B,
X = 20. By setting RA = 20 will mean higher waiting time for students to finalize their course enrollment.
Therefore, it is okay to have lower value of RA to reduce the loading time for students. In exchange, some students will be prompted to try again.
2. Is it possible to configure the prompt message for students to try again?
Yes, it is possible to customize a message to prompt the students to try again.
For example, the default error message is "Unfortunately, there are too many requests at the moment. Please try again later.", but you can customize this message, by updating the "Enrollment_Errors_For_Retry" custom label (only available in v3.12 and above).