RIO Education 3.15 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.15
Release date: 4th April 2024
3.15 New Install
https://rioed-installer.herokuapp.com/products/RIO_Education/3.15
3.15 Upgrade
https://rioed-installer.herokuapp.com/products/RIO_Education_Upgrades/latest/v3_15
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.
Upgrade notes
ISS-001710 Community Calendar Components: Display scheduled courses that are not enrolled
In order to be able to assign Faculty members to Standalone Sessions, you will need to remove the BeforeInsert trigger action from EDA's CCON_Faculty_TDTM trigger handler.
- Trigger Action before this change: BeforeInsert;AfterInsert;AfterUpdate;AfterDelete
- Trigger Action after this change: AfterInsert;AfterUpdate;AfterDelete
- Notes after this change: Disabled BeforeInsert to allow assigning faculty to Standalone Sessions
If you are upgrading directly 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.
Bug Fixes
Bug Fix - Admission
ISS-001730 Approving transfer credits in bulk that contains partial error won't create course connection even the status changed to Approved
Previously in v3.9, when approving Transfer Credits in bulk (combination of good and bad records), the "good" Transfer Credit records which are approved will have no Course Connections created and linked to them.
The TC_LinkCourseConnection_TDTM has been updated to fix this. Removed recursive Set filter, and moved Transfer Date to BeforeUpdate if the Status is changed from non-approved to approved.
Bug Fix - Master Data Management
ISS-001807 Error prompt sporadically when viewing program structure in guest user mode
Fixed the RIO Ed - Program Structure Overview component, which previously had sporadic errors in reading the label and thus not showing the program structure.
Component now checks that the object info is available before calling the apex class and trying to update the merge fields in labels.
See also: RIO Ed - Program Structure Overview
Bug Fix - Enrollment Management
ISS-001839 Study Registration creates bad Session Connection name
Previously in v3.14, when a Study Registration creates Course Connections and Session Connections, the Session Connection name is set to [null] - [Contact Name], instead of the expected [Course Connection Name] - [Contact Name].
The Course Connection's “Name” field is an auto-number field which is generated AfterInsert.
Thus, the SR_CreateCourseConnections_TDTM has been updated to re-query the Course Connection after its creation, in order to get the Name.
ISS-001869 Program Enrollment withdrawal result in blanket Course Connection Withdrawal status update
Updated the PREN_UnenrollmentProcess_TDTM to check if there are payments made for Course Connections under a withdrawn Program Enrollment.
For example, a student withdraws from the Program Enrollment (Enrollment Status = Withdrawn).
If there is a Course Connection with Payment records, then, the Course Connection will not be withdrawn, but will have Enrollment Status = “Withdrawal Requested” instead.
ISS-001873 Program Application cancellation error
When cancelling (Status = Cancelled) a Program Application that:
- has an ended Term as its “Starting Term”,
- has a draft Program Enrollment (the “Support Pre-Acceptance Enrollment” is enabled on its Program Plan),
- and the RIO Education Setting has “Enable PE Deletion From PA” = FALSE,
then, an error will be displayed to prevent the user from cancelling the Program Application ("Planned Starting Term has already ended. Please specify a new Starting Term").
Thus, the REDU_Helper_UTIL.checkTermEndDates() has been updated to check the Program Enrollment Statuses custom metadata. It will ignore the Term dates for Program Enrollments that have "Cancelled" or "Withdrawn" status changes.
In other words, users can now cancel/withdraw from Program Enrollments, if the “Starting Term” on the Program Application is a previous Term that has already ended.
Bug Fix - Fee/Billing
ISS-001885 Withdrawal on Census Date
Fixed a previous issue where withdrawal of Programs/Courses during the Census Date does not automatically delete Fee Lines.
The CSEN_RemoveFeeLines_TDTM has been updated to only be triggered after the Census Date has passed.
Bug Fix - Schedule and Delivery
ISS-001820 Session Scheduler: Weird Week landing behavior
Depending on the local machine timezone, the Session Scheduler may load different dates and land the user in a different week when viewing the calendar.
The Session Scheduler has been updated to load the correct date, even if the GMT conversion would have push it into a different date.
ISS-001828 Unable to assign a faculty if session was saved before and after updating the schedules
Updated the Session Scheduler to prompt a warning when trying to assign faculty without bookings, if the “Show Faculty Without Allocation” attribute is not enabled.
Also added new trigger handler “BK_FacultyAttendance_TDTM”, for auto creating attendance when bookings are created/updated.
ISS-001906 RIO Ed - Attendance - Session List (Aura)
Resolved an issue related to taking attendances, where the same “Note” value inputted for one student would appear again for other students.
Fixed the notes popup windows from retrieving the previously entered data. It now will always have blank fields, unless there is existing data for that student.
Bug Fix - Student Management
ISS-001863 RIO Ed - Attendance - Session List (Aura)
Previously, after viewing a Session on the Attendance page on the Faculty Portal, opening a different Session would still display the previous Session's details.
The RIO Ed - Attendance - Session List (Aura) component has been fixed to display the correct details of the Session that is currently being viewed.
Bug Fix - Assessment and Completion
ISS-001880 Release Grades Error Handling
Added Error logging and allow partial success to the Course Offering batch release grades job.
If a handful of Course Connections have error during grade release, the rest of the Course Connections will go through with the grade release.
Admin can add a Course Connection lookup on the Error object to view the error message, context type and record Id (tab access and page layout needs to be set up for Error object).
ISS-001904 Grading Component popup window and custom fields
Resolved an issue where the pop out screen for "Request Change for Resit" was not showing the inputted value for the relevant students.
Fixed the grading popup windows from retrieving the previously entered data. It now will always have blank fields, unless there is existing data for that student.
Fixed the custom field processing delay by only copying the value to the student wrappers after the Save button is clicked.
Bug Fix - Continuing Study
ISS-001856 RIO Ed - Short Course Record Header truncating its "Registration URL" value's record id query string
When a guest user clicks “Register Now” on the RIO Ed - Short Course Header component and gets redirected to a login page, the {!recordId} merge field gets removed from the URL.
The redirect logic has been updated to keep the recordId in the URL.
Enhancements
Enhancement - Enrollment Management
ISS-001780 Course info in results tab of enrollment wizard needs to display the same fields as course info in courses tab of enrollment wizard
The fields displayed on the popup when clicking on a Course in the Enrollment Wizard are configurable, depending on what fields the admin choose to put into the Course Info fieldset.
Now, the same feature is extended to the popup in the Results tab.
The same fieldsets “rio_ed__MyProgram_CourseInfo” on the Course, Course Offering, and Plan Requirement objects are used to display the popup fields, when clicking on the courses in the Results page.
Enhancement - Schedule and Delivery
ISS-001720 Student Scheduler to handle PE Pathway
Previously, using the Student Scheduler to mass enroll students into Course Offerings could create Course Connections without linkage to PE Pathways. This may affect student fee generation, depending on the fee method that is used.
Thus, the Student Scheduler has been updated to assign a PE Pathway to students' Course Connections, whenever the user enrolls the students into Course Offerings.
See also: Student Scheduler.
ISS-001812 Session Scheduler - Icon colour enhancement
The amber colour icon for Sessions on the Session Scheduler helps to indicate that it is missing a facility and/or faculty assignment.
Due to the Winter 23 Salesforce Colour Schema change, the amber colour has deepened, which may confuse users expecting to see an amber coloured icon.
This has been fixed, and the Session Scheduler's icon colours are now hardcoded.
On a related note, the listWeek view dot colours in the Appointment Scheduler, which were incorrectly showing grey colour dots for all timeslots, have been fixed as well.
See also:
ISS-001710 Community Calendar Components: Display scheduled courses that are not enrolled
Prior to v3.15, students' calendar would only display Sessions that the student has enrolled to.
There is a need to allow students to see (on their calendar) the available Sessions and details such as dates and venue, before they enroll into it.
Thus, a new “Public Calendar Label” picklist field is introduced on the Contact and Session objects.
If the values on both fields on both records match, then, the Contact (i.e. students) will be able to view that Session on their portal calendar, even if they have not enrolled to it yet.
- Take note that the “Show Public Calendar Label Sessions” attribute needs to be enabled on the RIO Ed - Calendar (Aura) component.
Also, a new calendar (RIO Ed - Listed Sessions Calendar) has been added, which will show any Sessions specified in its sessionIds. It also comes with the same “Show Public Calendar Label Sessions” attribute.
On a separate note, a new Record Type (Standalone) has also been added for Sessions.
Sessions can now be created without requiring Courses.
To cater for Continuing Education use cases, these standalone Sessions can be linked to Study Offerings, without needing to create Courses. Students can then register for the Study Offering and enroll into the Session.
Upgrade note
In order to be able to assign Faculty members to Standalone Sessions, you will need to remove the BeforeInsert trigger action from EDA's CCON_Faculty_TDTM trigger handler.
- Trigger Action before this change: BeforeInsert;AfterInsert;AfterUpdate;AfterDelete
- Trigger Action after this change: AfterInsert;AfterUpdate;AfterDelete
- Notes after this change: Disabled BeforeInsert to allow assigning faculty to Standalone Sessions
See also:
ISS-001903 Include Contact IDs into Announcement
Previously, the Announcement record created for Session announcement broadcast only keep/use UserIds.
In order to allow integration to 3rd party apps for email and SMS channels, a new "Notification Receivers Contact Id" field has been added on the Announcement object, which can be used for tracking Contact Ids.
See also: Session notifications.
Enhancement - Assessment and Completion
ISS-001701 Grading wizard - Term Grade to support custom fields
When grading students using the grading wizard, the faculty may want to enter additional details on the Term Grade. For example, the faculty may want to add notes, or check custom flags/checkboxes.
Thus, a new fieldset “rio_ed__GradingWizard_GradingTable” has been added for the Term Grade object. Admin users may add their preferred fields that they wish to be displayed.
The grading wizard will display these Term Grade fields for users to edit.
For example, by adding the “Notes” field in the fieldset, the “Notes” field will be displayed for each student on the grading wizard for the faculty to interact with.
See also:
ISS-001702 Grading Wizard - To support grading from course offering instead of session
Previously, in order to grade students using the grading wizard, there must be Session Connection records (i.e. the students must be enrolled into Sessions).
To provide more flexibility (since a Course may not necessarily have Sessions, e.g. self-paced online courses), admin/faculty users are now able to grade students at the Course Offering level.
A new “Grade By” field has been added to the Course Offering object. This allows users to choose whether to grade students by Session, or by Course Offering.
The RIO Ed - Session Grading (Aura) component has been updated with a new attribute called “Student Course Connection Enrollment Status”.
Course Connections with the matching Enrollment Status will be displayed on the wizard, for admin/faculty to grade.
See also:
ISS-001705 Grading Wizard: Supporting non-grade grade settings
There may be use cases where faculty members would give students special "non-grade" input, i.e. “Not Attended”. These do not have grade ranges (0-100), since these are not actual grades.
Thus, the grading component has been enhanced to allow users to set statuses when grading students.
The RIO Ed - Session Grading (Aura) component has been updated with a new attribute “Show Grade Status Menu Items”.
If activated (TRUE), then, users will be able to select Grade Status from a dropdown menu and give it to the student.
The resulting Term Grade record will then contain the Grade record with that status that was selected.
See also:
ISS-001707 Grading Wizard: Support "Save and Submit"
The grading wizard can now have an indicator, to tell whether the grades entered by faculty members are still provisional (not confirmed/completed grading yet), or already confirmed.
The following new fields have been added to the Term Grade object:
Status |
A picklist field to indicate whether the faculty has completed grading.
Note: There is no logic/automation built to handle these statuses. You may either build your own logic, or, use the Status field in the approval process to lock/unlock editing the record. |
Submitted By | A lookup field to track the user who has set the "Status" to "Submitted". |
Submitted Date | Tracks the date when the “Status” is set to “Submitted”. |
The following new attributes have been added to the RIO Ed - Session Grading (Aura) component:
Show Save and Submit Button | Show/hide the new “Save and Submit” button on the grading wizard. |
Status For Save Button | The Status to be set on Term Grade records when the “Save” button is clicked. |
Status for Save and Submit Button | The Status to be set on Term Grade records when the “Save and Submit” button is clicked. |
Submit Screen Flow API Name | Custom screen flow to run when clicking “Save and Submit”. |
Note: You can build a custom screen flow when “Save and Submit” is clicked, but the flow MUST have the following variables to display:
- sessionId - String
- courseOfferingId - String
- gradingPeriod - String
See also:
ISS-001716 Grading Wizard: Additional filter option against Grading Period Setting
Different programs (e.g. Bachelors, Masters) may have different grading dates, even if they are within the same Term.
Previously, this means that each Course Offering will have its own Grading Period Setting record. The Grading Period Setting will have the dates related to the program that the Course Offering belongs to.
Now, only one (1) Grading Period Setting needs to be set up for all the Course Offerings within the same program that share the same date.
The grading wizard now contains filters, to match the correct Grading Period Setting that belongs to the Course Offering from the relevant program.
You will need to specify the Course Offering's field, and Grading Period Setting's field, to be used as filter parameters.
These new filter attributes have been added to the RIO Ed - Session Grading (Aura) component, which allows you to specify the filter criteria.
See this article for setup instructions: RIO Ed - Session Grading (Aura).
See also:
Enhancement - Student Management
ISS-001722 PE Discipline Progress
Added a new “Completion Progress” field on the PE Discipline Requirement object.
This formula field tracks the completion percentage for each PE Discipline Requirement (Group), using the formula = Credits Earned / Credits Required.
It checks how many credits has the student earned for a PE Discipline Requirement (Group) (i.e. how many courses within that group have been completed), and compares it as a percentage (%) against the total required credits for that group.
This field can be added into the "MyMajors - PE Disc Req Group Info Highlight" fieldset and exposed on the My Majors component, in order to display the completion % in the Student Portal.
See also: PE Discipline and PE Discipline Requirement.
Enhancement - Finance
ISS-001801 Override Student Fee Type from PE level
Prior to v3.15, the Student Fee Type is defined at the Contact level. The Program Enrollment will inherit this value from the Contact.
In v3.15, a new “Student Fee Type (Override)” field is introduced on the Program Enrollment object.
If a value is defined on that field, then, the existing “Student Fee Type” formula field on the Program Enrollment will inherit it. Otherwise, it will continue to inherit the value from the Contact level.
This is to cater for scenarios where the same student may have multiple Program Enrollments, and each program may have its own Fee Type. Instead of all the Program Enrollments inheriting the same Student Fee Type from the Contact, this can now be specified for each Program Enrollment.
See also: Student Fee Generation.
Enhancement - Other
ISS-001771 Attendance Register: Support Scroll-Lock on Buttons
Previously, whenever faculty users are done with marking attendances for a long list of students, they need to scroll all the way back to the top of the page in order to click on the “Save” button.
To reduce the scrolling effort, the RIO Ed - Attendance Session List (Aura) component has been updated with a new “Student List Scrollbar” attribute.
If enabled, the long list of students will turn into a separate scrollable list. The “Save” button at the top of the page will not be moved too far out of reach, since the list of students is now a separate scrollable list.
See also:
ISS-001772 Session Listed for Attendance: Support filter or searches
Added filter functions on the RIO Ed - Attendance Session List (Aura) component.
Instead of the faculty having to scroll through a long list of Sessions whenever they want to take attendance, they can now use the filter to:
- Show “Unmarked Sessions Only” (i.e. Sessions that do not have attendances taken yet).
- Search for Sessions belonging to a particular Course Offering.
- Search for Sessions according to their name.
- Search for Bookings according to their Start date.
- Note: This is a Date/Time field, and both values need to be defined.
See also:
Other
ISS-001830 Security Review issues
Updated security with a new version lodash, and the message channel is now used with isExposed = false.
ISS-001908 v3.15 Security Review
Updated classes to fix Salesforce Code Analyzer security issues.