Totara 12 will no longer be fully supported from October 2023. Urgently consider upgrading to a later version.
Help documentation for up-to-date versions is available here.
Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Totara program management supports the creation of adaptive learning paths, where completion dependencies can be defined and the order and flow of the competencies and courses learners complete can be controlled.
A program includes completion dates and time frames for enrolled learners to complete each stage of the program. Personalised and customised messages and reminders can also be configured to be automatically sent to enrolled learners and their managers.
Learners can be enrolled in a programs based on their organisation, position, management hierarchy, individually or via an audience, with different completion criteria set for each group if required.
Widget Connector | ||
---|---|---|
|
Creating a program
- Select Programs from the Site administration menu.
- Select Add a new program.
- Complete the Details section.
- Add program Content.
- Add program Assignments.
- Create program Messages as required.
- Select Save changes.
Alternatively, site administrators, site managers and course creators can create programs via the Course Catalogue:
Go to the Course Catalogue via Find Learning within the top navigation
Select Create and choose Program from the dropdown list.
Complete the Details, Content, Assignments and Messages sections as required.
Click Save Changes.
Widget Connector | ||
---|---|---|
|
Editing a program
Once a program has been created it is still possible to make changes by editing the program, although be aware that if a program is live, any changes made will impact on the assigned learners.
- Go to Programs within the Site administration menu.
Select the name of the category (or sub category) in which the program sits
- Select the corresponding Settings icon (
Image Removed) for the required program, or select the program name to open it, then select Edit program details.
- Edit the program Details, Content, Assignments and Messages as required, as described below.
- Select Save changes on each page to save any edits or Cancel to disregard.
A program can also be deleted, moved up or down the program listing page, hidden, or moved to another category within the category program listing using the corresponding Edit icons.
Image Removed
The Details section includes basic information about the program and core settings for display and availability.
Setting
Description
Notes
Select which course category the program should sit under.
The category selected has no impact on which courses can be selected within the program and is for site organisation and navigation purposes only.
The name or title of the program.
A program ID can be used to match external systems for data exchange purposes.
Set a date from which the program is available to learners.
After the date specified, the program will not appear on any program listings or be accessible, except to administrators.
The summary or program description text is displayed in the search program page and when a learner is viewing the details of the program.
The program endnote displays when the learner has completed the program.
Select which group of users can see the program in the Course Catalogue and within any list of program. Choose from:
- All users
- No users
- Enrolled users only, or
- Enrolled users and members of the selected audience(s).
Please see Audiences for more information on creating audiences.
Audience-based visibility must be enabled via Advanced Features for this option to to display.
Add new icons via Courses > Custom icons under the Site administration menu.
Graphic files will be resized to 35 x 35 pixels automatically.
When enabled users can submit extension requests for this program, which can then be approved or denied by their manager.
Program extension requests need to be enabled on the Advanced features page to be able to allow or disallow program extension requests for a program.
Image Removed
Adding program content Program content can include any set of courses or competencies within a Totara Learn site. Sets can be created from adding courses, selecting a predefined competency or setting up a single course with a recurrence.
Adding sets of courses or competencies creates the learning path of the program. Once multiple sets have been created, set dividers are employed to allow the creation of sequences or dependencies between each set.
Once the learning path has been finished, the learner has completed the program.
Info |
---|
An example program with four course sets defined could have dependencies as follows:
|
Image Removed
When adding content to a program, open the Content tab in the relevant program and follow the below steps:
If
Then
- Select Set of courses from the Add a new dropdown menu and click Add.
- Browse through the course categories or Search for a specific course.
- Click on the name of each course to be added.
- Selected course(s) appear in the Items to add area.
- Click Ok to complete the course selection or Cancel to exit.
- Complete the course set settings as described below.
- Repeat steps 1-6 to add another Set of courses.
- Select Save changes.
Select courses in the order they should appear in the set
A delete icon to remove a course from the program selection will appear on hover over.

