Search

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.


Creating a program

  1. Select Programs from the Site administration menu.
  2. Select Add a new program.
  3. Complete the Details section.
  4. Add program Content.
  5. Add program Assignments.
  6. Create program Messages as required.
  7. Select Save changes.

Manage programs page

Alternatively, site administrators, site managers and course creators can create programs via the Course Catalogue:

  1. Go to the Course Catalogue via Find Learning within the top navigation

  2. Select Create and choose Program from the dropdown list.

  3. Complete the Details, Content, Assignments and Messages sections as required.

  4. Click Save Changes.

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.

  1. Go to Programs within the Site administration menu.
  2. Select the name of the category (or sub category) in which the program sits

  3. Select the corresponding Settings icon () for the required program, or select the program name to open it, then select Edit program details.
  4. Edit the program Details, Content, Assignments and Messages as required, as described below.
  5. 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.

Manage programs within a category

Adding program details 

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 nameThe 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.
IDAn 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 UntilSet 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.

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 filesThe 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:

  • 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.

Current iconChoose 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.

ImageChoose 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.
TagsAssociate 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 fieldsAny 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.

Create new program Details tabs

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.

An example program with four course sets defined could have dependencies as follows:

  • From set one the learner must complete one course (course A or course B) before proceeding to set two.
  • From set two the learner must complete all courses (course C and course D and course E) before proceeding to set three or set four.
  • From set three the learner must complete one course (course F) or all courses from set four (course G and course H).


Program Content tab

When adding content to a program, open the Content tab in the relevant program and follow the below steps:

If

Then

Notes
Adding courses
  1. Select Set of courses from the Add a new dropdown menu and click Add.
  2. Browse through the course categories or Search for a specific course.
  3. Click on the name of each course to be added.
  4. Selected course(s) appear in the Items to add area.
  5. Click Ok to complete the course selection or Cancel to exit.
  6. Complete the course set settings as described below.
  7. Repeat steps 1-6 to add another Set of courses.
  8. 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.

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


Courses linked to the selected competency will automatically be added to the set.

Add competency in program

Competency set

Adding a recurring course

A program can only have one recurring course and no other courses or competencies can be added.

  1. Select Recurring course from the Add a new dropdown menu and click Add.
  2. Browse through the course categories or Search for a specific course.
  3. Click on the name of the course to be added.
  4. The selected course will be displayed at the top of the dialogue box
  5. Click Ok to complete the course selection or Cancel to exit.
  6. Complete the recurring course settings as described below.
  7. 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.

Add recurring course to program dialogue box

Add recurring courses dialogue

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.


Program Set dividers

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.

Program summary page

Current Learning block with program

Course sets

Once you have created a course set it is possible to re-order the courses using the up () and down () arrows. 

Setting

Description

Notes

Set nameTo provide a title or short description for the set, enter a Set name.

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 completedCourse 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. 

Minimum courses completed The minimum number of courses within this course set the assignees must complete for this course set to be considered complete.-
Course score fieldSpecify a course custom field which is used to allocate a score to each course in the set. This is used in conjunction with Minimum score to determine the course set's completion criteria. The selected field must have a numeric value.To create a custom course field, go to Courses and categories > Custom fields under the Site administration menu.
Minimum score

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.

Minimum time required

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.



Courses

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 ()

-

Course set example.

Competency sets

Setting

Description

Notes

Set name

Provide a title or short description for the recurring set.

-
Competency nameDisplays the name of the selected competency.-
Minimum time requiredThis value indicates a minimum amount of time that a user might realistically need to be able to complete the courses within the competency 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.

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.

CoursesThis will show all courses associated with the selected competency.

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.

Competency set in program

Recurring courses

Setting

Description

Notes

Set name

The name or title of the recurring course.

-
Course nameThis field displays the name of the selected course.Use the dropdown field to change the recurring course selection.
Minimum time requiredThis value indicates a minimum amount of time that a user might realistically need to be able to complete the selected course. 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.

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.

RecurrenceRecurrence defines the time period in which the recurring course must be repeated. Recurrence can be specified by any number of days, weeks or months.-
Course creation

Course creation defines when the course should be copied and recreated. It relies on the start and end date specified in the course settings.

-

Adding recurring course to a program

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.

Assigning learners

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.

Adding assignments to a program

When adding learners to a program, open the Assignments tab in the relevant program and follow the below steps:

If
Then
Notes
Adding learners by organisation
  1. Select Organisations from the Add a new dropdown menu and click Add.
  2. Click the Add organisations to program button.
  3. Select the required organisational framework from the dropdown box.
  4. Browse through the organisations or Search for a specific organisation.
  5. Click on the name of each organisation to be added
  6. The selected organisations(s) appear under the Items to add area.
  7. Click Ok to complete the organisation selection or Cancel to exit.
  8. Select All below to include all users in the hierarchy structure below the selected organisation
  9. Enter an Assignment due date as described below.
  10. Repeat steps 1-9 to add another organisation(s).
  11. 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.

