Programs Configuration

From MoodleDocs
Revision as of 15:09, 8 May 2025 by Tim Bahula 2 (talk | contribs) (clean up, typos fixed: inlcuding → including, anual → annual)
workplacelogo.png This feature is part of Moodle Workplace™, which is available through Moodle Certified Partners and Service Providers only.

Managing programs

You can access the management of programs via Site administration > Learning > Programs or directly via the Programs icon in the Workplace launcher.


For each active program, you will see the Program name, any assigned Tags, and Associated certifications. To the right of each program, the following actions are available:

  • Duplicate: Create a copy of the program
  • Show/Hide (not available for programs in Shared Space)
  • Archive (not available for programs that are used in certifications): See Program Archive for details
  • Users: Accounts allocated with the program
  • Progress report - see Program Reports for details

You can filter the list of active programs by Program name, Associated certification, and Tags.

To create a new program, click the +New program button. A pop-up screen will appear, prompting you to enter various program details.

  • Program name (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.
  • Program ID number A unique ID used by the Upload user tool and web services.
  • Program description A summary of the program displayed on the users dashboards.
  • Program image An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.
  • Program visibility A toggle indicating whether the program is visble on the dashboard and accessible to users.
  • Program tags Tags displayed in the active programs list.
  • Allow direct allocation If enabled, users can be allocated directly to this program.
  • Add to course groups If enabled, users will be added to a course group upon course enrolment. The group's name will match the program name and will be created automatically if it does not already exist. See also sharing content across tenants.

Programs custom fields are user-defined properties that allow you to store additional information about the program, such as the program's cost. These custom fields are managed in Site administration > Learning > Programs customs fields. Note that program custom fields are defined globally, meaning they will be available across tenants.


Program custom fields appear at the bottom of the program details form.

Program content

The program content includes courses, sets, and completion types that together form the program.

Programs - Add.png


When you select the +Add icon at the top right, a drop-down menu will appear with the following options:

New empty course

A new course is created and added to the program immediately.

Programs - Adding new course.png

The fields Course full name, Course short name, Course category, and Course category are the same standard fields used when adding new courses (Adding a new course).

The Re-calculate program completion option triggers the recalculation of the status of programs (and associated certifications) for all program users once the course has been added. The main effect of this setting is that completed programs may revert to an Open state. For more details, refer to the Program completion re-calculation section.

Existing courses

From the "Existing courses" drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.


The Re-calculate program completion option triggers the recalculation of the status of programs (and associated certifications) for all program users once the course has been added. The main effect of this setting is that completed programs may revert to an Open state. For more details, refer to the Program completion re-calculation section.

Set of courses

A course set has the following three properties:

  • Name: Provide the name of the course set
  • Courses: Select one or many courses
  • Completion type: All in order, All in any order, or At least

A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.

The Re-calculate program completion option triggers the recalculation of the status of programs (and associated certifications) for all program users once the course has been added. The main effect of this setting is that completed programs may revert to an Open state. For more details, refer to the Program completion re-calculation section.

To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!

Completion criteria

A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:

  • All in order: All courses must be completed in the specified order
  • All in any order: All courses must be completed, but in no particular order
  • At least #: At least # courses must be completed, in no particular order


Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the Main Completion selector located at the bottom right.

Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.

Course completion serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user's program as they completes course(s) within the program.

Completion tracking vs. course completion

To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program:

  • Completion tracking: This must be enabled in the course settings
  • Course completion configuration: At least one activity completion must be enabled

If either criteria is not met, a warning will be displayed in the list of courses on the program's Content tab.

Programs - Completion Tracking.png

Program details

This tab displays the same information when creating a program. All values can be edited.

Program schedule

A program schedule allows you to specify various dates relevant to the program's availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program's Schedule tab.


All date values have at least the following two absolute options:

  1. Not set: No date has been specified yet (default)
  2. Select date: You explicitly provide a date

Additional options are relative to another date, allowing you to specify the number of days, weeks, months, years, and hours. For example, a user's start date could be set to immediately after their allocation date, with a due date one month later.

Availabilty

The Availability section defines a start and end date during which a user can access the program.

  • Start date: The first date that the user can begin working on the program.
    • Not set: The program can be started at any time.
    • Select date: The program can be started on or after the selected date.
    • After user allocation date: The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user's program will start on Tuesday.
  • Due date: The time by which the user should complete the program.
    • Not set: No due date
    • Select date: The date the program is due
    • After start date: Time after the program's start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.
    • After user allocation date: Time after the user has been allocated to the program.
    • Before end date: Time before the program access ends.
  • End date: The last date that the user can access the program.
    • Not set: The program can be accessed all the time.
    • Select date: The program can be accessed until the selected date.
    • After start date: Time after the program has been started.
    • After due date: Time after the program has been due.
    • After user allocation date: Time after the user has been allocated to the program.

Allocation window

The Allocation window defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. Certifications use their own allocation date, and Dynamic rules ignore this time window.

  • Start date: The first day that the allocation can take place.
    • Not set: There is no time limit from when the program can be allocated.
    • Select date: The program can be allocated on or after the selected date.
  • End date: The last day that the allocation can take place.
    • Not set: There is no time limit until when the program can be allocated.
    • Select date: The program can be allocated until the selected date.
    • After allocation starts: The time that must pass after the allocation start date. To use this relative date option, the Allocation window Start date must be set.

Program users

The information displayed on the Users tab shows all users who have been given access to the program.


The list of users provides the following information:

  • First name / Last name: The user's first name and surname.
  • Allocation date: The date when the user was allocated to the program.
  • Due date: The date by which the user is expected to complete the program. This can either be Not set or a specific date. The date is determined by the Due date in the Availability section of the Schedule or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.
  • Allocation source: Indicates how the user was allocated to the program:
    • Manual: Allocated manually, in batch mode, or via web services.
    • Dynamic: Allocated via dynamic rules.
    • Certification: Allocated as part of a certification.
  • Program status: Indicates the user's progress of the program:
    • Open The user has not completed the program yet, and the Due date has not been reached.
    • OverdueThe user is running late in completing the program.
    • CompletedThe user has successfully finished the program.
    • Future allocationThe user's start date is set in the future.
    • SuspendedThe user's program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user's account suspension, and it is the only program status that can coexist with another status.


The following Actions are available for program users:

Action Description Allocation source
Edit allocation Managers and other users with the capability tool/program:allocateuser capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the Status to Default (Not set) or Suspended. Additionally, you can modify the Start date, Due date, and End date for the user in this program. Manual

Dynamic

Re-calculate program completion See Program completion re-calculation below. Manual

Dynamic

Certification

Program reset See Program reset below. Manual

Dynamic

Delete allocation This action removes the user and all associated data from the program. This action cannot be undone!

Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.

Manual
Progress overview This action opens a modal window that displays an overview of the program and the progress of each program set. Manual

Dynamic

Certification

The actions Edit status and dates, Reset users program, Re-calculate program completion, and De-allocate users can be applied in bulk to multiple users via the With selected users... drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.

The following actions can be applied in bulk to multiple users via the With Selected Users... drop-down menu at the bottom:

  • Edit Status and Dates
  • Reset Users' Program
  • Re-calculate Program Completion
  • De-allocate Users

The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.

Program reset

Managers or users with the tool/program:coursereset capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted.

This action cannot be undone!

The program reset functionality operates similarly to Moodle's course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.

The recertification feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).

