
Program custom fields
To manage user-defined program fields, go to Site administration > Learning > Programs custom fields.
Programs custom fields work in precisely the same way as any other custom fields in Moodle, for instance, courses.
Program allocation methods
Admins can add and manage allocation sources for programs using the new Direct allocation, Self allocation, and Payment allocation methods. Once configured, users can self-enrol in programs as shown in the following example:
Program support in the learning catalogue is currently an experimental feature. To enable it, navigate to Site administration > Development > Experimental > Experimental settings and enabled the Show programs in the catalogue setting.
Once enabled, the following section will be available in the Program details:
If the Show this program in the catalogue setting is enabled, the program will automatically be associated with the tenant course category. To include this program in the catalogue, it must be linked to a category. This Category association ensures that users can easily find the program within the catalogue.
Once a Program visibility in the catalogue is enabled, you can manage allocation methods via the Allocation sources dropdown in the Users tab:
The following allocation methods are currently supported:
Direct allocation (Manual)
Direct program allocation, also known as manual program allocation, is the standard program allocation method which cannot be removed. It allows users with the correct permissions to manually enrol users to a program, for example, managers can enrol their staff or tenant admins can enrol any tenant user.
The following settings are available:
- Allow new allocations: Select whether direct allocations are enabled (Yes) or disabled (No).
- Allocation allowed from
- Not set: Allocation can take place at any time
- Select date: Allocations are allowed from the specified date
- Allocation allowed until
- Not set: Allocation can take place at any time
- Select date: Allocations are allowed untl the specified date
- After allocation starts: Specify a period relative to the allocation start date
Self allocation
Self allocation lets users enrol themselves to a program, optionally via a key.
The following settings are available:
- Custom instance name: Override the default name of the allocation method. The custom name will be displayed on the program allocation page. Defaults to the name of the allocation method.
- Show the instance name in the catalogue: If ticked, the custom instance name will be shown on the sign-up box in the catalogue.
- Allow new allocations: Select whether new users are allowed to allocate themselves to this program.
- Yes: Users who are not yet allocated to this program can allocate themselves to it.
- No: Users who are not yet allocated to this program cannot allocate themselves. Existing users already allocated to this program will remain allocated to it.
- Allocation key: Set a key that users must enter to allocate themselves to this program. Only users who know the key will be able to complete the self-allocation.
Payment allocation
Payment allocation is similar to self allocation, but with a required payment.
The following settings are available:
- Custom instance name: Override the default name of the allocation method. The custom name will be displayed on the program allocation page. Defaults to the name of the allocation method.
- Show the instance name in the catalogue: If ticked, the custom instance name will be shown on the sign-up box in the catalogue.
- Allow new allocations: Select whether new users are allowed to allocate themselves to this program.
- Yes: Users who are not yet allocated to this program can allocate themselves to it.
- No: Users who are not yet allocated to this program cannot allocate themselves. Existing users already allocated to this program will remain allocated to it
- Payment account: Select the payment account to be used for this allocation method. Payments will be processed through the chosen account. For more information on how to configure payment, check out Payment gateways.
- Price: Set the price users must pay to allocate themselves to this program. Enter the amount in the format 0.00, for example 25.00.
- Currency: Select the currency from the list.
The above configuration will result in the following payment screen:
Program categories
Programs can be linked to course categories, making them easier to find and organise. For some features to function, associating a program with a category is a pre-requisite.
Program categories are currently an experimental feature. To enable it, navigate to Site administration > Development > Experimental > Experimental settings and enabled the Show programs in the catalogue setting.
Once enabled, the following section will be available in the Program details:
If the Show this program in the catalogue setting is enabled, the program will automatically be associated with the tenant course category. To include this program in the catalogue, it must be linked to a category. This Category association ensures that users can easily find the program within the catalogue.
Additional information is shown on the courses and categories management screen (Site administration > Learning > Manage courses and categories):
The first note provides information about the number of programs that are currently not linked to any category. The note inside the selected category displays information about the number of programs containing courses of that category, linked to a category.
Program manager role
The role allows the creation and management of programs within the current tenant and allocate users to them.
The role is created automatically when Moodle Workplace is installed.
Capabilities
The following capabilities are available for handling programs:
- enrol/program:config: Configure Program enrolment instances
- enrol/program:enrol: Enrol users to the course
- enrol/program:manage: Manage enrolled users
- enrol/program:unenrol: Unenrol users from the course
- tool/program:allocateuser: Allocate users to programs
- tool/program:configfeeallocation: Configure payment allocation enrolment instances
- tool/program:configselfallocation: Configure self allocation enrolment instances
- tool/program:configurecustomfields: Configure program custom fields
- tool/program:coursereset: Reset program courses
- tool/program:edit: Edit programs
- tool/program:manageuserfeeallocations: Allows to edit and delete user payment allocations
- tool/program:manageuserselfallocations: Allows to edit and delete user self-allocations