Adding organisational assignments to a program

Organisations selected in program assignments

Adding learners by position
  1. Select Positions from the Add a new dropdown menu and click Add.
  2. Click the Add position to program button.
  3. Select the required positional framework from the dropdown box.
  4. Browse through the positions or Search for a specific position.
  5. Click on the name of each organisation to be added
  6. The selected position(s) appear under the Items to add area.
  7. Click Ok to complete the position selection or Cancel to exit.
  8. Select All below to include all users in the hierarchy structure below the selected position
  9. Enter an Assignment due date as described below.
  10. Repeat steps 1-9 to add another position(s).
  11. 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.

Adding positions to program assignments

Assigning due dates to position assignments


Adding learners by audience
  1. Select Audiences from the Add a new dropdown menu and click Add.
  2. Click the Add audiences to program button.
  3. Browse through the audiences or Search for a specific audience.
  4. Click on the name of each audience to be added
  5. The selected audience(s) appear under the Items to add area.
  6. Click Ok to complete the audience selection or Cancel to exit.
  7. Enter an Assignment due date as described below.
  8. Repeat steps 1-7 to add another position(s).
  9. 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.

Adding audience assignment to a program

Audience assignment in a program

Adding learners by management hierarchy
  1. Select Management hierarchy from the Add a new dropdown menu and click Add.
  2. Click the Add managers to program button.
  3. Browse through the user list or Search for a specific manager.
  4. Click on the manager name(s) then choose the appropriate job assignment(s) applicable to the program assignment.
  5. The selected manager(s) and their job assignment(s) will appear in the Items to add area.
  6. Click Ok to complete the manager selection or Cancel to exit.
  7. 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.
  8. Enter an Assignment due date as described below.
  9. Repeat steps 1-8 to add another position(s).
  10. 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.

Assigning managers to a program


Set direct and indirect reports for manager assignment in a program


Adding individual learners
  1. Select Individuals from the Add a new dropdown menu and click Add.
  2. Click the Add individuals to program button.
  3. Browse through the user list or Search for a specific individual.
  4. Click on the name of each individual to be added.
  5. The selected individuals(s) appear under the Items to add area.
  6. Click Ok to complete the selection of individuals or Cancel to exit.
  7. Enter an Assignment due date as described below.
  8. Repeat steps 1-7 to add another position(s).
  9. Select Save changes.
A delete icon to remove an individual from the selection will appear on hover over.

Adding individual assignments to a program

Individuals added to the program

Assignment due date 

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.

Setting completion criteria

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.

Saving program assignments

Once saved, a confirmation message appears at the top of the screen.

Confirmation of program assignment changes

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. 

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.


Relative and set completion dates for program assignments


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.

Adding program messages

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.


When adding messages to a program, open the Messages tab in the relevant program and follow the below steps:

  1. Select the required message type from the Add a new drop down menu and choose Add.
  2. If relevant, set a time based Trigger for the message being sent
  3. Add a Subject line and Message body, using variables as required.
  4. 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.
  5. Add a Subject line and Message body for the manager notice, using variables as required
  6. Select Save changes to save the message(s).

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.

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.


Program message options

Message types

Message TypeDescription
EnrolmentA message is sent to the learner when they are assigned to a program.
Exceptions report

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.

Un-enrolmentA message is sent to a learner if they are unenrolled from a program.
Program dueA message is sent to the learner a set number of days, weeks or months before the learner is due to complete the program.
Program overdueA message is sent to the learner when the program completion date for the learner has passed.
Program completedA message is sent to the learner when they complete the program.
Course set due

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.

Course set overdue

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.

Course set completed

This message will be sent whenever a course set is completed.

Learner follow-upA message is sent to a learner a set period of time after they have completed the program.

Variable substitution

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.

VariableDescription
%userfullname%Replaced by the recipient's full name.
%username%Replaced by the recipient's username.
%programfullname%Replaced with the full name of the program.
%completioncriteria%Replaced by the completion criteria set in the Assignments tab.
%duedate%Replaced by the date assigned to the user to complete the program.
%managername%Replaced by the learner's manager's name. If a learner has multiple job assignments with more than one manager, a list of all manager names will be generated, separated by commas.
%manageremail%Replaced by the learner's manager's email address. If a learner has multiple job assignments with more than one manager, a list of all the manager email addresses will be generated, separated by commas.
%setlabel%Replaced with the course or competency set label or name.

Tracking and editing program completion

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.

Program Completion tab

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:

  1. Select Programs from the Site administration menu.
  2. Click on the Set default image for all programs link.
  3. Drag and drop or upload an image in the Default image field.
  4. 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

Program overview tab

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. 

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 programsRemoves 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 historyFixes up completion history for courses that are recurring and have been completed (see comment in totara/program/classes/task/recurrence_history_task.php)
Program recurrenceRemoves 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).
On this page


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.

Provide feedback about this page using the link in the bottom right of this page. 

Still have questions? Why not post them in the forums of the Totara Community?