Site administrators create a new program with a single path for learners. The site administrator chooses the courses and/or competencies with linked courses that the learner is required to complete, as well as the time frame and the order they must be completed in. 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). Over time, when new staff members are hired, they are automatically assigned based upon their affiliations.
The learner receives a notification when they are assigned to programs, have upcoming due dates, or overdue work to complete. The learner works through the courses in the order the site administrator specifies. 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 the learner has completed coursework required for completion, Totara will immediately check to see if the course completion rules have been met. Course and program status will be updated in reports, including the learner’s Record of Learning and Required Learning pages.
Learners are enrolled for 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 goes to their 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.
If the users' assignments have unresolved exceptions that they will be unable to access the program, or gain access to any courses they have not already been 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.