During a program reset, course certificates are archived.

The execution of resetting a user's program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the Allocation source is set to Manual or Dynamic.

The reporting source Course reset for individual users provides detailed information about program resets.

Program completion re-calculation

When a user has completed a program and the program settings are changed afterward, their program remains in the Completed status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users.

The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.

There are three ways to achieve program completion re-calculation:

  1. For all usersWhen adding a new course or set, select the option Re-calculate program completion. This will trigger the recalculation for all users allocated to the program.
  2. For some usersGo to the Users tab inside a program and select the users whom the re-calculation should take place. Then, choose the Re-calculate program completion option from the With selected users... menu to trigger the recalculation for the selected users.
Programs - Recalc II.png
  1. For a single userGo to the Users tab inside a program. In the actions menu, select the Re-calculate program completion option to trigger the recalculation for the respective user.
Programs - Recalc I.png

Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone!

Program dynamic rules

Dynamic rules let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location


The available conditions for dynamic rules are the same as those found in the Program section of Dynamic rules. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:

  • The selected program is the current program.
  • If criteria are available, the first option will be selected.
  • Any date fields are disabled.

For example, for the condition "Users that have status 'Completed in program ...'", the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion "All of the selected programs have been completed" is selected, and the date option "Completion date on or after" is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.

Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.

Program Archive

A program is either active or archived. Active programs are currently in use, meaning learners are working through the program courses. Archived programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners and can only be viewed in historical reports.

Archived programs are stored via the Archived tab, where you have three available actions:

  • Progress report: This is the same progress report shown for active programs.
  • Restore: This action changes the program's status from Archived back to Active.
  • Delete: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.

Program Reports

From the Reports tab, you get access to the following 2 program reports:

  • Program progress: Status and progress data of all users and programs
  • Overdue programs: The same report, but already pre-filtered by programs that are running late
Programs - Program progress.png

Both reports contain the following columns:

  • Program name
  • First name / Last name
  • Allocation source: Manual, Dynamic, Certification
  • Certification name: Certification in which the programs is used, otherwise empty
  • Start date
  • Due date
  • Program status: Open, Completed, Overdue, Suspended, Future allocation
  • Program progress: In percent
  • Program completion date
  • Action: Progress overview. This shows progress details of the user using the same format as found on the Dashboard.

The Filters dropdown contains a powerful option to reduce the displayed users by specifying organisational data. You have the following options that can used stand-alone or in conjunction with the other filters:

  • Show my own direct report only: All staff that are placed one level below me in the organisational hierarchy
  • Show everybody reporting to me: All staff that are placed in the organisational hierarchy, no matter at what level
  • Customise...: You can select a department (including its subdepartments) and/or a position (including its subpositions).
Programs - Program progress filter.png

Filtering by organisation structure is particularly useful when you are dealing with very large teams in your organisation.