- Select Competency from the Add a new dropdown menu and click Add.
- Browse through the competency framework(s) or Search for a specific competency.
- Click on the name of the competency to be added.
- The selected competency will be displayed at the top of the dialogue box
- Click Ok to complete the competency selection or Cancel to exit.
- Complete the competency settings as described below.
- Repeat steps 1-6 to add another Competency.
- Select Save changes.
Courses linked to the selected competency will automatically be added to the set.

Image Removed
A program can only have one recurring course and no other courses or competencies can be added.
- Select Recurring course from the Add a new dropdown menu and click Add.
- Browse through the course categories or Search for a specific course.
- Click on the name of the course to be added.
- The selected course will be displayed at the top of the dialogue box
- Click Ok to complete the course selection or Cancel to exit.
- Complete the recurring course settings as described below.
- Select Save changes.
Please see Recurring Courses to learn more.
For training programs that require more sophisticated learning paths and should be run within the same course environment each time, the Certifications functionality should be employed.

Image Removed
Info |
---|
If a learner has already completed a course included in the program content, it will recorded as complete within the program. The program enrols the learner into the course, then checks for completion; the program itself has no effect on the completion record. |

Set dividers
When adding multiple sets of courses or more than one competency to a program, conditional dividers or access rules can be added between sets. Choose from:
- Or: Learners can either complete the learning in the first course/competency set or the second course/competency set. The learning of both course/competency sets is available at the same time.
- Then: Learners must complete the first course/competency set before being given access to the second course/competency set.
- And: If both course/competency sets need to be completed.
Set dividers are shown in a Program summary page and the Current Learning block.
Image Removed
Image Removed
Setting
Description
Notes
Set names are designed to aid the learner's understanding of the learning path. For example the first set of courses could be called 'Phase One - Induction' and the second set of courses 'Phase Two - Health & Safety'.
Learner must complete
Choose from:
- One course: Only one course in the set needs to be completed.
- All courses: Every course in the set must be completed.
- Some courses: Choose a number of courses that must be completed (but not all courses)
- All courses are optional: The user does not have to complete any courses as all are optional.
If Some courses is selected, additional fields to set the completion criteria will become editable. These fields are the Minimum courses completed, Course score field and the Minimum score.
These fields are all locked when selecting All courses or One course as the completion of the selected courses will be the completion criteria.
A minimum score that must be reached for the course set to be marked as complete. The score is calculated by summing the values from the Course score field for all the courses a user has completed.
The selected Course score field must contain a whole number (e.g. 1, 10, 15 etc).
For example, a 'Credits' custom field could be added to all courses so that a course set will be marked as complete once a certain number of credits have been achieved.
This value indicates a minimum amount of time that a user might realistically need to be able to complete the course set. It is used to determine if the completion period set on the assignments tab is realistic for a particular group of users. If the assignment is not realistic, a time allowance exception will be generated and the user will not be assigned to the program until the exception has been resolved.
For example, consider a program consisting of a single course set with a minimum time required of 10 days. If a user was assigned with completion criteria that required them to complete it in less than 10 days, then it would raise an exception report for that user.
When using completion criteria relative to a user, it is possible for some users to generate exceptions but not others. For example, when using the days since first login criteria, each user would have their own deadline that may or may not be realistic.
When multiple course sets exist in a program the overall minimum time required for the program is calculated based on the worst-case scenario taking into account the course set logic. For example if a program consists of:
Course set1 [10 days] THEN Course set2 [5 days] OR Course set3 [7 days]
then the overall time allowance would be 17 days.
This minimum time value is also used to determine when the 'Course set due message' and 'Course set overdue message' should be sent.
Setting this does not mean the user only has a certain amount of time to complete a course set, nor does it set or affect the program due date.
This does not determine the maximum time allowed to complete the course set and setting this does not set a due date.
It is used to generate exceptions when a completion date set in the Assignments tab is insufficient and is used to automatically set a sufficiently generous due date when resolving time allowance exceptions using the Set realistic time allowance action.
The courses included within a course set are displayed. Additional courses can be added via the Add courses button and courses removed using the corresponding delete icon (Image Removed)
Image Removed
Setting
Description
Notes
Set name
Provide a title or short description for the recurring set.
Setting this does not mean the user only has a certain amount of time to complete the courses linked to the competency, nor does it set or affect the program due date.
This does not determine the maximum time allowed to complete the courses and setting this does not set a due date.
It is used to generate exceptions when a completion date set in the Assignments tab is insufficient and is used to automatically set a sufficiently generous due date when resolving time allowance exceptions using the Set realistic time allowance action.
All listed courses will need to be completed to complete the competency set.
For more information on competency frameworks and linking courses to competencies, please see Competency Hierarchies.
Image Removed
Setting
Description
Notes
Set name
The name or title of the recurring course.
Setting this does not mean the user only has a certain amount of time to complete the selected course, nor does it set or affect the program due date.
This does not determine the maximum time allowed to complete the course and setting this does not set a due date.
It is used to generate exceptions when a completion date set in the Assignments tab is insufficient and is used to automatically set a sufficiently generous due date when resolving time allowance exceptions using the Set realistic time allowance action.
Course creation defines when the course should be copied and recreated. It relies on the start and end date specified in the course settings.
Image Removed
Note |
---|
If a learner has been previously marked as having completed the program and new courses are subsequently added, or the learning path is changed to a Then set divider, a learner will not need to go back and do these additional courses because they've already been marked complete for this program. |
The Assignments tab is used to select those learners who should complete the program. Users can be assigned by organisation, position, audience, management hierarchy, and/or individually.
Once learners are assigned to a program, they will be provided access to enrol in each selected course.
Image Removed
When adding learners to a program, open the Assignments tab in the relevant program and follow the below steps:
- Select Organisations from the Add a new dropdown menu and click Add.
- Click the Add organisations to program button.
- Select the required organisational framework from the dropdown box.
- Browse through the organisations or Search for a specific organisation.
- Click on the name of each organisation to be added
- The selected organisations(s) appear under the Items to add area.
- Click Ok to complete the organisation selection or Cancel to exit.
- Select All below to include all users in the hierarchy structure below the selected organisation
- Enter an Assignment due date as described below.
- Repeat steps 1-9 to add another organisation(s).
- Select Save changes.
A delete icon to remove an organisation from the selection will appear on hover over.
Organisations from different frameworks can be selected.
Image Removed
Image Removed
- Select Positions from the Add a new dropdown menu and click Add.
- Click the Add position to program button.
- Select the required positional framework from the dropdown box.
- Browse through the positions or Search for a specific position.
- Click on the name of each organisation to be added
- The selected position(s) appear under the Items to add area.
- Click Ok to complete the position selection or Cancel to exit.
- Select All below to include all users in the hierarchy structure below the selected position
- Enter an Assignment due date as described below.
- Repeat steps 1-9 to add another position(s).
- Select Save changes.
A delete icon to remove a position from the selection will appear on hover over.
Positions from different frameworks can be selected.
Image Removed
Image Removed
- Select Audiences from the Add a new dropdown menu and click Add.
- Click the Add audiences to program button.
- Browse through the audiences or Search for a specific audience.
- Click on the name of each audience to be added
- The selected audience(s) appear under the Items to add area.
- Click Ok to complete the audience selection or Cancel to exit.
- Enter an Assignment due date as described below.
- Repeat steps 1-7 to add another position(s).
- Select Save changes.
To learn more about creating audiences, please see Audiences.
A delete icon to remove an audience from the selection will appear on hover over.
Image Removed
Image Removed
- Select Management hierarchy from the Add a new dropdown menu and click Add.
- Click the Add managers to program button.
- Browse through the user list or Search for a specific manager.
- Click on the manager name(s) then choose the appropriate job assignment(s) applicable to the program assignment.
- The selected manager(s) and their job assignment(s) will appear in the Items to add area.
- Click Ok to complete the manager selection or Cancel to exit.
- Under the For column, select direct team to add the manager’s direct reports or all below to add both thier direct and indirect reports.
- Enter an Assignment due date as described below.
- Repeat steps 1-8 to add another position(s).
- Select Save changes.
Please see Job Assignments for more information.
A delete icon to remove a manager from the selection will appear on hover over.
Image Removed

