Programs can be defined as sets of courses with optional completion order and other sequencing criteria. Organizations may refer to these as a learning path, learning plan, curricula, or certification.
Programs for Moodle is a general tool that can be used in different ways, such as:
- Bulk enrolling learners into sets of courses and establishing a clearly defined learning path with completion criteria.
- Creation of non-public course catalogue where visibility is controlled by cohort membership.
- Delegation of individual course enrolments through programs outside of the course context.
Software implementation of programs can be divided into:
- program visibility - controlling who can see a program and related courses in Program catalogue
- program allocation - granting of access to a program and its courses
- program completion - tracking of program completion and enforcing of course completion order
- program notifications
Programs can be created in system or course category context levels. By default only users with Manager and Editing teacher roles can access the program management UI.
Site managers may access the program management UI from Site administration / Programs / Program management. Other users with View program management capability can use a workaround by clicking Program catalogue link in My programs dashboard block and then Program management button in the Program catalogue.
Program management capabilities
Following capabilities are used to control access to program management:
- View program management (enrol/programs:view) - browse programs in system or course category, view program details and allocated users.
- Add and update programs (enrol/programs:edit) - create programs and update existing program settings
- Delete programs (enrol/programs:delete) - delete programs and all user allocations
- Add course to programs (enrol/programs:addcourse) - course level capability allowing user to add the course to any programs where they have enrol/programs:edit capability
- Allocate students to programs (enrol/programs:allocate) - the meaning is defined by allocation source, for manual allocation it allows user to allocate and deallocate students manually
- Manage other completion evidence (enrol/programs:manageevidence) - allows user to provide alternative completion evidence for course or course set
- Advanced program administration (enrol/programs:admin) - special capability for risky and low level operations related to programs and allocations