What are programs?

Prev Next

A program is a structured set of courses and skills that you've already created on your site. You can use programs to guide learners through pathways of related courses, with new sets of content being revealed as the learner completes prerequisite learning.

When creating a program you can add sets of courses, then configure logical relationships between those sets. To complete the program, learners will need to complete the learning according to the program's structure and requirements (see Examples for more information), within the specified time frame. Groups of learners are assigned to complete the program based upon affiliations such as the position, organisation, or management hierarchy. Audiences may also be used to enrol groups of users (e.g. all users with the position of Support Analyst who work for the Help Desk organisation).

The process

Learners receive a notification when they are assigned to programs, have upcoming due dates, or have overdue work to complete. Learners work through the courses in the order specified by the Site Administrator. Over time the learner may be assigned to new programs based on changes in their position, organisation, audience membership, or management hierarchy. A program with a recurring course will automatically create a new copy of the course and activities, then enrol and notify the learner when it’s time to complete the course again.

When a learner completes the coursework required for a course, Totara evaluates the course completion criteria. Once a course is marked complete, Totara then evaluates the learner’s progress against the program completion criteria. If all required courses within the program are complete, the program is marked complete. Course and program status updates are reflected in reports, including the learner’s Record of Learning and Required Learning pages.

Enrolment

Learners are enrolled on courses in programs when they first access the course, not when they are assigned to the program. Assigning users to a program doesn't automatically enrol them in all courses. This is because programs can have complicated course set logic, where the learner does not have access to the courses in later course sets until earlier course sets have been completed.

Instead, first access to courses is controlled by the Program enrolment plugin. When a learner first navigates to a program and attempts to launch a course, this checks whether the learner is assigned to the program, and whether the course is in a course set they actually have access to, and then enrols them in the course.

Exceptions

If the users' assignments have unresolved exceptions they will be unable to access the program, or gain access to any courses they have not already accessed through the program. Likewise, their completion state in the program will not be reviewed and recalculated while there are exception.

Once the exceptions have been resolved the user will regain access, and completion will be calculated for the user.

Examples

Within Totara Learn programs you can support multiple learning pathways with Some, All or Any number of course completions required within course sets, and Then, Or and And dividers between sets. This means Totara Learn can support scenarios such as:

  • Complete Course A, B and C, then either Course D or Course E or Course F

  • Complete two of Course A, B, C, D, E and F and Complete three of Course G, Course H, Course I and Course J

  • Complete Course A or Course B or Course C and Course D (Course D being mandatory to complete)

Within courses you can support multiple learning pathways using Totara’s conditional and restricted access functionality, limiting learners' ability to see or access specific learning content.

Managing a large number of programs and categories

If you have thousands of programs and categories on your site, you may experience performance issues when using the Manage programs page (/totara/program/manage.php?viewtype=program) via Quick-access menu > Programs

If these performance issues are making it difficult to manage your content, we recommend enabling the performance versions of the management pages. These have simplified user interfaces and some reduced functionality (you cannot reorder categories), and are focused on providing improved performance. To enable the performance versions of the course, category, program and certification management pages, set the following in config.php:

$CFG->simplified_category_management = true;


Course badge The Totara Academy has a whole course dedicated to using Programs and certifications in Totara Learn. Here you can learn more on how to use programs and certifications, see best practice, and give it a go yourself.

Join the Totara Community for more resources to help you get the most out of Totara. 


© Copyright 2026 Totara Learning Solutions. All rights reserved.