- Select Individuals from the Add a new dropdown menu and click Add.
- Click the Add individuals to program button.
- Browse through the user list or Search for a specific individual.
- Click on the name of each individual to be added.
- The selected individuals(s) appear under the Items to add area.
- Click Ok to complete the selection of individuals or Cancel to exit.
- Enter an Assignment due date as described below.
- Repeat steps 1-7 to add another position(s).
- Select Save changes.
Image Removed
Image Removed
The due date for users enrolled in the program via any of the assignment types, must be set using a fixed completion date or using a time relative to one of the following events:
- First login: Relative to the users first log in to the system.
- Position assigned date: Relative to the time a position was assigned to any of the users job assignments with the specified position.
- Job assignment start date: Relative to the start date field of any of the users job assignments with the specified position.
- Program completion: Relative to the time another specified program was completed by the user.
- Course completion: Relative to the time a specified course was completed by the user.
- Profile field date: Relative to the value of a date/time custom field in the users profile.
- Program enrolment date: Relative to the time a user was enrolled in this program.
Image Removed
An Assignment due date will be assigned to other users as they join the group. The actual due date cannot be changed if the user has already completed the program.
Users' actual due dates may differ from the assignment due date for various reasons, including:
- If another assignment type includes the same user, the other assignment due date may override this one.
- If this assignment has a relative due date, which is not yet applicable to the user.
- A user may have been granted an extension by a manager.
- If an exception occurred and the Set realistic time allowance action was used to resolve it.
- This assignment due date may have changed, but the user still has the due date that was originally given to them.
- This is a certification, and the due date has automatically been set to the expiration date.
Note that assignment due dates are recorded when the Save changes button is selected, but are not applied until the user assignments are updated. If a message indicating that user assignments have been deferred is displayed, then any user due date changes will not yet be applied.
Image Removed
Once saved, a confirmation message appears at the top of the screen.
Image Removed
Actual due date
After using the Assignment due date option to assign a due date to the group of users and saving all changes, the Actual due date column will display a link to view the specific due date for all users enrolled in the program using the corresponding assignment type.
Note |
---|
Due dates for assigned users can been extended only. If a fixed due date is set, the date change will be applied immediately. If a relative due date is set, the due date will be applied to the users as soon as it can be successfully determined. For assigned users that have been given a time exception, the program due date is not updated. |
Image Removed
Info |
---|
Learning will be made available immediately to new users once their account has been registered. Audience membership as well as audience-based enrolled learning will occur before new users first log into the platform. For existing users, audience membership and enrolment when the program user assignment scheduled task is run. |
Customised, automated messages can be created and emailed to all users assigned to a program. An optional message for the managers of each assigned learner can also be added, depending on the message type selected.
Widget Connector | ||
---|---|---|
|
When adding messages to a program, open the Messages tab in the relevant program and follow the below steps:
- Select the required message type from the Add a new drop down menu and choose Add.
- If relevant, set a time based Trigger for the message being sent
- Add a Subject line and Message body, using variables as required.
- Select Send notice to manager to send a message to the manager of a learner at the same time the learner message is sent. If a learner has multiple job assignments with more than one manager, the message will be sent to all managers.
- Add a Subject line and Message body for the manager notice, using variables as required
- Select Save changes to save the message(s).
Tip |
---|
If a subject is not provided i.e. the field is left blank, the manager subject is populated with the default language strings for each message type. |
Info |
---|
The Enrolment message and Exceptions report message is added by default for every program. The subject of the message will be displayed to recipients within their Dashboard. |
Image Removed
A message is sent to site administrators when there are new exceptions on the program. An exception occurs when the system is not able to process an action related to the program, e.g. the completion date is set for 30 days from the position start date, but this field is empty for a user assigned to the program.
Sent a certain length of time before the current course set is due. The due date is calculated by adding the course set Minimum time required to the date the user started the course set.
Sent a certain length of time after the current course set is due. The due date is calculated by adding the course set Minimum time required to the date the user started the course set.
This message will be sent whenever a course set is completed.
Variables can be inserted into the Subject and/or body of a Message so that they will be replaced with personalised or the relevant values when the message is sent. Variables should be inserted exactly as shown.
The Program Completion Editor must be enabled via Advanced Features via the Site administration menu for the Completion tab to appear.
Please see the dedicated Program Completion Editor help documentation page for more information.
Image Removed
Setting a default image for all programs
Each program within Totara Learn can be represented within the Course Catalogue by a custom image as set within the program Details. A default image, for those programs without a custom image, can be set at the site level by following the below steps:
- Select Programs from the Site administration menu.
- Click on the Set default image for all programs link.
- Drag and drop or upload an image in the Default image field.
- Select Save changes.
Program editing capabilities
It is possible to assign a variety of editing permissions within the program functionality. Any user with one or more of the following capabilities will see an Edit program details button whenever they view a program.
By clicking on this they will then see the Overview tab, followed by additional tabs based on the capabilities they have assigned to them as follows:
- totara/program:configuredetails: For the Details
- totara/program:configurecontent: For the Content tab.
- totara/program:configuremessages: For the Messages tab.
- totara/program:configureassignments: For the Assignments tab.
- totara/program:handleexceptions: For the Exceptions tab (this applies even if there are no exceptions currently).
- totara/program:editcompletion: For the Completion tab
Image Removed
Program overview report
Within the report builder it is possible to use the Program overview report source to create reports combining the status of individual completions in programs as well as the courses within those programs. This allows a report manager to configure reports of based on the user, program and course information in the report source.
To find out more about how to set up and edit a report using the program overview report source see the Managing user reports section of the Managing reports help documentation.Adding program details
Anchor | ||||
---|---|---|---|---|
|
The details section includes basic information about the program and core settings for display and availability.
Setting | Description | Notes |
---|---|---|
Category | Select which course category the program should sit under. | The category selected has no impact on which courses can be selected within the program and is for site organisation and navigation purposes only. |
Full name | The name or title of the program. | This will be displayed in the program overview area and within the Course Catalogue. |
Short name | The short or abbreviated name of the program. The display of a program short name is limited across the site. | The short name must be unique. |
ID | An optional field to provide a program ID number. | A program ID can be used to match external systems for data exchange purposes. |
Available From | Set a date from which the program is available to learners. | If Available from and Available until dates are set, learners will be able to find and enter the program during the period specified by the dates but will be prevented from accessing the program outside of those dates. |
Available Until | Set a date until which the program is available to learners. After the date specified, the program will not appear on any program listings or be accessible, except to administrators. | Messages and notifications regarding the program may still be sent after this date if, for example, you have a Due date set after the Available until date. |
Summary | The summary or program description text is displayed in the search program page and when a learner is viewing the details of the program. | This text can also be used within the Course Catalogue. |
Summary files | The summary file is displayed in the list of programs. | Summary files might include program descriptors or relevant images files relating to the program. |
Endnote | The program endnote displays when the learner has completed the program. | - |
Visibility | Select which group of users can see the program in the Course Catalogue and within any list of program. Choose from:
| Please see Audiences for more information on creating audiences. Audience-based visibility must be enabled via Advanced Features for this option to to display. |
Current icon | Choose a program icon from the available list. Icons can be displayed within program lists and within the Course Catalogue. | Add new icons via Courses > Custom icons under the Site administration menu. Graphic files will be resized to 35 x 35 pixels automatically. |
Image | Choose an image to associate with the program. | This image will become the background image if this program is added as a program tile in a Featured Link Block and within the Course Catalogue. |
Tags | Associate tags to the program. | Tags can be added as filters or search terms within the Course Catalogue. |
Allow extension requests | When enabled users can submit extension requests for this program, which can then be approved or denied by their manager. | Program extension requests need to be enabled on the Advanced Features page to be able to allow or disallow program extension requests for a program. |
Custom fields | Any custom fields that have been added to the site for programs will be displayed here. | Program custom fields can be added via Programs > Custom fields from the Site administration menu. |
Editing a program
Once a program has been created it is still possible to make changes by editing the program, although be aware that if a program is live, any changes made will impact on the assigned learners.
- Go to Programs within the Site administration menu.
Select the name of the category (or sub category) in which the program sits
- Select the corresponding Settings icon (
Image Added) for the required program, or select the program name to open it, then select Edit program details.
- Edit the program Details, Content, Assignments and Messages as required, as described below.
- Select Save changes on each page to save any edits or Cancel to disregard.
A program can also be deleted, moved up or down the program listing page, hidden, or moved to another category within the category program listing using the corresponding Edit icons.
Image Added
Program overview report
Within the report builder it is possible to use the Program overview report source to create reports combining the status of individual completions in programs as well as the courses within those programs. This allows a report manager to configure reports of based on the user, program and course information in the report source.
To find out more about how to set up and edit a report using the program overview report source see the Managing user reports section of the Managing reports help documentation.
Tracking and editing program completion
Anchor | ||||
---|---|---|---|---|
|
The Program completion editor must be enabled via Advanced Features via the Site administration menu for the Completion tab to appear.
Please see the dedicated Program Completion Editor help documentation page for more information.
Image Added
Setting a default image for all programs
Each program within Totara Learn can be represented within the Course catalogue by a custom image as set within the program Details. A default image, for those programs without a custom image, can be set at the site level by following the below steps:
- Select Programs from the Site administration menu.
- Click on the Set default image for all programs link.
- Drag and drop or upload an image in the Default image field.
- Select Save changes.
Program editing capabilities
It is possible to assign a variety of editing permissions within the program functionality. Any user with one or more of the following capabilities will see an Edit program details button whenever they view a program.
By clicking on this they will then see the Overview tab, followed by additional tabs based on the capabilities they have assigned to them as follows:
- totara/program:configuredetails: For the Details
- totara/program:configurecontent: For the Content tab.
- totara/program:configuremessages: For the Messages tab.
- totara/program:configureassignments: For the Assignments tab.
- totara/program:handleexceptions: For the Exceptions tab (this applies even if there are no exceptions currently).
- totara/program:editcompletion: For the Completion tab
Image Added
Scheduled tasks
There are a number of scheduled tasks that take place as part of program management.
Scheduled task | Purpose |
---|---|
Deferred program assignments changes | Processes any program assignments that have been deferred. |
Program availability checks | Checks availability according to available from and to settings and marks the program as available or not available. |
Clean enrolment plugins in programs | Removes instances of totara_program enrolment plugins in courses that are not in course sets. |
Program completions | This task checks every completion record to ensure that course completions that are processed outside of normal completions processes (such as using the course completion editor) are included in the program completion. |
Copy recurring courses in programs | Makes a backup of any courses that are part of recurring course programs. |
First login program assignments | Makes program assignments for any assignment type that requires a date that cannot be obtained when program is setup (e.g. completion 6 months from first login). |
Program recurrence history | Fixes up completion history for courses that are recurring and have been completed (see comment in totara/program/classes/task/recurrence_history_task.php) |
Program recurrence | Removes assignments to programs so they can be reassigned for recurring programs. |
Send messages related to programs | Sends messages setup in the messages tab of programs. |
Switch recurring courses in programs | Switches out recurring courses that were backed up by Copy recurring courses in programs task. |
Program user assignments | Checks that program user assignments are correct (and assigns or unassigns as necessary or raises exceptions if issues are found). |
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Panel | ||||
---|---|---|---|---|
| ||||
|