RIO Education 3.21 Release Notes
Enhancements, new features, and bug fixes
Table of Contents
Info
If a specific enhancement or new feature requires configuration, the notes will mention:
- the upgrade notes (steps),
- the components ("RIO Ed - Aura"),
- the attributes (configurable settings), and/or,
- the custom metadata type.
Otherwise, if there is no mention on configuration, attributes, RIO Ed - Aura components, or upgrade notes for a specific enhancement, this means that specific enhancement is automatically available upon installing this new version.
No configuration is needed for a new feature unless stated otherwise.
For more information on installing or upgrading your RIO Education version, head here.
3.21
Release date: 17th October 2025
3.21 New Install
https://install.rioeducation.com/products/RIO_Education/3.21
3.21 Upgrade
https://install.rioeducation.com/products/RIO_Education_Upgrades/latest/v3_21
Before you upgrade
-
If you have not already enabled LWS in your instance, make sure to enable it. See here for more details.
- We recommend you to test new versions in a sandbox first (according to your own test cases), before rolling it into production.
- It is important to review the upgrade plans and the metadata to be applied before performing any action, as we do not support rollback.
< Please expand to read this, if you are directly upgrading from pre-3.12 >
If you are directly upgrading from pre-3.12, make sure to carry out upgrade tasks for the following items below:
ISS-001139 Lightning Web Security readiness for LWC and Aura
Due to the enforcement of Lightning Web Security (LWS), all following Javascripts library used in RIO Education have been upgraded to the version that compatible with LWS:
- FullCalendar
- Jquery
- moment.js
- chartJs
Hence, the LWS needs to be enabled in your Salesforce instance in order for the Appointment Scheduler, Session Scheduler, and Calendar to work properly.
If you still have customized Aura components that utilize third party Javascript library that are not compliant with LWS, it is recommend not to upgrade to this version until the Salesforce Summer'23 release which would have LWS for Aura supported as general release. Please refer to Salesforce release schedule for more info.
Please note that it is important to test the upgrade in sandbox first before rolling out to production to avoid any unforeseen issues.
As part of the change, the following settings have been replaced with the new settings from FullCalendar v5:
Setting | Legacy Value | New Value |
Calendar Weekly view | agendaWeek | timeGridWeek |
Resource Timeline Weekly view | timelineWeek | resourceTimelineWeek |
Resource Timeline Daily view | timelineDay | resourceTimelineDay |
Resource Timeline Monthly view | timelineMonth | resourceTimelineMonth |
Today button | cToday | today |
Resource Timeline Daily view | cTimelineDay | resourceTimelineDay |
Resource Timeline Weekly view | cTimelineWeek | resourceTimelineWeek |
Resource Timeline Monthly view | cTimelineMonth | resourceTimelineMonth |
If you have customized the Appointment Scheduler or Session Scheduler app page, please follow the steps to update the settings manually:
-
Appointment Scheduler:
- Default Calendar View: agendaWeek > timeGridWeek
- Default Calendar View: agendaWeek > timeGridWeek
-
Session Scheduler:
- Calendar Header Button (Left):
- timelineWeek > resourceTimelineWeek
- timelineDay > resourceTimelineDay
- timelineMonth > resourceTimelineMonth
- Calendar Header Button (Center):
- timelineWeek > resourceTimelineWeek
- timelineDay > resourceTimelineDay
- timelineMonth > resourceTimelineMonth
- Calendar Header Button (Right):
- timelineWeek > resourceTimelineWeek
- timelineDay > resourceTimelineDay
- timelineMonth > resourceTimelineMonth
- These custom buttons are obsolete:
- cToday
- cTimelineDay
- cTimelineWeek
- cTimelineMonth
- Please replace them with today, resourceTimelineDay, resourceTimlineWeek, and resourceTimelineMonth respectively.
- The "prev" and "next" button cannot be placed next to "title" anymore due to the change of CSS on FullCalendar v5.
- For example, you will need to remove “prev” and “next” from the Calendar Header Button (Center) and leave it with just “title”.
- Then, in the Calendar Header Button (Left), key in “today prev,next”. This will display the button for you to click and view future and previous days/weeks.
-
If you have a customized Session Scheduler page, make sure to check that all attributes (e.g. field sets, info popups) are present after upgrading.
- It is best to keep track of your attributes on the RIO Ed - Session Scheduler component before upgrading, so that you can update them if any are missing after upgrading.
- Calendar Header Button (Left):
ISS-001528 Simplify Grade Management
This is ONLY APPLICABLE if you are using grade settings at the university department and academic program level before v3.12.
Since grade settings are now only at the educational institution from v3.12 onwards, existing grade settings at university department and academic program levels need to be modified.
If you are upgrading from before version 3.12, you will need to do some manual upgrade steps. Please take note that it is recommended to perform this upgrade task before or after the grading and grade release period to avoid any data integrity issues.
The upgrade task involves updating the following fields:
- Grade Setting - Grade Setting Type field (formerly called Grade Setting Scope).
- Course - Grade Setting Type.
Please follow the following upgrade steps:
1. Navigate to the Grade Settings tab.
2. Create a new list view and include the following fields:
- Name
- Grade Setting Type
- Educational Institution
3. Review the Grade Setting records:
- If the “Grade Setting Type” field for all records is “Educational Institution”, complete only step #4a. Please ignore the rest of these steps.
- If some “Grade Setting Type” have “University Department” or “Academic Program”, please complete all steps.
4. Go to Setup > Picklist Value Sets, and find the Grade Setting Scope picklist values.
- Deactivate the University Department and Academic Program options.
- For each unique University Department and Academic Program Grade Setting Type found on step #3b, create a new picklist value.
For example, if you have Grade Setting created under 'Department of Business' and 'Department of IT' university department, create two new picklist options: 'Business' and 'IT'.
- The new picklist options need to be added to the Course Connection Student record type.
There should be a checkbox while adding picklist options that says "Add the new picklist values to all Record Types that use this Global Value Set".
If you are not given the option to add them automatically, you will need to add that manually.
Go to Object Manager > Course Connection > Record Types, select the Student record type, select Grade Setting Type, then add the new picklist options.
5. Go back to the grade setting list view created on step #2
- Replace the “Grade Setting Type” for both “University Department” and “Academic Program” with the appropriate new values from step #4 using the list view inline editor.
- Replace the “Educational Institution” for both “University Department” and “Academic Program” with the Educational Institution record.
This can be found by the account hierarchy, or looking through the records (they should be set up in the order Academic Program > University Department > Educational Institution).
6. Navigate to Course tab.
7. Create a new list view with filter “Grade Setting Type” not equal to “Educational Institution” and include the following fields.
- Name.
- Grade Setting Type.
- Department.
- (Obsolete) Grading Academic Program.
Review the course records, replace the “Grade Setting Type” with the appropriate values from step #4 using the list view inline editor.
New Features
ISS-002319 Mass Course Offering Cloning
A new wizard "RIO Ed - Term Offerings Cloning" is now available for the term page to allow admin to clone the course offerings from another terms.
See also: RIO Ed - Term Offerings Cloning
ISS-002570 Allow registrars to define a custom Total Required Credits for a Program Enrollment
A new field called Total Required Credits (Override) has been added to Program Enrollment. This allows the user to override the Total Required Credits set at the Program Plan level.
A new Total Required Credits field has been added on Program Enrollment which takes its value from the Program Plan or the override field if it is set. The Remaining Credits Required field has been updated to reference this field.
The completion logic for Program Enrollments has also been updated to respect the Remaining Credits Required. It will not be set as completed if Remaining Credits Required > 0.
In addition, if the Remaining Credits Required is set for a Program Enrollment, the completion percentage will be calculated based on the Total Required Credits vs the Remaining Credits Required, instead of the previous logic that calculates it from the related PE Groups.
See also: Completion Engine, Program Enrollment, Program Plan
ISS-002593 Session Scheduler: Option to display the session (booking) time based on the campus's time zone
Added new "Display Bookings in Campus Timezone" option to the Session Scheduler.
When selected, and when a campus is selected in the filter, all bookings will be displayed based on the Non TZ date and time fields.
Also added new "Show Timezone Indicator" option to calendar components.
See also: RIO Ed - Session Scheduler
ISS-002595 Define initial week and display week number
Three new attributes have been added to all calendar components.
- showWeekNumber
- isIsoWeek
- weekLabelFormat
These allow the user to display the ISO week number on the calendar.
ISS-002602 To have Respect User Preference option in Scheduler Template Builder
Added "Respect User Preference" option to the RIO Ed - Session Template Builder.
See also: RIO Ed - Session Template Builder
Enhancements
ISS-002338 Enable Module assessment changes to be done in academic year and simplify academic year setup for Module assessment data (move from Module to Module Offering)
A new checkbox field called Copy Course Grade Criteria has been introduced on Course Offering. Clicking this field will create child Custom Grade Criteria records for the Course Offering by cloning any child Grade Criteria records from the related Course.
Any existing Custom Grade Criteria records will be deleted.
See also: Grade Criteria
ISS-002425 Enhancement to PL_Session_TDTM
Check that there are records to be processed before running PL_Session_TDTM logic.
See also: PL_Session_TDTM
ISS-002511 Attendance Wizard - Display error for affected students
Previously, in the Attendance Wizard, if the user tried to save attendances and some had errors, a generic error would be shown at the top of the page and none of the attendances would be saved.
This behaviour has been enhanced to also show specific error messages below each of the attendances that failed, helping the user to identify and correct the issue before re-submitting.
ISS-002546 Grouping of Job Queue records that are being initiated in the same session
A new object called Job Queue Group is added to group the Job Queue records. The job queue framework is enhanced to initiate a new job queue group automatically when a new job is added to the queue via JQH_JobManager.queueJob().
See also: Queue Management System Framework
ISS-002548 Editing an auto credit transfer CC from a withdrawn source PE wipes out its results
By default, withdrawn Program Enrollments will still be allowed to contribute to Credit Transfers. Existing customers can update the Program Enrollment Status metadata to produce the same behaviour if required.
See also: Transfer Credits
ISS-002561 Attendance – Session List component to have control to show Sessions with students only
Added new option "Hide Sessions Without Students" to hide Sessions without student Session Connections.
ISS-002571 Change the default option for "Attendance Submission" to Allow Partial to support backward compatibility
The default value of the Attendance Submission field on Session has been changed to "Allow Partial".
ISS-002598 Extending Session Connection deletion upon session withdrawal to custom setting
A new custom setting checkbox field “Withdrawn Sessions delete SCs” has been introduced, similar to the existing “Withdrawn CCs delete SCs” field. The default is checked.
Previously, automations that withdraw Sessions would delete any related Session Connections, unless the Session Connection had a related Attendance, in which case the Session Connection would be withdrawn instead.
Now, when this custom setting is enabled, these automations will always withdraw Session Connections instead of deleting them, regardless of whether or not there are Attendances.
Please note that the "Delete Session Connection Upon Unallocation" setting in Student Scheduler is now obsolete and replaced by this new setting. If you have disabled this setting previously, please disable the “Withdrawn Sessions delete SCs” via Setup > Develop > Custom Settings > RIO Education Setting after the upgrade.
See also: Withdrawing or unenrolling from Courses and Sessions
ISS-002659 Associate attendance event for new student attendance
The Attendance Wizard Attendance Event checking has been enhanced. In addition to auto-setting new (unsaved) attendance records to Excused status when the session class date falls within a student’s Attendance Event (e.g., a holiday request), it will now also link this attendance record to the Attendance Event.
A new custom setting "Respect Attendance Event Status" has also been introduced. If this is enabled, then only Attendance Events with Status = Approved will be used to automatically excuse attendance and link records. Otherwise, all Attendance Events, regardless of status, will be considered (legacy behavior). This controls backward compatibility behaviour for auto-excusing attendance records.
See also: Attendance Event (object), RIO Ed - Attendance - Session List (Aura)
Bug Fixes
ISS-002239 Enrollment Wizard does not take the custom enrollment status of course enrollments into account
Added the ability to consider custom Enrollment Statuses as withdrawn in the Enrollment Wizard, allowing for re-enrollment.
Also fixed a bug where Course Offering would not get updated correctly under specific circumstances.
See Also: Student Enrollment Wizard
ISS-002298 Booking Issue data value to large breaks BATCH job
The Booking Issues field now trims extra data, showing only the latest issues up to the character limit.
See also: Session
ISS-002524 Conflict of window.addEventListener in components using fullcalendar library
The usage of window.addEventListener is removed to avoid conflict.
ISS-002540 Session Scheduler: Quick search doesn't retain the result after preview
The quick search in session scheduler is fixed to retain the quick search result after preview or refresh.
See also: Session Scheduler
ISS-002554 Error due to Missing "Unit Price Before Discount" on Checkout
Prevented Unit Price from being overridden with a null value and hitting the validation error.
See also: RIO Order & RIO Order Line
ISS-002555 Bookings is not generated correctly for Daily recurrence
The Day of Week field on Session Time is no longer always required. It will now only be required if the Recurrence is any value other than Daily.
For Session Times with Recurrence = Daily, it will be required that Day of Week is left blank.
New validation rules are added to Session Time object to validate this as well.
See also: Session Time
ISS-002560 Missing Apex Class in Managed Permission Set
Added missing _LCTRL apex class permissions to the REDU - Admin and REDU - Operation Admin permission sets
See also: RIO Education User Profile, Custom Permission, and Permission Sets
ISS-002609 Error occurred if Fee Payment's Payment Amount is empty
If a Payment has an empty Payment Amount, it will be treated as 0 when calculating funding.
ISS-002610 Update protected labels
All custom labels now have Protected = false.
ISS-002620 Missing field permissions in REDU - Student Session Select
Converted Session rollups to use System mode, and removed specific field permission checks students wouldn't have access to.
ISS-002630 Incorrect case used when comparing against object fields for cloning
Used correct case (instead of all lower case) when comparing against the result returned from REDU_Metadata_UTIL.getObjectFieldsForCloning() in the Program Plan Cloning Wizard.
ISS-002641 Missing field permission in REDU - Operation Admin
Updated the REDU - Operation Admin permission set to make sure it has all the same field permissions as the regular REDU - Admin permission set.
The default sharing setting for Booking (rio_ed__Allocation__c) for internal user is updated from Public Read Only to Public Read/Write to allow operation users to update records that are not created by them.
If you would like to keep it as “Public Read Only” or “Private”, custom sharing rule is required to grant the record visibility for the operation users to perform the action.
See also: RIO Education User Profile, Custom Permission, and Permission Sets
ISS-002642 Session Scheduler total count not reflecting filtered sessions
The Session Scheduler total count now accurately reflects filtered sessions.
See also: Session Scheduler
ISS-002648 Academic Profile Name exceeded character limit (80 chars)
A new custom setting field "Academic Profile Name Format" is introduced to replace the existing custom label PREN_ApplicationFee_TDTM_Academic_Profile_Name that store the format.
When upgrading from 3.20 to 3.21, the custom label will be copied to the new custom setting field automatically for backward compatibility. Please ensure that you validate the settings after the upgrade.
For formatting perspective, the Academic Profile name will continue to follow the format "{0} {1} Academic Profile" where:
{0} = FirstName
{1} = LastName
However, if the total length exceeds the 80 character limit, then the <Last Name> part will be truncated accordingly.
See also: Student Success: Objects and Features
ISS-002651 Session Scheduler - Double booking check could fail with "Apex CPU Time Limit" error
Moved double booking checking on the session scheduler listings away from Apex. This should reduce the amount of time spent in Apex CPU processing for large numbers of bookings.
See also: Session Scheduler
ISS-002663 Double booking across timezones won't work with different non tz Start Dates
We now query for matching Start Date Non TZ, and the date both before and after to ensure that all time zones are covered.