RIO Ed - Program Discipline Course Addition Wizard
rio_ed:progDiscCourseAddition
Table of Contents
RIO Ed - Program Discipline Course Addition Wizard
Component Name | RIO Ed - Program Discipline Course Addition Wizard |
API Name | rio_ed:progDiscCourseAddition |
Type | Standalone |
Recommended Pages | Program Plan page for internal experience |
Supported In | Salesforce Internal |
Overview
Introduced in v3.20, the Program Discipline Course Addition Wizard is a new component designed to make updating Courses inside existing Program Disciplines easier.
There are two reasons you may want to do this:
- When expanding a Program Discipline to include more courses, you may need to increase the number of credits required to complete a group or even the entire Program Discipline
- When students select Program Disciplines, a set of PE Discipline and PE Discipline Requirement records are created for their Program Enrollment. So if you want to update the courses or credits they need to complete from the Program Plan, you would normally also have to update each of the students' records too.
Through the use of a Job Queuing framework, updating all of the relevant information can be queued up and performed in a few clicks.
For more details about Program Disciplines, see here.
Setup
Component
The RIO Ed - Program Discipline Course Addition Wizard component needs to be added to a Program Plan lightning page.
Custom Metadata
The Program Discipline Course Addition job metadata needs to be active in Setup > Custom Metadata > Job Queue Config.
Based on the data and custom automations in your Salesforce instance, there are 2 fields that might need to be updated: the Job Generator Batch Size and the Job Handler Batch Size.
If you are consistently hitting Apex CPU timeout errors, you may need to lower these numbers.
- Job Generator Batch Size:
- The number of Program Disciplines queried at a time when adding the course.
- By default, we set this to 20.
- Job Handler Batch Size:
- The number of student PE Disciplines updated at a time when updating student records.
- By default, we set this to 100.
Usage
Main Screen
The main screen will show any Program Discipline Course Addition Job Queues for the given Program Plan. By default, the newest jobs will be displayed at the top.
To start a new job, click the “New” button.

New Jobs
The New Job screen is split into four steps.
First, you must select the Course you want to add, and whether it is mandatory or optional.
- Course: The new Course you want to add to a Program Discipline.
- Requirement: Is the Course a mandatory course required for completion, or an optional course?

The second screen is for selecting the Program Discipline and which related information to update.
At first you will only be shown a Program Discipline lookup, but as you fill in information, other related fields will appear.
- Program Discipline: The Program Discipline to add the Course to.
- Discipline Group: The Group within the Program Discipline to add the Course to.
-
Do you want to increase the Group's Credits?: This can be used to increase the number of credits required for the Discipline Group and Program Discipline. Available options are:
- Yes, to the selected group only
- Yes, to all parent groups up and program discipline
- No
- Credits to Add: Additional credits to add based on the previous selection
- Add the Course to other Program Disciplines that have the same Group name?: This can be used to also add the Course to other Program Disciplines with the same Discipline Group name. Please note, it will only look for other Program Disciplines in the same Program Plan.

The third screen provides the option to update any active student PE Disciplines. These are the student records for any Program Enrollments that are currently enrolled in the affected Program Disciplines.
You can choose not to update these if there are no students enrolled yet, or if you only want the change to apply to new students.

The fourth and final screen shows a summary of all the options you have selected.

Once ready, click “Add Job”.
Note:
Job Queue records will be created and processed using the Salesforce Apex Queue system.
This system waits until there are available resources, and then runs in the background automatically.
Depending on how many Program Disciplines and students are affected, or how many other jobs are already running, it's possible that not all jobs will show up immediately after returning to the main page - that's okay!
The code will continue to processes and add the jobs behind the scenes. You can click the Refresh button in the dropdown menu after a few seconds and the rest of the jobs should show up.
Dropdown Menu
The dropdown menu next to the “New” button provides additional options:
Cancel Jobs
You can select Job Queues in the table, then choose to Cancel Jobs. This only works for jobs that have not started Processing.
Retry Jobs
You can select a failed Job Queue in the table to choose to Retry Jobs. From here, you will have the option to retry all of the records, or only the records that failed.
Refresh
This option can be used to refresh the list of Job Queue records. Use this to retrieve updated statuses as jobs complete, or update the queue when many jobs are being added at once and haven't all be displayed yet.
Clear All Jobs
This will delete all Job Queue records related to the current Program Plan.
Help
This will give the user a quick in-component summary of how to use the wizard.
Developer section
Attribute Name | API Name | Description |
---|---|---|
Icon | cardIcon |
Component icon (Default: standard:apps) |
Title | cardTitle |
Component title (Default: Program Discipline Course Addition Wizard) |
Job Queue Fields | jobQueueFieldsString |
Semi-colon separated list of Job Queue fields for the table. (Default: Name;CreatedDate;rio_ed__Source_Record_Name__c;rio_ed__Number_of_Records__c;rio_ed__Status__c;rio_ed__Number_of_Success_Records__c;rio_ed__Number_of_Error_Records__c) |
Job Queue Statuses | jobQueueStatusString |
Semi-colon separated list of Job Queue statuses to show in the table. (Default: Pending;Processing;Completed;Failed) |
Program Discipline Fields | programDisciplineFieldsString |
Semi-colon separated list of Program Discipline fields for the new job screen. (Default: Name;rio_ed__Credits__c) |
Debug Mode | enableDebugMode | Enable debug mode |